写点什么

波音 737 事故,软件化要不要“背锅”?

2019 年 3 月 11 日

波音737事故,软件化要不要“背锅”?

两次惨痛空难后再看波音的软件化之路:它曾满载荣光,如今备受质疑。


事件回顾

3 月 10 日,埃塞俄比亚航空公司一架波音 737 MAX 8 客机在飞往肯尼亚途中坠毁。机上有 149 名乘客和 8 名机组成员,无人生还。


据报道,此次失事的是一架全新的波音飞机,四个月前才交付给该航空公司。这是波音 737 MAX 8 半年内出现的第二起严重事故。(第一起为 2018 年 10 月 29 日印尼狮航的坠落事件,189 人罹难)目前中国大陆共有 96 架该机型飞机正在运营,中国民航局今天表示,为确保中国民航飞行安全,囯内暂停该机型的商业运行。


一年多前,波音公司还是传统企业数字化转型的杰出代表,其软件化发展得到工业互联网领域的一致认可。但短短半年时间,同一机型两次空难,其中一次的失事原因已明确为软件设计缺陷。这样惨痛的后果,软件化是不是要“背锅”?更有人无奈戏言:波音真把自己当互联网企业了,让用户去试 bug。


波音的数字化转型,还有参考意义吗?


两次空难的技术原因分析

伤痛之余,我们仍需复盘两次坠机的原因。


回顾第一起坠落事件,调查人员发现,失事飞机的迎角传感器“数据错误”触发“防失速”自动操作,导致机头不断下压,飞行员多次手动拉升未果,飞机最终坠海。


这个自动控制下压机头的系统,名叫 MCAS,意为自动纠正失速系统。波音 737 MAX 在设计上配备了更粗大更省油的发动机,而这也使得飞机容易在大迎角飞行失速。为此,波音设计师就为 737 MAX 开发了 MCAS。这是波音 737 MAX 的一种操纵辅助系统,其设计初衷是,如果机身上的传感器检测到高速失速的情况,即使在没有飞行员输入信号的情况下,该系统将强制将飞机的机头向下推。



但在狮航空难事件中,该系统接收到了错误数据,导致飞机在正常情况下开始不断下压机头,飞行员在 11 分钟内连续手动拉升 20 余次终告失败,坠海罹难。


狮航空难发生后,国内资深机长陈建国表示:“狮航空难是飞机信号系统接收到一个假信号,信号显示飞机‘抬头’,所以控制系统持续给出了‘低头’的指令。机组与控制系统搏斗很长时间,最终发生事故。”


根据波音公司对飞行员的培训,发现该系统程序有 4 个特点:


  1. 发现失速后,程序只相信主传感器,不与备份传感器核实。(同样的情况空客的飞机则会交给飞行员处理。)

  2. 一旦相信,不通知飞行员,直接操纵机翼。

  3. 飞行员手动操作后,仍旧会每五秒自动执行,让飞行员不得不与飞机较劲。

  4. 程序开关非常隐蔽。


业内人士指出:“因为 MCAS 系统,737 MAX 飞机可能在计算机控制下执行长达 10 秒的非指令性低头,单靠驾驶杆操作很难拉住。而如果飞行员并不清楚这一切,那么就可能变成飞机俯冲-人工向上配平-飞机继续俯冲的搏斗,飞行员的胜算并不大。”


空难发生后,波音公司更新了 737 MAX 飞行操作手册,指导飞行员如何应对“迎角传感器数据错误”,报导称波音考虑虑修改软件设置:自动系统触发后,一旦机组人员对设置作“反向”操作,即可关闭 MCAS 的“自动下压机头”功能。但这一“软件升级”并没有得到官方的确认。


本次埃塞俄比亚航空空难的具体官方报告还未公布,从目前已有的消息来看:这架飞机失事前,最大地速达到 383 海里每小时,超过了飞机正常的飞行速度。该机起飞经历后反反复复爬升下降,下降爬升的过程,高度 7000~8600 英尺之间,最大地速达到 383 海里每小时,超过了飞机正常的飞行速度。该数据与狮航的全球第一架 737MAX 空难有些相似,都可以归结为 LOC—空中失控。具体原因还需要更多的数据来分析。


回过头来再看看波音的软件化道路:它曾满载荣光,如今备受质疑。


波音的软件化之路

2012 年,由通用电气发起,思科、IBM、英特尔等 80 多家公司成立了工业互联网联盟,试图重新定义制造业的未来,这其中的一员,就有波音公司。


