被疑酿成波音737MAX空难 飞控软件上天前要经历大考
近日,美国联邦航空管理局新局长斯蒂芬·迪克森在宣誓就职时表示,暂时没有737MAX复飞的计划,并重申安全是第一要务。美国航空公司也于最近宣布延长波音737MAX机型的停飞时间,停飞时间将延长至12月3日。
众所周知,去年10月和今年3月,印尼狮航和埃塞航空先后发生波音737MAX客机失事事件,该机型随即在全球范围内遭到停飞或禁飞。后调查发现,两起空难皆与客机的自动防失速软件(MCAS系统,即机动特性增强系统,以下简称MCAS)被错误激活有关。
随着自动化程度不断加强,越来越多类似MCAS这样的飞控软件“登”上飞机,那么它们是如何被研制出来的?又如何确保其绝对安全?
标准充当安全研发指挥棒
作为一种自动安全软件,MCAS的设计原理其实并不复杂。简言之,它是通过对飞机迎角传感器信号的判断来驱动飞机控制系统。其可自动将飞机机头向下推,以防止升力损失,从而实现飞机自动安全保护。
“该自动软件只在飞机襟翼收上、处在手动飞行状态时才生效,由飞行控制计算机根据迎角传感器和其他飞机系统输入的信号来控制,无需飞行员下达指令。”北京理工大学软件安全工程技术北京市重点实验室专家闫怀志在接受科技日报记者采访时表示,“这埋下了两大安全隐患:迎角传感器系统若发生故障,那么输入MCAS的信号就可能存在错误;飞机的最高操控权不在飞行员手中,软件安全执行缺少最后一道防线。”
闫怀志指出,在设计MCAS过程中,工作人员利用海量的飞行数据并对其进行智能分析处理,以形成自动安全算法。在自动化程度越来越高的民航领域中,类似MCAS这样的机载软件安全性对航空器的重要程度也越来越高。然而,由于机载软件的特殊性,无法像飞机其他部件的结构、强度等那样进行检查和测试,更无法像一般软件那样进行穷举测试,因此机载软件的安全性通常需要依靠严格、规范、标准的软件研发流程来保证。只有这样,软件才能通过旨在保证飞行绝对安全的民用航空器的适航审定。
目前,国际上机载软件适航审定主要依据美国航空无线电技术委员会(RTCA)DO-178《机载系统合格审定过程中的软件考虑》系列标准。该标准被美国联邦航空局、欧洲航空安全局和中国民用航空局等民航管理部门广泛采用。
该标准在软件工具验证、基于模型的开发和验证、面向对象编程、形式化方法等诸多方面提出了严格的规范操作指南,从而使机载软件在过程、数据、目标3方面满足严苛的适航要求。机载软件的开发、运行、验证以及迭代升级均需以该系列指南为基本遵循,以最大程度保证机载软件的安全性和可靠性。
取得飞行资质才能“上岗”
标准发挥了指挥棒的作用,那么在实践中,飞控软件又是怎样被炼成的?
北京航空航天大学无人系统研究院副教授李大伟告诉科技日报记者,首先应明确要研制的飞控软件的具体需求,制定研制总要求并进行方案设计,例如研制哪些模块、实现哪些功能等。随后再经过详细设计,将飞控软件“精雕细琢”出来。
“飞控软件在投入使用前,要经过大量的仿真试验,验证其安全性和可靠性。”李大伟表示,仿真试验通常分为设计仿真、全数字仿真、半物理仿真这3个阶段。
设计仿真通常是在“矩阵实验室”(MATLAB)平台或设计人员内部搭建的平台上进行的,如验证对飞行控制系统形成控制指令的算法设计得是否合理等。全数字仿真旨在验证飞控软件的实际功能,让飞控代码在飞控计算机上“跑”几圈,看软件能否顺利完成计算机所下达的指令。不同于全数字仿真中全虚拟的物理空间,在半物理仿真阶段,工作人员则将一些飞机部件的实物纳入进来,如舵机、传感器等,从而更好地反映出这些真实部件在飞行过程中可能出现的指令延迟等现象,根据反馈去调整飞控软件。