一种安全关键软件的健康管理方法

文档序号:9646215阅读:501来源:国知局
一种安全关键软件的健康管理方法
【技术领域】
[0001] 本发明属于机载计算机技术领域,具体涉及一种安全关键软件的健康管理方法。【背景技术】
[0002] 机载安全关键系统(Safety-criticalSystem)是指具有潜在破坏力的一类机载 系统,此类系统一旦失效,就可能造成飞机坠毁、人员伤亡和环境破坏等严重后果。随着计 算机技术和机载航空电子技术的发展,软件在安全关键系统中的应用越来越广泛,规模也 与日倶增。F-22战机的综合航电系统中由软件实现的航电功能高达80%,软件代码达到 170万余行。F-35战机的先进综合航电系统中,软件代码达到500万行。这表明,越来越多 的安全关键系统中,软件日益密集化,逐渐形成安全关键的软件密集型系统。另一方面,安 全性关键系统中软件引发的事故频发,20世纪90年代的Arianne5运载火箭等5起航天器 事故的起因是软件;2004年12月20日,一架F-22因飞行控制软件故障而坠毁;2009年,法 航AF447航班的A330-200飞机由于飞行控制软件错误的攀升指示最终导致飞机在大西洋 上坠毁。由此可见,安全关键软件已成为决定机载安全关键系统安全与否的重要因素之一, 对安全关键软件的健康管理方法研究具有重大现实意义。
[0003]软件健康管理是健康管理技术在软件领域中的应用拓展,通过对被监测软件工作 状态的实时监测,对由异常情况引起的不良事件进行自动检测、诊断,并评估该不良事件在 软件内部传播的危险性,根据评估结果自动采取相应的措施消除或减缓由该不良事件造成 的影响。

【发明内容】

[0004] 针对机载安全关键软件不正确的功能或失效就极有可能导致飞机坠毁、人员伤 亡、财产损失和环境严重破坏的问题,设计了一种基于健康监测、健康诊断、管理决策、故障 隔离、故障恢复和故障预测六位一体的安全关键软件健康管理方法。
[0005] 本发明的具体技术方案是:
[0006] 本发明提供了一种安全关键软件的健康管理方法,包括以下步骤:
[0007] 1)创建安全关键软件健康监测表;所述健康监测表用于监测安全关键软件是否 发生故障;监测内容包括安全关键软件中各模块的状态、事件以及日志的监测;
[0008] 2)创建安全关键软件健康诊断判据表,所述健康诊断判据表用于确定故障现象; 所述故障现象内容包括安全关键软件中各模块的消息、响应、声明、架构和规则的诊断;
[0009] 3)创建安全关键软件健康管理决策蓝图,所述健康管理决策蓝图用于故障处理规 则的制定;
[0010] 4)查询健康监测表判断安全关键软件是否出现故障,若出现故障,则进行步骤 6),若未出现故障,则继续周期性的查询健康监测表;
[0011] 5)根据健康诊断判据表确定故障现象;
[0012] 6)根据健康管理决策蓝图制定的故障处理规则对故障进行处理;所述故障处理 规则包括故障隔离以及故障恢复。
[0013] 该方法还包括步骤7)建立安全关键软件故障预测模型;依据故障预测模型的内 容对安全关键软件的故障进行预测;所述故障预测模型内容包括安全关键软件的规模、复 杂度、以探测故障数、引入故障数、探测故障密度、剩余故障密度。
[0014] 上述故障恢复包括两种方式:
[0015] A、对于影响范围小的故障,通过替换故障模块进行故障恢复;
[0016] B、对于影响范围大的故障,对安全关键软件或者安全关键软件的子系统进行重 构。
[0017] 本发明的优点在于:
[0018] 1、本发明的方法通过创建的健康监测表、健康诊断判据表、健康管理决策蓝图实 现了安全关键软件的故障隔离、故障恢复。
[0019] 2、本发明的方法通过建立安全关键软件故障预测模型,可以有效的预测安全关键 软件未来可能发生的故障的时机,类型,便于后期处理。
【附图说明】
[0020] 图1为本发明的健康管理流程图;
[0021 ] 图2为安全关键软件故障恢复流程;
[0022] 图3为安全关键软件故障预测模型。
【具体实施方式】
[0023] 本方案中所指的安全关键软件包括危害性软件(指直接导致危害或用于控制危 害的软件)及对危害性软件有影响的软件,所提出的健康管理方法适用于以下几类安全关 键软件:
[0024] a、用于控制或监控危害性硬件、软件的软件。此类软件一般驻留于实时嵌入式系 统中,如机舱门的控制软件、操作系统或交换机监控软件等。
[0025] b、向安全相关决策提供信息的软件。如飞行员在引擎起火时必须关闭引擎,读取 引擎起火离散量并向飞行员显示的软件必须为安全关键软件,进一步,在所有信息处理过 程中的相关软件,包括传感器采集软件、数模转换软件、显示软件等均为安全关键软件;
[0026] c、执行特等危害相关过程的软件。如用于验证危害性软件的软件。在一些特定情 况下,模型、仿真器、模拟器等常用于对真实硬件相应的模拟,根据产生的结果,会对软件需 求、设计等进行更改,因此,这些模型、仿真器、模拟器等也属于安全关键软件。
[0027]d、和安全关键软件驻留在一起的软件。非安全关键软件由于和安全关键软件共享 计算机资源,可能造成系统故障蔓延,除非证明确实采用了正确手段保证故障隔离,非安全 关键软件也被看作安全关键软件。
[0028] 本方案中的安全关键软件健康管理方法包括以下几个方面健康监测、健康诊断、 管理决策、故障隔离、故障恢复、故障预测;
[0029] 健康监测:实时收集安全关键软件系统的各项运行数据,为软件健康诊断提供依 据。
[0030] 健康诊断:对安全关键软件各部分的监测信息进行分析,鉴定故障,评价安全关键 软件系统的健康状态。
[0031] 管理决策:依据健康诊断结果及故障预测信息决定执行何种故障处理策略,包括 故障隔离策略和故障恢复策略。
[0032] 故障隔离:定位到发生故障的软件子系统或软件模块,并对其进行有效隔离,防止 故障扩散。
[0033] 故障恢复:在不影响软件本身及关联软件正常运行的情况下,执行前向恢复或后 向恢复策略,使安全关键软件系统无缝地从故障状态切换到健康状态。
[0034] 故障预测:综合各种软件健康状况信息如当前状态监测数据、健康诊断信息、故障 恢复信息以及健康状态历史经验数据等,预测其未来可能发生的故障的时机。故障预测信 息与健康诊断信息一起,构成健康管理决策的基础。
[0035] 具体步骤是:
[0036] 1)创建安全关键软件健康监测表;所述健康监测表用于监测安全关键软件是否 发生故障;监测内容包括安全关键软件中各模块的状态、事件以及日志的监测;
[0037] 具体说:健康诊断依据实时监测的健康数据
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1