APP下载

空难事故对软件业发展的警示

2019-07-31蒲松涛钟新龙

软件和集成电路 2019年5期
关键词:软件技术波音公司空难

蒲松涛 钟新龙

作为全球最大的航天航空器制造商,波音公司在推动数字化转型、促进工业技术软件化方面一直走在世界前列,但短短半年时间,波音新型客机737-MAX接连发生两起空难,300余名乘员全部遇难,在全球范围内引起极大震动。那么,数字化水平相对较高的波音737-MAX接连发生空难,与软件存在哪些关联?对软件产业的发展又有哪些警示?值得探讨。

软件成为波音737接连发生坠机事故的关键因素

全面数字化在大幅提升波音737-MAX综合性能的同时,也带来了安全隐患。波音737-MAX是波音737配备新型发动机的衍生机型,包括737-MAX8、737-MAX9等多个型号。新型软件的融合应用是新机型改进的重要方向,比如电传扰流板系统,可提高操控可靠性,缩短降落滑行距离;电动引气系统,可以优化客舱压力和防冰系统;机载网络系统,包括数字化飞行数据获取组件(eDFDAU)和网络文件服务器(NFS)。通过一系列改进,波音737-MAX建立了由软件和网络构建的“大脑”和“神经”,包括传感器在内的诸多硬件功能都可通过软件来进行管控。相对传统机型,波音737-MAX在燃油经济性、飞行操控性、机舱舒适度、飞行状况透明度等方面均有显著提升。但是,新兴软件技术的融合应用也是一把双刃剑,若是缺乏必要的自适应调节能力,存在明显的设计漏洞,操控设置过于复杂,应急保障组件不完善等因素,均可能导致始料未及的严重后果。

数据错误和软件漏洞导致了两起坠机事故的发生。根据最新调查结果,综合飞机残骸中提取到的最新信息以及卫星追踪系统所记录的飞行数据,近来两起波音737-MAX8坠机事件存在相似之处。专业人士分析,事故原因是飞机迎角传感器数据错误触发“防失速”自动操作,进而导致机头不断下压,同时机头失控后飞行员多次手动拉升操作无效,以致飞机坠毁。据此推断,迎角传感器以及自动控制下压机头的系统MCAS(自动纠正失速系统)是导致事故发生的关键。MCAS主要用于预防波音737-MAX配备新型发动机后所带来的大迎角飞行失速风险,其设计初衷在于,如果飞机机身上的传感器检测到高速失速情况,即使在没有飞行员输入信号的情況下,该系统也会强制将飞机的机头下压。然而,当传感器信号有误时,如果飞行员无法第一时间按照要求进行相应操作,就会使飞机在MCAS的控制下下坠。根据已有资料初步分析,两次事故情况类似,客机出事前均出现异常俯冲及爬升,传感器数据采集错误和客机本身软件系统问题应是导致事故发生的主要原因。

软件系统升级成为波音公司应对坠机事故的主要补救措施。埃航事故发生后,波音公司已经向全球发出停飞建议,并宣布暂停交付737-MAX系列机型。作为应对事故发生的补救措施,波音公司针对MCAS的系统升级将在全球范围内展开,据最新消息,波音公司彻底修改了747-MAX MCAS系统软件,并组织举行软件升级计划说明会。波音公司称,MCAS系统软件更新研发工作自狮航事故后就已开展。

波音737事故揭示软件化过程中需关注的三个重点

经历了软硬一体化、软件产品化、软件服务化等三个阶段,软件的服务化、网络化和智能化成为当前发展趋势。伴随数字化进程的不断加快,目前的波音公司,既是航天航空器制造商,也可被看作是一家软件公司或大数据公司。波音公司基于飞机飞行产生的海量数据,再利用软件来对数据进行整合、分析,进而改进飞机的各项性能。据统计,波音研发中使用了8000余种软件,其中7000多种由波音公司自行开发,飞机研发设计和系统控制的软件技术已成为波音公司的核心机密技术和核心竞争力。当前,我国制造业转型升级的一个重要方向是工业技术软件化,提高软件技术研发和应用能力已成为能否赢得未来竞争的关键。

波音737事故表明,在工业技术软件化的过程中,需重点关注软件能力建设、软件可控力、软件安全检测三个方面。

软件能力建设要逐步从以开发为主向开发应用平衡转变。当前,软件正逐步渗透到经济社会发展的各个方面,软件化驱动传统行业改造升级,软件需求也在向应用端延伸。一方面,技术创新更加聚焦于与行业应用场景的适配,定制化软件开发的需求正在上升。以波音公司为例,8000多个软件中仅有1000多个是通用软件,绝大部分都是飞机制造领域的专用软件。因此,在软件技术创新中,对既懂软件开发又懂应用需求的复合型人才的需求将更为迫切,这也是未来我国软件人才培养的方向。另一方面,应用方的软件应用能力也至关重要,软件价值的更大化既依赖于软件本身,也依赖于应用水平。这一问题在波音空难中尤为突出。事实上,导致空难的MCAS系统是能够由驾驶员完全关闭的,倘若驾驶员熟悉该软件控制方式并合理操作,有极大的可能会化险为夷。因此,我国软件产业在快速发展和应用渗透的同时,必须加大对软件基础技术的普及和应用能力的培养。