波音公司是全球最大的航天航空器造商。每天,数以千计的波音客机从全球各地机场起降,将旅客运送至目的地。举个例子,波音 787 梦想客机飞行一次就会产生多达 1TB 的数据,每年数百架 787 梦想客机飞行数千次,产生的数据使得波音公司坐拥了一座数据金矿。


面对如此海量的数据,这家 100 多年历史的公司意识到,需要重新思考软件方法,才能充分利用所有这些数据来改进各种职能。波音公司的核心竞争力并非工厂和生产线,而是其 7000 多种软件。波音研发设计涉及 8000 多款软件,其中 1000 多款为通用软件,可以通过市场购买获得,剩余的 7000 多种软件为波音自行开发,代表着其核心竞争力。


利用大数据预测飞行故障

波音与卡耐基梅隆大学合作建立了一个“航空数据分析实验室”,期望利用 AI 和大数据技术对波音飞机进行全面升级。这次合作的初衷是,让人类更好地理解和利用航空工业中每天产生的巨量数据,用机器学习的方法来优化波音飞机的运行,用大数据来指导设计、建造和运营。


一架飞机上往往有数千个传感器,每条航线每次飞行产生的海量数据,通过 AI、大数据技术快速锁定有效数据,让飞机在起飞前有能力预判潜在风险,从而得以进行定点检查和零部件替换,降低风险。


数字化转型的 3E 法则

2017 年 12 月,在 Pivotal 举办的的 SpringOne Platform 大会上,波音公司 CIO 办公室执行主任 Niki Allen,分享了她负责主导的波音公司软件开发方法转型的演讲。以下做简要摘录。


从传统企业到软件驱动,波音的数字化转型总结起来就是 3 个“E”法则:参与(Engagement)、卓越(Excellence)和支持(Enablement)。


参与:第一个挑战是让你的开发人员,IT 人员,业务领导人和高级管理人员 ,对转型过程和带来的成效感兴趣并激动不已。 如果没有积极参与,转型的效果就可能会大打折扣 ,这需要 IT 采用新的思维模式。除了内部新鲜血液,波音公司还与 Pivotal 等外部组织建立强大的合作关系,共同推进。


卓越:执行的质量。 实现卓越的执行要求团队的每个成员都致力于自己的工作,并与同事合作。鼓励团队成员倾听并相互学习,并与同事分享他们的知识。


支持:前两个 E 的执行会引出第三个 E:支持(Enablement)。但要支持企业发展,还需要企业自身投入到转型工作中。否则,这些工作将无法产生预期的效果。


建立数字化转型环境

波音公司将其数字工厂称为 DTE(数字转型环境) 。DTE 包括应用程序开发和运行平台 Pivotal Cloud Foundry 以及平台运行的底层硬件,还包括开发团队的新工作流程,以充分利用平台的云原生能力。这些包括支持持续集成和开发,这使得波音的应用团队能够快速测试和部署新软件到生产环境,获得用户的反馈意见,并反复持续改进软件。


通过数字软件化转型,波音公司极大地提升了数据的利用率与生产效率。但这样的数字化转型带来的也不全是好消息,不断进化的智能化、自动化技术,也带来了一些思考和问题:当软件系统出现故障或者对于飞行状况判断失误时,如何规避风险?人工何时介入?


技术发展的数字化悖论

虽然现代汽车的自动驾驶系统仍然处在很初级的阶段,但在航空领域,自动驾驶系统早已大行其道,飞机的自动驾驶系统,会根据预先设定好的航路,全程驾驶飞机,甚至完成降落,飞行员反而成为了辅助存在。在这种情况下,很容易会造成一种“自动化悖论”:


自动化不但操作简单,而且可以自动纠错,哪怕操作者不够专业都能够正常工作很长时间,他的不足被自动化完美掩盖,很可能一辈子都不会被同行发现。


即便是老手,由于系统不需要他们手工作业,原有的操作技能也会因为疏于练习而退化。


自动化系统往往在异常情况下失效,或者以发生异常的形式失效,如果操作者技巧不够熟练是无法应付这些突发状况的。


这种悖论不仅发生在飞机自动驾驶系统里,也出现在如运维自动化、自动化港口、自动驾驶汽车等领域里,我们过去讨论的大多是如何提升自动化水平,甚至做到无人值守,但是,现在我们有必要严肃的讨论一下如何防止自动化悖论了。




