● 摘要
本文以“十一五”预研课题“装备测试性验证与评估技术研究及系统开发”为背景,对嵌入式软件的故障分析方法、故障仿真规约描述方法和故障注入技术进行了深入的研究,提出了一种基于故障注入的仿真测试(STBFI:Simulation Testing Based on Fault Injection)方法,并对该方法进行了创新性的探讨。随着嵌入式系统的广泛应用,嵌入式软件测试的研究日益深入。本文针对嵌入式软件仿真测试的特点和不足,提出了一种基于故障注入的仿真测试方法。STBFI方法旨在将故障仿真、故障注入技术与嵌入式软件仿真测试领域进行有效结合,形成一套基于故障注入的嵌入式软件仿真测试解决方案。论文首先介绍了STBFI方法所解决的问题域和目的,阐述了该方法的基本原理、关键特性,然后提出了STBFI过程框架,对基于故障注入的仿真测试的过程进行阶段划分与描述,最后结合UML和“4+1”视图模型,给出STBFI平台体系结构,为嵌入式软件容错、BIT机制的验证提供了测试方法、过程指导和平台支持。在嵌入式系统组成抽象和软件故障分析基础上,结合软件设计中的框架和模式思想,提出了一种对嵌入式软件测试中故障模式相关知识进行表述的故障分析框架概念。故障分析框架概念提出的目的就是要解决软件测试领域中故障抽样、故障仿真、故障注入中的故障知识复用问题。故障知识复用需要对相关故障域进行一定程度上的抽象。因此,故障分析框架结合“模式”思想,以故障模式为基本分析对象,进一步提出了故障分析框架“三层”模型,将故障分析整体框架分为故障模式层、关系层和特征层,形成一个完整的故障分析框架体系。另外,通过理论方法与工程实践相结合,本文在故障分析框架“三层”模型指导下,对嵌入式系统的故障域空间进行了分析并建立了典型故障模式库,对故障分析框架中“模式层”进行了更进一步细化与深入研究,为基于故障注入的仿真测试方法奠定了基础。在仿真测试环境分析的基础上,对故障仿真模型五元组定义进行了研究,提出了一种故障仿真规约描述方法。故障仿真规约描述方法将事件/条件概念和时序逻辑引入到仿真测试领域中,将故障仿真视为有限序列事件过程,对故障仿真和故障注入过程中有关故障注入操作,仿真事件进行定义及对实时约束和时序关系进行量化描述,作为故障仿真和故障注入的实现依据。故障仿真规约描述方法结合了面向事件属性描述和面向时序属性描述两方面的特点。从事件属性描述角度,故障仿真规约描述方法设计了故障注入描述原语,定义了仿真事件语义及类型,支持描述各种基本故障注入操作事件、组合故障注入操作事件以及仿真模型事件的相关属性定义。从时序属性描述角度,故障仿真规约描述方法结合规约性质模式,借助线性时态逻辑框架与量化时序逻辑MTL(Metric temporal Logic)方法,对仿真测试中的故障仿真、故障注入事件的实时约束关系进行定量地描述,能有效的描述目标系统状态变迁、负载激励轨迹、故障注入等相关事件的时序关系,提高故障仿真与故障注入的准确性。设备间故障注入技术是实现STBFI方法的关键技术之一。在集成式设备间故障注入技术研究中提出了一种将基于仿真的软件方式故障注入技术、基于驱动的总线故障注入技术、基于FPGA的硬件故障注入技术综合为一体的集成式设备间故障注入总体框架,利用UML和“4+1”视图模型构建了STBFI平台体系结构,并分别对基于仿真、基于驱动、基于FPGA的三种故障注入技术进行了研究,解决了基于故障注入的仿真测试中所需实现的功能性故障仿真、总线通讯故障注入、数字电路故障注入等关键问题。理论研究来源于实践,应用于实践。本文选择某型号惯性导航系统进行测试,对故障注入关键技术的可行性和正确性进行了验证。