● 摘要
目前硬件设备利用PHM(prognostic and health management)技术实时监测并预测与设备健康相关的参数,根据监测和预测信息,在设备发生故障前及时采取缓解措施,防止故障的发生。当代社会逐渐依赖于软件密集型系统,软件的一个突如其来的问题可能导致灾难性的失效,而随着软件复杂度的增加,传统的软件分析、验证和测试技术不能保证软件系统的绝对健康。因此,借鉴硬件PHM相关成果,对软件PHM展开研究。
本文对软件PHM基础理论体系进行研究,内容主要为以下三个方面:
(1)提出了软件PHM的内涵,具体包括软件健康的定义、软件健康状态、软件健康参数的分类以及软件PHM的基本框架。首先,本文从功能完好性、时间持久性以及环境适应性三个角度出发进行软件健康的描述,并给出了软件健康的形式化定义;其次,提出了软件健康状态的分类,突发性因素所带来的软件健康问题只有正常和故障两种健康状态,渐变性因素所带来的软件健康问题可划分为健康、亚健康、危险、故障等多种健康状态;然后,提出了软件健康参数的分类,由软件内部缺陷带来的健康问题,其相关的参数属于内源性参数,由外部环境带来的健康问题,其相关的参数属于外源性参数;最后,给出了软件PHM的基本框架,对健康监测、健康诊断、健康预测以及健康决策进行简单讨论。
(2)针对Aging-related bugs以及引发软件发生渐变性失效的环境因素所带来的健康问题,以软件衰老为例探讨软件PHM的应用并对健康监测和预测进行了相关研究与实现。首先,文中分析软件衰老所带来的健康问题,并用基于SNMP的方法实现与软件健康相关的系统资源的采集。然后,本文利用所获得的系统资源数据集以及参考论文中的公开数据集进行实验,对多项式函数拟合、灰色预测、神经网络预测三种预测算法进行了相关的验证分析,得出神经网络预测算法的预测误差较小,预测效果较好,为后期软件的健康决策奠定了基础。最后,针对软件衰老,分析讨论了系统级和应用级两种健康恢复方法。
(3)针对Bohrbugs、Heisenbugs以及引发软件发生突发性失效的环境因素所带来的健康问题,本文提出了一种基于RPN的软件健康管理方法。文中以NASA中心的飞控软件系统为例,通过总结异常报告中的114种失效类型,形成该软件的根失效类型库。基于RPN的软件健康管理方法主要是根据各失效类型的风险等级以及风险因子的各影响因素的重要性,利用技术评估矩阵综合确定有效防止根失效发生的最小技术方法集合,指导相似软件的开发过程,保证软件的健康。
最后,本文在以上研究的基础上进行了相关的总结,指出了本文的主要工作和创新点,并指出了下一步的工作方向。