当金融、汽车、制造、零售等传统行业的产业互联网进程逐渐加快时,我们也不会无动于衷。把先进的软件技术介绍给更多传统行业,关注和挖掘传统行业优秀的技术实践是我们的使命。如果你对产业互联网的实践经验有兴趣,欢迎扫描以下二维码,进群与我们交流。



2019 年 3 月 11 日 18:2810309
用户头像
小智 前 InfoQ 主编

发布了 399 篇内容, 共 316.6 次阅读, 收获喜欢 1757 次。

关注

评论 1 条评论

发布
用户头像
你好,以上二维码超过100人满员了,无法直接扫码加入,
请提供一下加入的方法,谢谢
2019 年 03 月 17 日 22:09
回复
没有更多了
发现更多内容

如果生命的长度可以被改写「幻想短篇 27/28」

道伟

28天写作

【JS】异常处理

学习委员

JavaScript 前端 js 28天写作 2月春节不断更

一个合格的初级前端工程师需要掌握的模块笔记

魔王哪吒

程序员 面试 Vue 前端 2月春节不断更

区块链+电力,又擦出什么新火花?

CECBC区块链专委会

区块链

2021年 区块链最火的app爱打卡

v16629866266

互助系统软件开发,互助app开发

luluhulian

Elasticsearch Bulk API 奇特的 JSON 格式

escray

七日更 28天写作 死磕Elasticsearch 60天通过Elastic认证考试 2月春节不断更

5步教你将MRS数据导入DWS

华为云开发者社区

数据 MRS GaussDB 集群 DWS

十倍效率背后的管理逻辑

Ian哥

28天写作

人员培养,不是捷径的捷径(下)

一笑

管理 人才培养 28天写作

你会在车里唱K吗? (28天写作 Day27/28)

mtfelix

28天写作 智能汽车 MaaS 出行方案

程序员成长第三篇:好的代码和好的工程师

石云升

28天写作 2月春节不断更 工程师等级

口碑销量双爆的数据分析丛书再添新成员!

博文视点Broadview

Elasticsearch+Fluentd+Kafka搭建日志系统

LanLiang

kafka ELK EFK Fluentd 日志系统

Spark Shuffle 内部机制(一)

hanke

大数据 spark 开源 大数据平台

宗谱链,数字化区块链宗谱链传承家族文化

WX13823153201

信任从对自己诚实开始

Justin

心理学 信任 28天写作

如何快速上手 angular.js

华为云开发者社区

html Vue 数据 angular js

让我们与内心聊聊,寻找一段思考发展之路。

叶小鍵

Kubernetes安装篇(下):基于Kubeadm方式的集群部署

xcbeyond

Kubernetes kubeadm 部署 28天写作 Kubernetes从入门到精通

速看!教育上云 让学习战“疫”两不误

浪潮云

教育云

面试官:请讲一下Redis主从复制的功能及实现原理

华为云开发者社区

redis 数据 节点 redis哨兵 主从复制

为您收录的操作系统系列 - 进程管理(中篇)

Arvin

操作系统 进程 同步

统一数据管理工具——CloudQuery v1.3.3 上线!

CloudQuery社区

数据库 运维 开发工具 dba 数据库管理工具

短信验证码被刷怎么办?java 短信验证码防刷策略分析

香芋味的猫丶

黑客 短信防刷 短信验证码 短信防轰炸 短信防火墙

探索语言交互技术在政务数字化的应用

华为云开发者社区

语音 政务 语言交互 VUI G2c

Kafka架构介绍

架构精进之路

kafka 七日更 28天写作 2月春节不断更

区块链终将彻底改变医疗行业,但哪些因素制约当前的采用?

CECBC区块链专委会

区块链

RocketMQ-Spring 毕业两周年,为什么能成为 Spring 生态中最受欢迎的 messaging 实现?

阿里巴巴云原生

Docker 容器 微服务 云原生 API

Spring Boot Admin 集成诊断利器 Arthas 实践

阿里巴巴云原生

Java Docker 容器 云原生 Arthas

民进昆明市委:建议利用区块链技术优势在昆明打造金融应用平台

CECBC区块链专委会

金融 金融区块链

2021年全国大学生计算机系统能力大赛操作系统设计赛 技术报告会

2021年全国大学生计算机系统能力大赛操作系统设计赛 技术报告会

波音737事故,软件化要不要“背锅”?-InfoQ