龙空技术网

波音 777 飞机由 Ada 语言驱动,不知道给飞机写代码压力有多大?

胆小的麦迪文 23721

前言:

目前姐妹们对“c语言飞机代码”大致比较注意,各位老铁们都想要学习一些“c语言飞机代码”的相关文章。那么小编在网摘上汇集了一些有关“c语言飞机代码””的相关知识,希望同学们能喜欢,兄弟们快快来了解一下吧!

守护最好的PHP!!!

「Working Together」是波音公司最初考虑生产 777 喷气式飞机时选定的项目名称。当时,波音公司打算让参与该 777 飞机项目的 1 万名员工接受公司内部部门和外部供应商之间的开放和非竞争性政策。

波音的管理层认为,从二级液压制动到自动驾驶系统,「Working Together」是实现飞机系统各个部分尽可能高质量的方法。

「Working Together」模式面临一个挑战,波音公司坚持飞机软件必须用 Ada 编程语言编写。波音的工程航空电子软件经理 Brian Pflug 说,大多数公司根本不喜欢标准语言的想法,然后极力反对 Ada 太不成熟。此外,有一个供应商(Sundstrand)在开发其项目的一部分时已经进行了 6 个月,并且用了另一种编程语言。

(波音公司的供应商之一)霍尼韦尔公司通过对 Ada 和 C 编程语言的优势做了广泛研究。研究得出结论,Ada 内置的安全特性能减少开发时间、降低费用,减少调试的关注。所以当研究结果出来后,霍尼韦尔同意采用 Ada 的决定。

波音 777 主要电力系统的供应商 同意了这种转换。后来 Sundstrand 反馈,在换语言之后,开发工作继续顺利进行。项目经理在接受电话采访时说,「我们不得不重新开始。但在那之后,项目进展非常顺利,所以 Ada 有很多积极的方面。」

由于他们都参与了 777 飞机的 Ada 项目,飞机系统的其他部分的供应商(包括刹车控制系统供应商 Hydro-Aire)继续也就都采用了 Ada 语言。

寻找工具

选定 Ada 语言后,波音的各个供应商的首要任务,就是为手头的任务选择合适的 Ada 编译器。

霍尼韦尔公司(负责驾驶舱的飞行控制系统),从 DDC-I 公司购买了 Ada 编译器系统,将其作为霍尼韦尔符号调试器的前端源代码。后来这 2 家公司合作一年半,针对 AMD 29050 微处理器,构建了 Ada 编译器的最终调试器和整个后端。

Hydro-Aire 公司(负责刹车控制系统),从 Alsys 公司购买了 Ada 软件开发工具 AdaWorld 。每架波音飞机的刹车控制系统都有 2 个摩托罗拉 58333 微控制器。

Sundstrand 公司(负责电力系统)也是选择了 Alsys 的 AdaWorld,然后选用了Intel 80186 微处理器。

波音 777 飞机子系统的代码量

Sundstrand 公司开发的电力系统,大约 8 万行 Ada 代码,代码重用率在 10~15%。

波音 777 的客舱管理系统,大约 7 万行代码;

霍尼韦尔开发的飞机信息管理系统(AIMS)大约有 61.3 万行代码。他们在波音飞机项目上投用的程序员多达 550 名。

「程序员的那些事」暂时只找到波音 777 的 3 个子系统的代码量,至于飞机总代码量是多少,暂没找到相应数据。

参考:维基百科、AdaIC

彩蛋:

with Ada.Text_IO;procedure Main isbegin Ada.Text_IO.Put("Hello World!"); Ada.Text_IO.New_Line; null;end Main;

学习从来不是一个人的事情,要有个相互监督的伙伴,工作需要学习python或者为了入行、转行学习python的伙伴可以私信回复小编“学习”,资源共享和大牛面对面交流

标签: #c语言飞机代码