构件式系统可靠性评估技术探究现状.docVIP

  • 1
  • 0
  • 约1.66万字
  • 约 24页
  • 2017-11-26 发布于福建
  • 举报

构件式系统可靠性评估技术探究现状.doc

构件式系统可靠性评估技术探究现状

构件式系统可靠性评估技术探究现状   摘要:基于构件的软件开发方法已经逐渐成为主流的软件开发方法,因而构件式系统的可靠性评估问题受到了更多的关注。目前虽然已经取得了一定的成果,但还有许多不足。对当前构件式系统可靠性评估的研究现状进行了深入分析,对基于路径的、基于状态的及累加方法进行了比较,阐述了这三种方法的优缺点;并进一步总结了构件可靠性的评估方法及构件间组装代码可靠性的评估方法现有的研究成果。最后展望了构件式系统可靠性评估方法进一步的研究方向。 关键词:构件式系统; 可靠性评估; COTS; 组装代码; 构件 中图分类号:TP311 文献标识码:A文章编号:2095-2163(2013)02-0020-06 0引言 可靠性评估是软件可靠性工程的核心内容之一,是通过软件系统的已有信息对系统可靠性进行有效评估和科学预测的技术方法的统称。所得结果可用于指导软件结构的设计,并进一步验证软件是否符合设计要求。可靠性评估是运用计算机技术、人工智能、概率论知识等一系列测评手段对软件可靠性完成评估和预测的实践过程,由此可对影响软件可靠性的各种影响因素实施有效控制。目前,基于构件的软件技术正蓬勃发展,这是对面向对象技术的进一步发展与改进。随着面向对象开发技术的逐渐普及,基于构件的软件开发方法也日益广及各类应用。软件开发人员可以直接使用已有的构件,通过构件组装来完成系统的开发。其中,既可以是购买的商用构件(Commercial Off-The-Shelf ,COTS),也可以是自行开发实现的,因而每个构件的实现可能是完全异质的,由其而组合开发的系统也不可避免地趋向于越发复杂。迄今为止,基于构件的软件开发技术还未臻成熟,仍然缺乏可用于构件及基于构件的软件非功能技术(可靠性、性能)实现的系统有效方法。如何确保软件的稳定质量,并准确评测基于构件的软件系统(简称构件式系统)的可靠性,仍将是一项需要投入巨大、长期且复杂的艰巨任务。 本文通过对构件式系统评估方法和模型的分析比较,总结了现有的研究成果及存在的问题,并展望了进一步的研究方向和研究前景。 1系统的可靠性评估技术研究现状 研究发展至今,已有上百种可靠性的评估、预测及分配模型[1-4]。其中,用于实现构件式系统可靠性评估的方法主要有黑盒方法和白盒方法。黑盒方法是将软件系统看作一个整体,不考虑其内部结构,仅考虑系统与外界环境的交互,该类方法对完全独立开发系统的评测较为合适。但黑盒方法过高估计了交互部分对系统可靠性的影响,因此在实际应用中受到了一定限制,评估结果也不够准确。白盒方法[5-10]考虑软件系统的内部结构,将系统分解为构件,通过系统内部构件之间的关系及每个构件个体的可靠性来估算系统整体的可靠性。此类方法具体涉及了每个构件的使用频率,因此不需再有系统错误数与系统故障率成正比的假设,可以更准确地评测系统的可靠性。这类方法主要分为基于路径的[5,6,11]、基于状态的[1-3,7-9,12-15]两类,均可用于指导开发人员进行构件选择,完成系统设计。另外,还有一类方法叫可加模型(Additive modes)[16-19],该类模型没有考虑软件内部结构,但却考虑了构件的可靠性。下面对这三类算法分别进行研究论述。 11基于路径的系统可靠性评测方法研究现状 基于路径(path-based)的模型[5, 6, 20-24],首先建立构件间的概率依赖关系,再通过算法、实验或仿真等过程找到所有从起点到终点的执行路径,并将每条路径的可靠性估算出来,其后计算所有路径的可靠性平均值作为整个构件系统的可靠性。第2期郭勇,等:构件式系统可靠性评估技术研究现状智能计算机与应用第3卷 Shooman 模型[20]是首次见诸发表的利用模块可靠性评估系统可靠性的实现方法。该方法通过构件可靠性计算路径可靠性,再根据各路径在系统中的权重综合评估系统的可靠性。即在方法中假定程序有 m条不同的执行路径,每条路径均具有一定的执行概率,第i条路径的执行概率用fi表示,并用qi表示第i条路径的执行失效率,则在N次测试中,系统的失效率为: nf=∑mi=1Nfiqi(1) 式中,Nfi是路径i的总执行次数,由此系统的失效可按如下公式计算: q0=∑mi=1fiqi(2) Yacoub等[6]提出了一种基于使用场景的可靠性分析方法。该方法假定,已知每个场景的运行剖面,通过构件依赖图完成构件之间转换概率的分析,再将构件间的连接可靠性也一并加以考虑,对系统进行完整、全面的可靠性评测。Hsu等[23]通过路径可靠性评估系统可靠性,并分别讨论了顺序、分支及循环三种路径可靠性的计算方法。该方法运用构件的执行次数来计算构件在系统中的可靠性,但却未将构件的可靠性与时间直接相关

文档评论(0)

1亿VIP精品文档

相关文档