第1章 软件健康管理基本内容 1
1.1 软件健康管理发展起源 1
1.1.1 健康管理技术发展历程 1
1.1.2 软件健康管理技术发展动因 6
1.2 基本概念 9
1.2.1 软件错误、软件缺陷、软件故障、软件失效和软件异常 9
1.2.2 故障诊断、失效预测 11
1.3 软件健康管理基本问题 12
1.3.1 软件健康 12
1.3.2 软件健康管理概念 12
1.3.3 与现有技术的区别及联系 14
1.4 软件健康管理涉及的关键技术 16
1.4.1 软件健康管理层次结构 16
1.4.2 基于软件传感器的实时监测 19
1.4.3 软件故障诊断 22
1.4.4 软件健康评估问题 23
1.4.5 软件异常减缓策略 24
1.5 软件健康管理发展现状 25
1.6 小结 36
第2章 软件故障模式分析方法 37
2.1 安全关键软件概述 37
2.1.1 安全关键软件概念 37
2.1.2 安全关键软件特点 38
2.2 故障模式分析常用方法 39
2.2.1 故障树分析法 39
2.2.2 事件树分析法 41
2.2.3 危险和操作性分析法 44
2.2.4 软件FMEA 46
2.3 SWHM 结构化方法 52
2.3.1 方法 52
2.3.2 结果分析 53
2.4 小结 80
第3章 软件健康信息获取技术 81
3.1 软件构件技术的发展 81
3.2 典型软件构件介绍 84
3.2.1 CORBA构件模型(CCM) 84
3.2.2 Java Beans/EJB 85
3.2.3 COM/DCOM 86
3.2.4 模型比较 88
3.3 软件健康信号提取 89
3.4 软件异常信息获取 93
3.4.1 支持健康管理的通用软件构件模型 93
3.4.2 异常监测元模型 94
3.5 SHMCM在航天型号软件中的应用 98
3.6 小结 101
第4章 软件性能异常检测技术 102
4.1 软件性能异常检测方法 102
4.1.1 基于统计方式的异常检测 103
4.1.2 基于人工智能的检测方法 104
4.2 基于免疫遗传的软件性能异常在线检测 106
4.2.1 数据预处理 107
4.2.2 编码和度量 107
4.2.3 检测子的产生 108
4.2.4 进化 109
4.2.5 检测 111
4.2.6 算法描述 111
4.2.7 仿真实验 112
4.3 基于ASW-RTS 的软件性能异常在线检测 117
4.3.1 ASW-RTS算法建模 117
4.3.2 在线检测过程及算法分析 122
4.3.3 实验验证及结果分析 124
4.4 小结 129
第5章 基于贝叶斯网络的软件健康管理技术 130
5.1 贝叶斯网络基础知识 130
5.1.1 基本概念 130
5.1.2 推理原理及算法 133
5.2 贝叶斯网络建模方法 138
5.2.1 手动建模 138
5.2.2 自动学习建模 139
5.2.3 两阶段建模 142
5.2.4 常用工具 142
5.3 面向SWHM 的贝叶斯网络建模 143
5.3.1 节点 143
5.3.2 拓扑空间 145
5.3.3 节点状态空间 147
5.3.4 条件概率分布 147
5.3.5 软件传感器及其数据处理 149
5.4 基于贝叶斯网络的某飞行控制系统SWHM系统构建 152
5.4.1 飞行控制系统概述 152
5.4.2 方法步骤 154
5.4.3 系统结构 158
5.5 实例应用 160
5.5.1 具有缺陷的文件系统 160
5.5.2 信号处理故障 165
5.6 小结 169
第6章 基于TFPG 推理模型的软件健康管理技术 171
6.1 相关工作 171
6.1.1 故障传播模型 171
6.1.2 故障检测 172
6.2 基于TFPG的故障诊断 173
6.2.1 TFPG模型 173
6.2.2 推理算法 176
6.3 基于TFPG的软件健康管理 179
6.3.1 ACM中的健康管理 179
6.3.2 TFPG故障推理机设计 182
6.4 应用实例 190
6.4.1 周期性Consumer 端口的通用TFPG模型 190
6.4.2 GPS 集合的TFPG 模型 193
6.4.3 诊断过程 194
6.5 小结 195
第7章 软件健康度量方法研究实例 197
7.1 软件健康度量相关概念 197
7.1.1 软件度量 197
7.1.2 软件健康度量 199
7.2 软件健康状态划分 200
7.3 基于过程的软件健康度量参数选取 202
7.4 安全关键软件健康综合度量 204
7.4.1 基于可靠性的固有健康度量 205
7.4.2 资源健康度量 211
7.4.3 功能健康 211
7.4.4 软件健康指数计算 217
7.5 小结 218
第8章 软件故障修复技术研究 219
8.1 软件故障修复方法分析 219
8.2 基于软件重构的减缓技术研究 221
8.2.1 基于反应的减缓技术 221
8.2.2 基于推理搜索的减缓技术 222
8.3 基于反应和推理搜索的组合式减缓技术 229
8.3.1 组合式减缓策略可行性分析 229
8.3.2 组合式减缓策略框架 229
8.3.3 面向SHMCM的定时状态机 231
8.3.4 组合式减缓引擎的重构算法 234
8.4 小结 240
第9章 软件健康管理应用实例 241
9.1 惯性测量单元实例 241
9.1.1 GPS 子系统 242
9.1.2 ADIRU 子系统 244
9.1.3 PFC子系统 248
9.1.4 显示子系统 248
9.1.5 生成的TFPG模型 249
9.1.6 系统健康管理 249
9.1.7 部署 251
9.1.8 运行 253
9.2 航天测发控软件实例 260
9.2.1 框架设计 260
9.2.2 功能构件抽取 262
9.2.3 系统实现 263
9.2.4 健康管理系统测试与分析 266
9.3 小结 269
参考文献 270