● 摘要
软件密集型系统中,软件体系结构作为连接需求和设计的关键环节,提供了一个在软件生命周期中获得可靠性的有力途径,通过对体系结构可靠性评估可以验证软件体系结构设计和软件可靠性需求的一致性,保证软件产品的质量。作为一种新型的体系结构,动态体系结构要求自身能够根据复杂多变的运行环境进行动态调整。目前国内外对具有动态演化特点的体系结构可靠性评估还缺乏成熟的理论和方法。本文对软件体系结构可靠性评估的三个关键问题进行了研究: 1)如何提出软件可靠性需求,并建立与体系结构设计的联系;2)如何对具有动态演化特性的容错体系结构进行模型检测,检验其和软件容错需求的一致性;3)如何对体系结构容错性进行度量,从而使软件体系结构容错性的定量评估成为可能。
本文首先阐述了软件失效机理,考查了现有软件质量模型中可靠性的子属性,选取ISO/IEC 25010模型作为基础,提出软件体系结构可靠性的概念。为便于进行软件体系结构可靠性评估,提出了基于目标的软件可靠性需求模型。通过建立软件可靠性目标依赖关系图,实现软件可靠性需求的分析和精化。通过建立可靠性目标结构化模型,解决软件可靠性需求描述的抽象性和主观性问题。
以Kripke结构为基础,本文给出容错体系结构的形式化模型,以支持容错体系结构的模型检测。使用统一建模语言UML中的构件图和状态图对容错体系结构的静态结构和动态行为进行描述,在此基础上,分析提出容错策略动态演化时,容错体系结构的建模方法。
本文提出了容错场景的概念,采用顺序图进行描述,并在顺序图形式化的基础上,利用计算树逻辑(Computation Tree Logic,CTL)给出了不同策略执行下的安全性和活性公式,用于对容错场景下的容错体系结构进行模型检测。文中还在上述基础上,针对不同的容错体系结构动态演化情景,总结出相应的体系结构容错属性公式,以实现对动态体系结构的模型检测。
基于模型检测,本文提出一种体系结构容错性评估方法。该方法的基本思想是把特定场景下的体系结构作为模型检测中的系统模型,把场景下的安全性和活性作为检验属性,通过检验容错策略执行的正确性来自动判断容错体系结构是否与可靠性需求一致。为进行体系结构容错性的定量评估,本文还提出了软件容错目标满意值作为体系结构容错性的度量,并给出了计算方法。
最后以一个火车票网络订票系统作为应用对象,使用UML对系统体系结构进行建模,使用CTL对具体的容错策略执行场景下安全性和活性进行表示,应用NuSMV作为模型检测工具,实现了体系结构在特定容错策略执行场景评审的自动化,验证了方法的可行性和实用性。