网管系统可靠性指标分配方法研究
2012-10-18闫鲁生
闫鲁生,赵 喻
(海军装备研究院,北京 100101)
0 引言
软件可靠性研究包括软件可靠性模型、软件容错和软件可靠性指标分配,其中软件可靠性指标分配是软件可靠性研究的主要工作之一。软件可靠性指标分配是在保证整个软件产品的可靠性指标得到满足的前提下,将经过论证后所确定的可靠性指标,按一定的原则和方法,正确、科学、经济地将可靠性指标分配到组成这个系统的每一个软件部件和每一模块上去,直至到元器件级。可靠性分配是可靠性设计中落实可靠性指标的过程,是保证系统达到预计可靠性指标的一个重要步骤。
1 可靠性模型
可靠性模型的建立离不开对系统失效判据的确定以及从可靠性角度对系统的功能进行分析。下面给出几种可靠性模型[1]。
1.1 串联模型
串联模型为:
串联模型中任一单元失效均会导致整个系统失效。
若失效率λi是常数,则可靠度可以表示为:
而系统可靠度也可以表示为负指数形式[2]:
1.2 并联模型
并联模型为:
并联模型中只要一个单元正常工作系统就能正常工作,反之全部单元失效系统才失效。
若组成单元可靠度相同且等于R0(t)时,则并联系统可靠度为:
若寿命为负指数分布,则并联系统可靠度为:
对于并联系统,若组成单元可靠度相同,则其平均无故障工作时间[4]为:
n中取k表决冗余模型:
n个可靠度相同的单元中,有≥k个单元正常工作,系统就能保持正常工作状态,反之,系统就发生失效。
1.3 权联模型
权联模型为:
指组成单元发生失效时,可靠度按失效单元承担同一任务的比重不同而降级的系统,系统内单元承担任务的比重以权重系数ω表示[5]。
2 仿真验证
以一个通信网综合网络管理系统为例研究如何进行可靠性指标分配。从可靠性模型的建立和可靠性指标分配2个方面进行仿真验证。其软件主要包括界面软件模块、通信机软件模块、服务器软件模块和管理应用软件模块等。可靠性指标要求MTBF为2000 h。
2.1 选择可靠性模型
欲选择通信网综合网络管理系统的可靠性模型,需要详细分析该网络管理系统的功能,在此基础上确定网络管理系统的失效判据,然后选择可靠性模型。
综合网络管理系统需要在计算机上运行,计算机需要安装操作系统、编程语言工具和数据库系统等相应的运行支撑软件,一旦计算机失效或者计算机运行的支撑软件发生故障,则综合网络管理系统将无法正常运行;只有计算机、支撑软件和综合网络管理系统工作正常,即3个元素均正常运行时,综合网络管理系统才能无故障运行,根据可靠性模型的定义选择串联模型。
通信网综合网络管理系统的基本可靠性模型为串联模型,包括一个可靠性框图和一个相应的数学模型。依据通信网综合网络管理系统的功能框图,系统可靠性框图如图1所示。
图1 综合网络管理系统可靠性
假设通信网管系统只有正常和失效2种状态,寿命特征服从指数分布,各单元的失效独立,从可靠性框图得出通信网综合网络管理系统的可靠性数学模型为:
式中,λS为通信网综合网络管理系统的总失效率;λi为第i单元的失效率;MTBFS为通信网综合网络管理系统的平均无故障工作时间;n为产品所包含的单元数。
2.2 软件模块可靠度求解
由于网管软件大部分都是独立的软件模块,所以研究软件可靠性的模块分析法用于软件可靠性评估,且软件模块的失效不会导致整个网管软件失效,按照可靠性模型的定义,选择权联模型求解可靠度。
选择通用软件模块可靠度函数求解,可靠度函数为[6,7]:
式中,ai为模块i的处理分布(Processing Distribution,PD),PD=0为均匀处理;PD=1为轻度不均匀;PD=5为中度不均匀(有一些循环和分支);PD=15为高度不均匀(迭代型循环多,还有一些执行非常少的分支);bi为运行模块i时遇到导致失效事件发生的缺陷的可能性;ci为模块i的缺陷容量,在开发阶段,平均每千行源代码有50~60个缺陷,交付后平均每千行源代码有15~18个缺陷;di为模块i在软件运行过程中被调用的概率。通常一个模块调用得越频繁,该模块内部的缺陷越容易暴露出来;ti为模块可靠运行时间。
以拓扑管理模块为例,利用并分析在软件测试时收集的可靠性数据,同时依据模型参数确定原则,
确定各个模型参数:
模块的处理分布值ai:由于该网管软件代码行(87720)为大型网管软件,因此每个模块的设计比较复杂,尤其是拓扑管理模块,实现拓扑分层分级显示、拓扑状态监视、拓扑放大缩小漫游操作和拓扑的导入导出打印等多项功能,与很多模块都有接口,因此编码时存在许多循环和分支,而且有一些迭代型循环,根据ai的取值说明,所以取ai=15。
运行模块时遇到导致失效事件发生的缺陷的可能性bi:主要取决于输入数据条件,Musa推测出该属性值在各种工程中是相对不变的,平均值约为0.00000042。可以先用0.0000005对其进行初始化,然后在测试中使用实际的可靠性数据来计算真正的值,从收集的可靠性数据计算得出bi=0.00000046。
模块i的缺陷容量ci:拓扑管理模块的代码行为8200行,在单元测试阶段,软件测试结果表明拓扑管理模块的缺陷容量为280个,经过整改再测试后,在合格性测试阶段缺陷容量为160个,经过进一步整改测试,在系统测试阶段拓扑管理模块的缺陷容量为110个,经过整改测试在提交用户之前缺陷容量为ci=90个。
模块在软件运行过程中被调用的概率di:拓扑管理模块需要和故障管理模块、通信机模块等多个模块进行数据交互,频繁调用,根据可靠性数据得到di=0.68。
根据网管软件可靠性指标要求,模块运行时间ti=20160 min(336 h),此时间为合同规定。
将上述数值代入上述软件模块可靠度求解函数,求解拓扑管理软件模块的可靠度R模1(t)=0.798。
同理求解出其他软件模块的可靠度,然后代入上述权联模型公式,最后计算出网管软件的可靠度为0.87。代入R(t)=exp(-λt),MTBF=1/λ,t为336 h,推出网管软件的平均无故障工作时间MTBF=2450 h,大于合同要求的2000 h,满足网管软件的可靠性指标要求。
2.3 可靠性指标分配
按加权因子分配法进行可靠性分配。分配基础是初步预测确定的总体方案的可靠性。分配原则是保证分配的合理性和可行性,避免造成研制实现上的困难或额外增加成本。合同中研制阶段的MTBF为5000 h,根据实际情况,本次按5000 h分配到各部件。请有实践经验的工程师按照几种因素进行评分,根据评分情况给设备分配可靠性指标。主要是考虑4种影响因素:
①复杂度:根据组成通信网综合网络管理系统的软件模块数量以及它们的难易程度来评定;
②技术发展水平:根据通信网综合网络管理系统设备目前的技术水平和成熟程度来评定;
③重要度:根据通信网综合网络管理系统各软件的重要度来评定;
④环境条件:根据通信网综合网络管理系统设备所处的环境来评定。
分配公式为:
式中,j为单元序号1、2……N;i为单元的加权因子1、2……n;Kji为第 j个单元的第 i个加权因子;n为加权因子数;N为组成产品的单元数;MTBFj为第j个单元平均无故障工作时间;MTBFS为产品的平均无故障工作时间。部分因素可靠性分配的结果如表1所示。
表1 综合网络管理系统可靠性分配表
分配的可靠性指标验证如下:
计算结果为5360 h,大于合同规定的系统MTBF值5000 h,满足可靠性指标分配要求。
3 结束语
由于工程问题的复杂性及所考虑的重点不完全相同,因此要建立一套完整的可靠性指标分配原则是非常困难的。如果将它们的软件可靠性指标定得过低,虽然比较容易得到,但不一定能保证整个软件产品可靠性指标的实现;如果将它们的软件可靠性指标定得过高,必将增加软件产品的开发成本,而且从工程角度来看,也无此必要性。首先要建立可靠性模型,如果是串联系统则按照串联模型的可靠性指标分配,如果是并联系统则按照并联模型进行分配。 ■
[1]文长康.浅谈软件可靠性的评估技术[J].通信技术,2004,12(1):65 -69.
[2]张继旭,王 琪.软件可靠性的模块分析方法[J].战术导弹技术,2001,23(5):100 -104.
[3]ZAHEDI F,ASHRAFI N.Software Reliability Allocation Based on Structure Utility,Price and Cost[J].IEEE Trans.Software Eng,1991,17(21):345 -356.
[4]韩成宇,夏保胜.基于模糊的软件可靠性指标分配方法[J].计算机工程与应用,2004,23(10):85 -87.
[5]周 瑞,杨晓青.软件可靠性指标分配工具[J].小型计算机系统,2004,19(1):18 -23.
[6]BO Lennselius,RYDSTROM.Software Fault Content and Reliability EstimationsforTelecommunicationsSystem[J].IEEE Trans.Selected Areas in Communications,1990,8(2):262 -271.
[7]DOWNS T,SCOTT A.Evaluating the Performance and Software Reliability Models[J].IEEE Trans.Reliability,1992,41(4):12-16.