首页> 中国专利> 一种安全关键软件的健康管理方法

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

摘要

本发明属于机载计算机技术领域,具体涉及一种安全关键软件的健康管理方法。该方法的具体步骤是:1)创建安全关键软件健康监测表;2)创建安全关键软件健康诊断判据表;3)创建安全关键软件健康管理决策蓝图;4)查询健康监测表判断安全关键软件是否出现故障;5)根据健康诊断判据表确定故障现象;6)根据健康管理决策蓝图制定的故障处理规则对故障进行处理。本发明的方法通过创建的健康监测表、健康诊断判据表、健康管理决策蓝图实现了安全关键软件的故障隔离、故障恢复,避免了安全关键软件不正确的功能或失效就极有可能导致飞机坠毁、人员伤亡、财产损失和环境严重破坏的问题。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-08-03

    授权

    授权

  • 2016-04-13

    实质审查的生效 IPC(主分类):G05B23/02 申请日:20151209

    实质审查的生效

  • 2016-03-16

    公开

    公开

说明书

技术领域

本发明属于机载计算机技术领域,具体涉及一种安全关键软件的 健康管理方法。

背景技术

机载安全关键系统(Safety-criticalSystem)是指具有潜在破 坏力的一类机载系统,此类系统一旦失效,就可能造成飞机坠毁、人 员伤亡和环境破坏等严重后果。随着计算机技术和机载航空电子技术 的发展,软件在安全关键系统中的应用越来越广泛,规模也与日俱增。 F-22战机的综合航电系统中由软件实现的航电功能高达80%,软件代 码达到170万余行。F-35战机的先进综合航电系统中,软件代码达 到500万行。这表明,越来越多的安全关键系统中,软件日益密集化, 逐渐形成安全关键的软件密集型系统。另一方面,安全性关键系统中 软件引发的事故频发,20世纪90年代的Arianne5运载火箭等5起 航天器事故的起因是软件;2004年12月20日,一架F-22因飞行控 制软件故障而坠毁;2009年,法航AF447航班的A330-200飞机由于 飞行控制软件错误的攀升指示最终导致飞机在大西洋上坠毁。由此可 见,安全关键软件已成为决定机载安全关键系统安全与否的重要因素 之一,对安全关键软件的健康管理方法研究具有重大现实意义。

软件健康管理是健康管理技术在软件领域中的应用拓展,通过对 被监测软件工作状态的实时监测,对由异常情况引起的不良事件进行 自动检测、诊断,并评估该不良事件在软件内部传播的危险性,根据 评估结果自动采取相应的措施消除或减缓由该不良事件造成的影响。

发明内容

针对机载安全关键软件不正确的功能或失效就极有可能导致飞 机坠毁、人员伤亡、财产损失和环境严重破坏的问题,设计了一种基 于健康监测、健康诊断、管理决策、故障隔离、故障恢复和故障预测 六位一体的安全关键软件健康管理方法。

本发明的具体技术方案是:

本发明提供了一种安全关键软件的健康管理方法,包括以下步 骤:

1)创建安全关键软件健康监测表;所述健康监测表用于监测安 全关键软件是否发生故障;监测内容包括安全关键软件中各模块的状 态、事件以及日志的监测;

2)创建安全关键软件健康诊断判据表,所述健康诊断判据表用 于确定故障现象;所述故障现象内容包括安全关键软件中各模块的消 息、响应、声明、架构和规则的诊断;

3)创建安全关键软件健康管理决策蓝图,所述健康管理决策蓝 图用于故障处理规则的制定;

4)查询健康监测表判断安全关键软件是否出现故障,若出现故 障,则进行步骤6),若未出现故障,则继续周期性的查询健康监测 表;

5)根据健康诊断判据表确定故障现象;

6)根据健康管理决策蓝图制定的故障处理规则对故障进行处理; 所述故障处理规则包括故障隔离以及故障恢复。