软件可控力要强调对核心代码的理解程度和管理能力。在软件领域,代码是核心技术载体,可以说,谁掌握了代码,谁就拿到了核心技术创新的主动权;谁主导技术创新,谁就拥有更多软件可控力。一方面,应当对软件的设计细节了然于胸,以避免出现设计缺陷和低级漏洞。另一方面,应当提高软件更新迭代的效率,在出现问题后能够及时补救,使损失最小化。波音空难的发生,与这两个方面均有关联。有研究人员指出,波音737-MAX的MCAS系统存在非常低级的逻辑错误问题,同时原定的系统软件更新也一再推迟。其原因可能与波音公司软件开发依赖他国公司外包、自身缺乏主导权且疏于管理有关。围绕软件可控力,软件代码的控制权以及软件创新的主导权在未来市场竞争中的价值正在凸显,2018年微软花费75亿美元收购全球最大的开源代码托管平台GitHub就是例证。当然,提高软件可控力也不完全等同于系统框架下每个软件都需要完全自主开发,我国C919飞机就使用了来自派克宇航、霍尼韦尔、利勃海尔等国外公司的多类系统,实现了多类软件的高效管理,做到及时更新亦是提高软件可控力的表现。

软件系统安全检测要防止“掉链子”,安全是发展的前提,只有保证了安全,软件的新功能、新性能才有用武之地,否则将会前功尽弃。波音737-MAX事故告诉我们,任何安全问题都不容忽视,安全管理应当被放在首位。一方面,任何软件系统都无法做到绝对安全,及时发现漏洞、填补漏洞可以最大程度地消除安全隐患。微软Windows系统历经30余年的持续更新,仍然无法做到所有漏洞全部消除,至今依然在持续不定期地发布安全补丁。另一方面,安全管理不容忽视,特别是对于核心软件系统,都应进行全面的第三方安全漏洞检测,做到没有通过安全检测的坚决不使用,不上线。

启示和建议

当前,软件化已成为重大工程推进、重要平台建设、重点产品制造的关键能力,其重要性毋庸置疑。从企业应用端看,在融合应用云计算、大数据等新一代信息技术进行软件化转型升级的过程中,要认真汲取波音737事故带来的教训,不断强化对软件技术和产品的可控力,提高软件应用水平使软件成为发展的“助推器”而不是引发灾难的“隐患源”。从软件产业发展看,应着力加强软件价值基础研究,建立完善的檢验检测等产业生态体系,提高复合型人才供给水平,促进产业安全有序发展。

掌握关键技术创新的主动权,提高应急水平。一是依托科研机构和重点企业开展软件核心技术攻关,不断提高软件核心技术创新能力。建立多方参与、多方共享的软件代码分享平台,促进软件技术的开源开放。支持企业积极参与或主导全球主要开源项目,提高对前沿技术的应用改造能力,获取关键开源项目的创新主导权。引导软件企业加强对重点产品的持续创新,推动软件产品更新迭代,提升用户体验,减少安全漏洞。二是围绕重大信息系统、平台等优化软件管理体系,建立软件安全漏洞预警平台,提高漏洞修复效率。

完善检测评测管理体系,强化安全保障。一是支持第三方软件检验检测机构加大技术创新投入,提升软件产品和信息系统的检验检测技术水平,提高面向软件研发和软件化应用的服务能力。二是加强面向重点信息系统的安全管理,针对核心环节的重要软件系统,要求其必须通过合格第三方检验检测机构的软件系统安全检测认证。三是加强对第三方软件检验检测机构的指导和管理,引导软件开发商和应用方树立安全检测意识,积极开展软件的第三方评测。同时,要支持信息安全企业围绕公共服务信息系统开展漏洞检测等工作,对“白帽子(正面黑客)”提供必要的支持。

着力营造复合型软件人才的培养环境,提升软件应用能力。一是将软件基础技能纳入素质教育能力培养范畴,支持高等院校进一步办好软件学院,积极开设大数据、人工智能等行业需求旺盛的专业,提高软件专业人才的供给量。二是面向行业软件化发展需求,推动培训机构、软件企业与行业企业间开展联合培训,组织技术交流,着力培养既懂软件技术又熟悉应用需求的复合型人才。三是积极开展重点领域软件技术应用试点示范,组织开展软件应用人才培训,建立人才培养与认定体系,提高应用端软件产品的应用水平。借助微信等新媒体手段,普及软件基础知识,传播软件和代码文化,提高全民的信息素养。

猜你喜欢

软件技术波音公司空难
本期导读
信息时代机械设计制造及自动化分析
空难的那些事
Thinking Through Visual Communication
波音推出自动驾驶巨型无人机
UGNX软件技术在农机从业人员技术培训中的应用
空难
民办高职院校软件技术专业深度校企合作模式探索
波音再次推迟交付“梦幻”客机