论文部分内容阅读
随着计算机软件技术的发展,传统的、基于黑盒的软件可靠性增长模型SRGM (Software Reliability Growth Model)仅依赖于软件开发后期收集的失效数据进行建模,不考虑软件体系结构信息,已难以满足当前出现的大量复杂软件可靠性分析问题的实际需求。基于结构的软件可靠性分析模型ABSRM (Architecture Based Software Reliability Model)作为新一代软件可靠性分析理论,能够有效地将构件可靠性与系统体系结构信息相结合,适合处理大规模构件式开发的复杂软件系统的可靠性问题,并且能够在软件开发早期实施,在节省大量的软件开发成本的同时还使得软件系统可靠性分析结果更加合理、准确,必将在未来的软件可靠性工程领域担当重要的角色。论文以ABSRM作为研究对象,围绕着如何针对复杂体系结构软件进行有效的可靠性分析进行研究,主要涉及到构件软件可靠性问题的建模,早期软件可靠性评估以及可靠性模型参数分析三个方面的内容,主要研究工作摘要如下:(1)论文阐述了构件软件可靠性的建模、早期软件可靠性评估以及可靠性模型参数分析三方面的研究意义,指出三者之间的联系和主要研究目标。对当前相关研究工作进行了调查、分析与总结,指出目前存在着的和还需要进一步解决的问题。(2)对包含非Markov控制转移的构件交互建立其形式化描述方法并分析。论文针对传统体系结构描述语言ADL (Architecture Description Language)关于构件交互形式化描述方法的不足提出一种补充,并建立相应的映射算法,提出一种新的软件可靠性分析模型C1M (Component Interaction Mode)。该模型考虑了两种非失效独立的构件交互模式NFI模式(构件实现相关)、NRCT模式(非随机控制转移)对于系统可靠性的影响,给出了一种新的构件交互模式的形式化描述方法,同时利用该模型可以完成新增结点的构造及对应的控制转移概率的计算,并最终得到新的系统体系结构图。转换得到的结果满足Markov性质,具有新的系统状态控制转移矩阵,能够准确预测系统可靠性。最后针对实际软件系统的可靠性分析说明了CIM模型的有效性。(3)分析软件结构风格与系统可靠性的量化关系并建立基本结构可靠性范式BARP (Basic Architecture Reliability Paradigm)。论文提出了一种基于结构分析的复杂软件可靠性评估方法,该方法首先根据SA理论中关于软件结构风格的功能性定义,并基于其所包含的构件、构件交互的形式化描述,建立各类软件结构风格的形式化分类。然后通过构件失效独立性验证,判定结构风格中构件的失效关系,将构件及构件间的交互映射为系统可靠性状态及其控制转移关系。最后使用离散Markov链理论,将软件结构风格建模为一种状态转移模型,利用构件可靠性、构件控制转移概率矩阵、构件执行频度等相关参数求解该状态模型的N步转移概率问题,得到针对各软件结构风格的可靠性范式的数学表达。通过将属于不同软件结构风格的构件交互根据预先定义好的状态转换机制映射到系统状态中去,并根据确定的可靠性计算公式计算可靠性相关参数,将复杂结构软件可靠性问题简化,同时通过引入一个新的参数即构件在系统单次执行中的被调用频度的数学期望,很好地反映了操作剖面对系统可靠性的影响,提高了可靠性分析的准确性、合理性。(4)研究并建立基于UML软件设计模型的软件可靠性分析方法。UML是软件开发早期最主要的制品,提供了针对系统不同方面的大量有价值的信息,为了简化可靠性分析的复杂度,减少早期软件可靠性分析评估的工作量,同时使得可靠性分析模型可以处理多种软件结构风格,论文提出一种由UML软件设计模型出发,将其自动转换为软件可靠性分析模型DTMC的方法。该方法基于现有的可靠性建模和分析相关的研究工作,通过在UML的用况图、构件图、顺序图中添加可靠性相关的信息进行扩展,使得扩展模型具备描述多种软件结构风格的能力,由扩展的顺序图出发,构造系统局部SSTD;再结合用况图中不同用况的发生概率,将局部SSTD整合为系统SSTD;根据系统SSTD以及构件图所反映的构件可靠性以及本文提出的系统状态可靠性计算方法,最终构造出用于可靠性分析的DTMC模型并计算得到可靠性评估结果。(5)对建立的复杂软件可靠性分析模型进行参数分析。针对复杂软件可靠性模型涉及参数的估计不准确问题以及关键参数判定问题,论文首先通过结合SRGM在构件可靠性增长刻画方面的优点(采用基于时间的失效概率密度函数μ(n,t)描述构件失效行为),以及ABSRM中关于软件系统体系结构建模的优点(采用DTMC描述系统结构),为在软件测试阶段,量化分析由错误恢复而产生的构件可靠性增长所导致的系统可靠性变化提供了一种新的仿真分析方法。该方法通过分析构件和系统的失效过程建立相应的数学模型NHCTMC,在此基础上使用离散事件仿真的手段分别对构件失效过程、系统失效过程、以及错误恢复过程进行仿真,能够将构件可靠性,错误探测率,系统结构,错误恢复率,系统可靠性这五个软件可靠性分析要素相关联,并且作为一个整体进行分析,为在大型复杂构件软件的测试阶段合理地进行软件可靠性分析提供了一种新的思路。另一方面,论文基于矩估计方法提出了一种考虑了参数统计特征的软件系统可靠性关键参数判定方法。该方法将构件可靠性、构件之间的控制转移概率矩阵以及系统可靠性都作为随机变量处理,给出了参数的矩估计值与系统可靠性的矩估计值之间的量化关系,考虑了包括操作剖面在内的所有ABSRM建模相关参数的影响。与之前采用点估计的软件可靠性方法相比,提出的方法能够提供更多的关于系统可靠性的信息,这种信息对于早期软件可靠性预测、系统可靠性控制、软件演化中的可靠性跟踪,以及软件系统可靠性确定都具有重要意义。