飞行控制软件安全性与认证实践
📘 30章 · 适航与安全
01
飞行控制软件概述
定义、特点、典型架构(飞控计算机、传感器、执行机构)及安全关键性等级(DAL A/B/C/D)。
02
适航标准与法规体系
FAA(DO-178C)、EASA(ED-12C)、中国民航CCAR-25/33部,以及ARP4754A系统开发过程。
03
软件生命周期模型
V模型、增量模型、敏捷开发在飞控软件中的适用性分析。
04
计划阶段(PSAC)
软件适航计划(PSAC)的编写要点、内容结构及评审流程。
05
需求开发与管理
高层需求(HLR)到低层需求(LLR)的分解,需求可追溯性矩阵(RTM)的建立。
06
需求标准与规范
需求编写规范(如RSML、SCR)、需求验证方法(评审、分析、仿真)。
07
软件架构设计
分层架构、模块化设计、冗余管理(三余度、双余度)、健康监控机制。
08
详细设计方法
状态机设计(Statechart)、数据流图、接口控制文档(ICD)的编写。
09
编码标准与规范
MISRA C/C++、JSF++ AV、编码风格检查工具(PC-Lint、QAC)的使用。
10
安全关键编码实践
防御性编程、断言使用、看门狗机制、堆栈溢出防护。
11
单元测试策略
语句覆盖、分支覆盖、MC/DC覆盖(Modified Condition/Decision Coverage)的定义与实现。
12
集成测试方法
自顶向下、自底向上、大爆炸集成,以及硬件在环(HIL)测试。
13
系统测试与验收测试
功能测试、性能测试、边界测试、鲁棒性测试。
14
验证与确认(V&V)
独立验证与确认(IV&V)的角色、评审类型(正式评审、走查、技术评审)。
15
结构覆盖分析
语句覆盖、分支覆盖、MC/DC覆盖的分析工具与报告生成。
16
工具鉴定(Tool Qualification)
工具分类(TQL-1到TQL-5)、鉴定方法(测试、分析、历史数据)。
17
配置管理(CM)
版本控制(Git/SVN)、变更控制流程(CCB)、基线管理。
18
质量保证(SQA)
软件质量保证计划、过程审计、产品审计、不符合项处理。
19
问题报告与纠正(PR&CA)
问题报告(PR)的填写、根本原因分析(RCA)、纠正措施(CA)的跟踪。
20
认证联络与沟通
与适航当局(FAA/EASA/CAAC)的沟通策略、DER/DAR的角色。
21
软件等级划分与独立性
开发等级(A/B/C/D)对独立性的要求,独立开发与独立验证的区别。
22
参数数据与配置数据
参数数据的验证、配置数据的版本管理、飞行参数加载的安全性。
23
多版本异构软件(MVS)
MVS的概念、在余度系统中的实现、投票机制。
24
形式化方法在飞控中的应用
模型检验(Model Checking)、定理证明(Theorem Proving)的案例。
25
基于模型的开发(MBD)
Simulink/SCADE的建模规范、代码自动生成、模型在环(MIL)测试。
26
实时操作系统(RTOS)安全
RTOS选型(VxWorks 653、FreeRTOS)、分区机制(ARINC 653)、时间/空间隔离。
27
网络安全与信息安全
DO-326A/ED-202A标准、威胁分析(STRIDE)、安全通信协议(ARINC 664)。
28
持续适航与软件维护
软件升级的适航批准、回归测试策略、现场可加载软件(FLS)的管理。
29
案例研究
典型飞控软件认证案例(如Boeing 787、Airbus A350、无人机飞控系统)的剖析。
30
未来趋势与挑战
AI/ML在飞控中的应用认证(DO-178C的局限性)、量子计算对加密的影响、适航标准的演进。