⼀、概述
美国联邦航空局将 Do-178C 作为民⽤航空机载设备软件研发的主要标准,全世界的适航法规体系普遍将其做为⼀种AC(咨询通告)进⾏参照对标。Do-178C虽然在民机航电⼯程安全性⽅⾯提供了系统化的指导,但其在实际的航电设备研发应⽤中会出现⼀定程度的模糊性、⼆义性,以致于在近年来的系统故障空难案例中可以看到异常控制指令的成因端倪,国内民机业界对此莫衷⼀是。本⽂提出的⼩众学术观点,阐述Do-178C条⽂在民机航电⼯程上提供的研制指导⽅向有模糊性、⼆义性。
⼆、概要分析
以下是对Do-178的技术特征的不⾜分析:
1、所谓“A级标准软件(Level A)”范围,在Do-178C 条款中没有阐述明确的设备需求,条款指向不明。
在Do-178C 条款中,根据软件功能的失效危害特征给出了“A级标准软件”的⽂档定义,但是并没有做出清晰的需求指向。⽐如燃油系统控制器软件,是不是“A级软件”,肯定是,⼀旦失效则飞机动⼒即时停⽌。最近印度航空的787坠毁事件与此有关。但Do-178C 的“A级标准软件”定义,并没有指出燃油控制(指令)软
件的“A级软件”属性。
笔者建议的“A级标准软件”范围,还可以有主飞控软件、舵机控制器软件、发动机FADEC软件等等。
2、所谓“A级标准软件”是否含有⽀撑运⾏的内核、编译系统等,在Do-178条款中没有明确指向。
任何⼀种软件的(Run)运⾏,都必需有编译⼯具的⽀撑,所谓软件(Software)的运⾏,只是⼀种表⾯的概念,内部还是设备指令的数字信号脉冲过程。软件的(Run)运⾏失效,实则是信号脉冲的发⽣失效。因此,“A级标准软件”和设备OS内核的系统关系,在Do-178条款中没有明确的需求指向。
3、所谓“A级标准软件”到底是定向确定为⼀种编程⼯具的可视化代码,还是底层硬体嵌⼊式运⾏的汇编软件,在Do-178条款中都没有明确指向。
软件(Software)的学术定义本书就是⼀个不完整的学术定义,何为“软件(Software)”,如果定义到可编程、可修订、可安装的指令为“软件”,那么汇编器、编译器都是软件,Do-178要做出规范的“软件”是界限不清的。Do-178要求对系统需求做“双向追溯”,但未明确如何处理⾼层需求(如功能需求)与底层需求(如设计需求)的颗粒度差异。因⽽Do-178在“软件(Software)”的需求可追溯性上出现了含糊。
4、Do-178C要求通过“⽬标(Objectives)”来验证软件是否符合适航标准,⽽“⽬标(Objectives)”则是⼀个⽐较含糊的飞机⼯程技术的概念,未能明确量化达标的具体证据。
飞机级⽬标(Objectives)和系统级⽬标(Objectives)、⼦系统级⽬标(Objectives)、零件级⽬标是⼏个范围不同的系统要求细则,这些在Do-178条款缺少清晰的指向。
5、Do-254(硬件适航规则)与Do-178C的协同适⽤性不清晰,尤其是采⽤硬件描述语⾔(HDL)实现的混合系统,⽐如飞控计算系统的固件,在Do-178条款中没有明确的需求指向。
本质上,机载设备的硬体和软体,⼆者都是控制指令/数字脉冲信号这⼀种事物,应该以系统控制指令的适航性现象来界定,⽽不是单独界定出⼀种叫做“软件(Software)”的“飞机零件”。
6、当代民航机载设备开始应⽤多核处理器进⾏运算,多核处理器上时序信号的可靠性验证(如缓存竞争),尚缺乏具体的软件⼯程⽅法学。
在Do-178条款中也没有明确指向,⽽且⼯程界也没有形式化验证的成熟⽅法。
三、总结
Do-178虽然⼴泛流传了多年,还不能说它是⼀个完善的法规性适航技术标准。在波⾳B737Max8的两次坠毁事件中,都可以从Do-178适航规则的⾓度找到控制指令(软件)失效的问题。那么,既然传感器数据在B737Max8型号飞机运⾏中出现了严重的A级失效,造成了飞控的MCAS系统出现了⼈机控制权争夺,它又是怎么通过的FAA以DO-178标准做出的控制软件评审呢?!
Do-178条款内容⽂意的总体特点,既可以⽤来指导做⼀套超市进销存软件,也可以⽤来指导⼤型客机的关键航电设备,其条款范围的宽⼤⽆边更像是软件⼯程学的学术阐述,⽽不是⼀个专门为民航飞机航电设备“量体裁⾐”制定的⼀套规则。
Do-178条款在航电软件⼯程中的设备指向含糊其辞,就会造成民航飞机及机载设备的重⼤隐患和盲区,这在B737Max8的印尼狮航、埃航的两次惨重空难中已经有了先例。B737Max8的飞控MCAS软体,必需声明其为“A级标准软件”,其运⾏过程不得触发任何飞机级的“A级失效”,更不能触发与驾驶员权限的互相博弈,这是其进⼊适航审定的前提条件。飞控MCAS软体,如果触发了飞机级的“A级失效”,它就是违反了25.1309适航条款。(第25.1309 设备、系统及安装 (a) 凡航空器适航标准对其功能有要求的设备、系统及安装,其设计必须保证在各种可预期的运⾏条件下能完成预定功能。)
四、建议
Do-178未来需要推出更好的形式化⽅法补充,对“A级失效”的⾼关键性设备模块,需要采⽤形式化验证以增强其适航性认证过程的确定性。
中国民航CCAR适航局⽅,建议对Do-178C 条款应该增加清晰的补充声明,利⽤SAE ARP4754A、DO-297 IMA指南等补充解释,对功能危害分析(FHA)和A级失效运⾏场景的软件(Software)界定范围(燃油指令软体、起落架指令软体等)做出陈述,尤其
是在指令软体的底层与硬体衔接的信号部分。