李长银,孙学军
(临沂大学费县校区,山东 费县 273400)
计算机随着信息技术的发展被广泛的应用在不同行业中,控制计算机操作的控制软件系统的复杂度越来越高、规模越来越大,软件错误发生率也随之增加[1]。通过对嵌入式控制软件的可靠性进行分析,可以降低软件故障损失造成的影响。在软件可靠性工程中可靠性评估是核心内容,利用软件系统的相关信息对系统可靠性是否符合要求进行判断。判断软件设计是否满足要求,需要考虑控制软件可靠性是否满足规定指标的同时还要考虑控制软件是否满足功能需求。可靠性分析是运用概率论知识、人工智能和计算机技术等进行处理并分析嵌入式控制软件可靠性的过程[2]。由于应用环境和嵌入式控制软件本身的复杂性,收集高质量的相关信息是较为困难的,因此需要对嵌入式控制软件的可靠性分析方法进行研究。
文献[3]提出基于贝叶斯混合概率分布融合的软件可靠性分析方法,该方法引入融合先验分布、间接先验分布和直接先验分布对经典贝叶斯推理算法进行优化,利用优化后的算法根据底层单元的数据对嵌入式控制软件的可靠性进行分析,该方法没有分析可靠性度量参数,导致分析错误率高。文献[4]等人提出基于概率盒理论的软件可靠性分析方法,该方法对控制软件的不确定参数进行概率盒建模,离散化处理各参数概率盒,在软件可靠性方程的基础上对笛卡尔积进行计算,根据计算结果,实现软件可靠性的分析,该方法没有选取度量参数对软件的可靠性进行评估,选取的概率盒建模所用的时间较长,存在分析效率低的问题。文献[5]提出基于影响因素与灰聚类的软件可靠性分析方法,该方法在灰聚类系统理论的基础上对软件可靠性影响因素进行灰聚类计算和灰关联分析,在不同阶段中对软件可靠性进行分析,该方法在灰聚类和灰关联过程中没有引入可靠性度量参数,导致效益因子较低,存在适应性差的问题。
为了解决上述方法中存在的问题,提出基于构件技术的嵌入式控制软件可靠性分析方法。
对嵌入式控制软件的可靠性程度进行定量评价是软件可靠性度量的实质。
对嵌入式控制软件可靠性程度进行分析时软件可靠性度量是依据,通常情况下衡量嵌入式控制软件可靠性的参数通常包含以下几种:
1)可靠度R(t)
软件可靠度R(t)描述的是在规定时间段内、规定条件下完成预定功能的概率,可以描述为在规定时间内软件无失效发生的概率。嵌入式控制软件可靠性的定义通常是软件的可靠度,描述的是嵌入式控制软件在运行过程中发生失效行为的概率[6],软件可靠度可以描述为R(t)=P(T≤t)。
2)失效概率F(t)
嵌入式控制软件时效时间等于或小于t的概率即为失效概率F(t),可靠度R(t)与失效概率F(t)之间存在的关系可通过下式进行描述:
F(t)=1-R(t)
(1)
3)失效强度f(t)
失效概率对应的密度函数即为失效强度f(t),失效强度f(t)当失效概率F(t)为可微分时为失效概率F(t)关于时间的一阶导数。其表达式如下
(2)
4)失效率λ(t)
失效率描述的是在t时刻嵌入式控制软件在t时刻还没有出现失效的条件下,在t时刻后单位时间内嵌入式控制软件出现失效的概率,失效率λ(t)又称为失效强度[7],描述的是失效概率F(t)对应的条件概率密度,其表达式如下
(3)
通过下式描述可靠性与失效率之间存在的关系
(4)
5)平均失效时间MTTF
当前时间到下一次嵌入式控制软件失效时间的均值即为平均失效时间MTTF,其表达式如下
(5)
6)平均失效间隔时间MTBF
平均失效间隔时间MTBF描述的是两次相邻失效时间间隔对应的均值[8],如果从T1时刻到T2时刻嵌入式控制软件出现了n次失效,则平均失效间隔时间MTBF可通过下式计算得到
(6)
在基于构件技术的嵌入式控制软件的开发过程中,嵌入式控制软件是由连接件和构件构成的。可以用Markvo过程描述基于构件技术的嵌入式控制软件。所提方法在可靠性度量参数的基础上通过估算整个嵌入式软件中连接件和构件的平均使用次数,对嵌入式控制软件的可靠性进行分析。
当嵌入式控制软件中存在n个构件时,Rci代表的是构件Ci对应的可靠性,θi代表的是构件在嵌入式控制软件中使用的次数,Rs代表的是嵌入式控制软件对应的可靠性,其计算公式如下
(7)
嵌入式控制软件的可靠性Rs,当考虑构件和连接件的应用域时,可通过下式计算得到
(8)
用元组
可以用Markov过程描述构件组成的嵌入式控制软件
设SFR=
(9)
式中,SFInitC描述的是初态构件在嵌入式控制软件中的使用频率集;SFMC代表的是非初态构件和非吸收态构件在控制软件中构成的使用频率集;SFAC代表的是吸收态构件在控制软件中构成的使用频率集;SFNAL代表的是与非吸收态构件连接的连接件在控制软件中对应的使用频率;SFAL代表的是与吸收态构件连接的连接件在控制软件中对应的使用频率[9-10]。
访问初态构件的概率Pi决定了初态构件的使用频率FInitCi=Pi。
胜利油田全称为中国石油化工股份有限公司胜利油田分公司,其业务范围主要在山东省境内,公司主体位于黄河三角洲的东营市。按地质构造划定区域,山东省境内可供石油开发的区域主要有济阳、昌潍、胶莱、临清、鲁西南5个坳陷,目前胜利油田已取得探矿权的面积为4.89万平方公里,占5个坳陷总面积的74.9%。济阳坳陷和渤海浅海是胜利油田石油开发工作的主要地区。迄今为止,胜利油田的总探矿权面积达19.4万平方公里,石油和天然气储量分别为145亿吨、24 739亿立方米,原油产量居全国第二位。明确胜利油田的内外部情况,进而提出相应的战略措施,无疑对国家经济发展具有重要意义。
初态构件的概率与初态访问Ci的次数乘积之和即为处于非初态和非吸收态的构件Ci对应的使用频率FMCi,其计算公式如下
(10)
(11)
(12)
(13)
式中,Q代表的是状态转移概率矩阵;I代表的是单位矩阵。
访问初态构件的概率与各初态构件到达吸收态构件的使用频率之间的乘积之和即为处于吸收态构件对应的使用频率[11]
(14)
设FNALi→j代表的是与非吸收态构件连接的连接件Li→j在嵌入式控制软件中的使用频率,其计算公式如下
FNALi→j=FMCi×PTi→j
(15)
FALi→j=FMCi×PTi→j
(16)
通过上述分析,获得嵌入式控制软件的可靠性Rs
Rs=Ppow×FALi→j
(17)
式中,Ppow代表的是执行使用域时构件对应的可靠性。
为了验证所提方法的整体有效性,需要对所提方法进行测试,分别采用基于构件技术的嵌入式控制软件可靠性分析方法(方法1)、基于贝叶斯混合概率分布融合的软件可靠性分析方法(方法2)和基于概率盒理论的软件可靠性分析方法(方法3)进行测试,对比上述方法分析嵌入式控制软件可靠性时的错误率,测试结果通过图1进行反映。
图1 分析错误率测试结果
分析图1中的数据可知,在多次迭代中方法1获得的分析错误率均低于5%;方法2在第2次迭代过程中获得的分析错误率高达15%;方法3在第3次迭代中获得的分析错误率高达20%,对比方法1、方法2和方法3的测试结果可知,方法1在分析嵌入式控制软件的可靠性时的分析错误率最低,表明方法1可准确的对嵌入式控制软件的可靠性进行分析,因为该方法对嵌入式控制软件可靠性的度量参数进行了分析,为嵌入式控制软件可靠性分析提供了可靠依据,提高了嵌入式控制软件可靠性分析结果的准确率,降低了分析错误率。
采用方法1、方法2和方法3分析嵌入式控制软件的可靠性,测试上述方法分析软件可靠性时所用的时间,测试结果可通过图2进行描述。
图2 分析效率测试结果
由图2可知,采用方法1分析嵌入式控制软件的可靠性时,在多次迭代中所用的分析时间均低于20min,采用方法2和方法3分析嵌入式控制软件的可靠性时,在多次迭代中所用的分析时间均高于30min,对比不同方法的测试结果可知,方法1分析所用的时间少于方法2和方法3分析所用的时间,表明方法1的分析效率高,因为方法1根据软件可靠性度量参数,利用Markvo过程描述基于构件技术的嵌入式控制软件,实现嵌入式控制软件的可靠性分析,缩短了分析时间,提高了方法1的分析效率。
设置效益因子γ,在区间[0,1]内取值,效益因子越高表明方法1的适应性越高,分别采用方法1、方法2和方法3进行测试,测试结果如图3所示。
图3 效益因子测试结果
对图3中的数据进行分析可知,在多次迭代中方法1获得的效益因子远远高于方法2和方法3获得效益因子,效益因子越高表明方法的适应性越好,因为方法1根据嵌入式控制软件可靠性度量参数结合融合容错技术和软件敏感度分析方法对嵌入式控制软件的可靠性进行分析,提高了方法的适应性。
计算机系统随着计算机技术的发展被广泛的应用在社会的各个领域中,计算机系统所占的比重越来越大,在日常生活和工作过程中计算机已经成为不可缺少的一部分。计算机硬件和软件的复杂性随着复杂工作的增加越来越高,增大了计算机失效的概率。人们的生活和工作会因为计算机失效受到影响,严重威胁着人们的生命安全和财产安全。软件产生的问题是造成计算机系统失效的主要因素,因此需要对软件可靠性进行分析。目前软件可靠性分析方法存在分析错误率高、分析效率低和适应性差的问题。提出基于构件技术的嵌入式控制软件可靠性分析方法,在软件可靠性度量参数的基础上采用构件技术分析嵌入式控制软件的可靠性,解决了目前方法中存在的问题,为计算机的稳定运行提供了保障。