该方法还包括步骤7)建立安全关键软件故障预测模型;依据故 障预测模型的内容对安全关键软件的故障进行预测;所述故障预测模 型内容包括安全关键软件的规模、复杂度、以探测故障数、引入故障 数、探测故障密度、剩余故障密度。

上述故障恢复包括两种方式:

A、对于影响范围小的故障,通过替换故障模块进行故障恢复;

B、对于影响范围大的故障,对安全关键软件或者安全关键软件 的子系统进行重构。

本发明的优点在于:

1、本发明的方法通过创建的健康监测表、健康诊断判据表、健 康管理决策蓝图实现了安全关键软件的故障隔离、故障恢复。

2、本发明的方法通过建立安全关键软件故障预测模型,可以有 效的预测安全关键软件未来可能发生的故障的时机,类型,便于后期 处理。

附图说明

图1为本发明的健康管理流程图;

图2为安全关键软件故障恢复流程;

图3为安全关键软件故障预测模型。

具体实施方式

本方案中所指的安全关键软件包括危害性软件(指直接导致危害 或用于控制危害的软件)及对危害性软件有影响的软件,所提出的健 康管理方法适用于以下几类安全关键软件:

a、用于控制或监控危害性硬件、软件的软件。此类软件一般驻 留 于实时嵌入式系统中,如机舱门的控制软件、操作系统或交换机监控 软件等。

b、向安全相关决策提供信息的软件。如飞行员在引擎起火时必 须关闭引擎,读取引擎起火离散量并向飞行员显示的软件必须为安全 关键软件,进一步,在所有信息处理过程中的相关软件,包括传感器 采集软件、数模转换软件、显示软件等均为安全关键软件;

c、执行特等危害相关过程的软件。如用于验证危害性软件的软 件。在一些特定情况下,模型、仿真器、模拟器等常用于对真实硬件 相应的模拟,根据产生的结果,会对软件需求、设计等进行更改,因 此,这些模型、仿真器、模拟器等也属于安全关键软件。

d、和安全关键软件驻留在一起的软件。非安全关键软件由于和 安全关键软件共享计算机资源,可能造成系统故障蔓延,除非证明确 实采用了正确手段保证故障隔离,非安全关键软件也被看作安全关键 软件。

本方案中的安全关键软件健康管理方法包括以下几个方面健康监 测、健康诊断、管理决策、故障隔离、故障恢复、故障预测;

健康监测:实时收集安全关键软件系统的各项运行数据,为软件 健康诊断提供依据。

健康诊断:对安全关键软件各部分的监测信息进行分析,鉴定故 障,评价安全关键软件系统的健康状态。

管理决策:依据健康诊断结果及故障预测信息决定执行何种故障 处理策略,包括故障隔离策略和故障恢复策略。

故障隔离:定位到发生故障的软件子系统或软件模块,并对其进 行有效隔离,防止故障扩散。

故障恢复:在不影响软件本身及关联软件正常运行的情况下,执 行前向恢复或后向恢复策略,使安全关键软件系统无缝地从故障状态 切换到健康状态。

故障预测:综合各种软件健康状况信息如当前状态监测数据、健 康诊断信息、故障恢复信息以及健康状态历史经验数据等,预测其未 来可能发生的故障的时机。故障预测信息与健康诊断信息一起,构成 健康管理决策的基础。

具体步骤是:

1)创建安全关键软件健康监测表;所述健康监测表用于监测安 全关键软件是否发生故障;监测内容包括安全关键软件中各模块的状 态、事件以及日志的监测;

具体说:健康诊断依据实时监测的健康数据,诊断安全关键软件 系统的运行状态,为健康管理与决策以及故障预测提供依据。诊断的 及时性和准确性决定了管理决策的有效性和合理性。健康诊断接收在 线监测器的监测信息,通过综合评估单元,分析监测信息,评估软件 是否存在故障,确定故障等级,对软件的健康状况进行评价。

