● 摘要
软件在安全关键性系统中发挥的作用越来越大,因此如何提高软件的安全性和可靠性成为软件工程的重要目标。故障树分析(Fault Tree Analysis,FTA)和失效模式与效应分析(Failure Modes and Effect Analysis,FMEA)是目前软件质量和可靠性相关研究的热点,事实证明这两种方法可以有效地提高软件的可靠性和安全性。FTA的任务是找出所有导致顶事件(系统故障)发生的可能的原因以及顶事件发生的概率;故障树是由逻辑门和事件组成的,但是由于现有的逻辑门和事件无法描述飞行控制软件中的实时性问题,因此为了解决该问题,本文提出了一种时间约束门(Time-Restriction Gate,TRE),增强了故障树分析在描述时间约束方面的能力。为了验证TRE的合理性,本文将TRE用在飞行控制软件的故障树分析上,应用结果表明TRE可以更为合理地描述飞行控制软件中的实时性问题。FMEA的目的是找出系统潜在的失效模式、失效原因以及这些失效模式对系统的影响。由于FMEA采用的是前向法,而FTA采用的是后向法,FMEA和FTA在方法上是可以互补的,因此本文研究了基于FMEA的故障树生成方法,并且将这种方法用在了飞行控制软件的故障树分析上。在故障树分析的基础上,本文研究了基于故障树分析的实时性测试。与其他软件不同,实时软件的正确性不仅由其功能和行为决定,还依赖其时间特性。实时软件的功能和行为的正确性验证仍可采用传统的测试技术,而对时间特性进行测试验证,则是本文关注的,也是实时性测试的核心内容,本文采用插桩的方式对飞行控制软件的实时性进行了测试并搭建了仿真测试环境,对飞行控制软件的实时性进行了测试。在理论研究的基础上,为了提高分析的效率和精度,开发了FTA辅助分析平台、FMEA辅助分析平台以及实时性测试平台。