表1安全关键软件健康实时监测表

2)创建安全关键软件健康诊断判据表,所述健康诊断判据表用 于确定故障现象;所述故障现象内容包括安全关键软件中各模块的消 息、响应、声明、架构和规则的诊断;

表2安全关键软件健康诊断判据表

3)创建安全关键软件健康管理决策蓝图,所述健康管理决策蓝 图用于故障处理规则的制定;

具体说:管理决策依据健康诊断发现的软件故障,进一步分析故 障原因,并结合故障预测信息,制定故障处理策略。故障处理策略包 括故障隔离和故障恢复两大类。其中,故障恢复策略包含恢复点策略、 冗余策略、构件修复策略、系统重构策略。管理决策模块通过查询预 先配置的健康管理决策蓝图来下达指令。健康管理决策蓝图的格式定 义如表3所示。

表3健康管理决策蓝图

4)查询健康监测表判断安全关键软件是否出现故障,若出现故 障,则进行步骤6),若未出现故障,则继续周期性的查询健康监测 表;

5)根据健康诊断判据表确定故障现象;

6)根据健康管理决策蓝图制定的故障处理规则对故障进行处理; 所述故障处理规则包括故障隔离以及故障恢复。

具体说:故障隔离是指对故障进行有效的隔离,防止故障扩散。 在修复故障的同时,必须防止故障的蔓延,否则扩散的故障也会使系 统崩溃。故障隔离通常的做法是找出与故障软件模块相关的模块,阻 断它们交互,从而达到故障隔离的效果。

具体说:安全关键软件的故障恢复从软件和系统两个层次进行。 对于出现的故障,在需要较小恢复的情况下,通过替换故障模块,进 行软件恢复;在需要较大恢复的情况下,通过动态替换发生故障的软 件恢复系统的功能,采用重新组织系统的可用资源,实现系统重构, 保护系统的重要功能。本方案提出的安全关键软件故障恢复流程如图 2所示。

图2首先对软件代码进行解析,提取软件的抽象表示方法,形成 属性关系图,在此基础上,应用数据挖掘等技术,将属性关系图分解 成能够进行模式图匹配的属性关系子图。用户预先指定相应的软件模 式,并应用图生成的相关技术形成模式图。当软件故障被检测到的时 候启动图匹配算法进行软件恢复与重构,然后对恢复和重构后的软件 进行评估,如果没有达到预定的要求,重新启动图匹配算法,进行重 新恢复。

步骤7)建立安全关键软件故障预测模型;依据故障预测模型的 内容对安全关键软件的故障进行预测;所述故障预测模型内容包括安 全关键软件的规模、复杂度、以探测故障数、引入故障数、探测故障 密度、剩余故障密度。

具体说:故障预测是根据软件故障发生的历史,预测软件将来可 能发生故障的时机、位置和行为,以尽早进行修补,对无法修补的制 定故障应对措施,当发现故障先兆时,及时采取相应措施来规避故障 的发生。软件故障预测技术分为静态和动态两种。静态预测技术,主 要是指基于故障相关的度量数据,对缺陷的数量或者分布进行预测的 技术;而动态预测技术则是基于故障或者失效产生的时间,对系统故 障随时间的分布进行预测的技术。安全关键软件的故障预测可通过故 障预测模型开展。本方案提出了一种基于贝叶斯信念网的安全关键软 件故障预测模型,如图3所示。该模型分为两个阶段:第一个阶段覆 盖了安全关键软件生命周期的规约、设计和编码,第二个阶段覆盖了 安全关键软件的测试验证。设计规模和缺陷数节点为整数或者一个限 定的范围,故障密度为实数。问题复杂度表示待开发问题内在的复杂 度。测试阶段,已探测故障数和引入故障数的差额是剩余故障数。测 试中探测故障密度反映了已探测故障数占设计规模的比例,剩余故障 密度反映了剩余故障数占设计规模的比例。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号