2011 年,当一系列风暴横扫纽约州南部时,约翰逊市的 BAE 系统公司的设备遭洪水淹没,水量超过 1600 万加仑。洪水造成的损坏包括:计算机系统、文件和整个工作区域,威胁到许多正在进行的项目,这些项目包括开发世界上第一个电传 (FBW) 中型商用飞机的飞行控制计算机 (FCC) 软件。
基于模型设计帮助 BAE 系统团队让项目重新回到正轨,并通过 DO-178B A级认证。
BAE 系统公司的首要飞行控制计算机。
挑战
除了天气造成的损坏,BAE 系统公司的工程师们还面临着另一个意料之外的事件。他们还需要承担同一架飞机的第二个项目:为另一个飞行悠关级别的应用开发软件。客户提出了成千上万的高级别要求,为满足这些要求,团队需要通过 Embedded Coder生成近 200,000 行代码,这些代码将与 OS 及应用程序其余部分的手工代码集成。
BAE 系统公司采用了一种开发方法,通过仿真、需求追溯、模型覆盖分析和代码生成等方式支持了 DO-178B 设计保证 (DAL) 级别 A 的认证。这种方法使他们能够有效地响应需求变更和无法预见的事件。
解决方案
BAE 系统公司工程师采用基于模型设计,用MATLAB、Simulink、Embedded Coder开发这些应用程序。他们曾使用这些工具来按照 DO-178 A 级要求开发飞行软件,这些软件应用在军事和商用飞机项目中。
客户通过 IBMRationalDOORS 中提供高级需求,工程师按此在Simulink中建立模型。
他们使用Simulink Requirements及其需求管理接口(RMI)提供 DOORS 的需求与Simulink模型的设计元素之间的可跟踪性。这种方法同时支持开发和认证。
为了模型的早期集成,团队使用客户提供的测试向量在Simulink中运行仿真。
BAE 团队使用Simulink Coverage分析模型覆盖率,并确定模型中未测试的元素。在准备飞行测试时,他们编写了额外的测试用例来覆盖所有未测试的元素。
团队将较小的模型集成到与软件体系结构一致的更高层模型中,并使用Embedded Coder为两个模型生成应用程序代码。
“当我们使用 Embedded Coder 从 Simulink 模型生成代码时,接手代码的团队知道结果非常好,因为它经过了调试,完全满足需求,并且通过了用户提供的 Simulink 测试向量的测试。这是项目上的一个巨大优势。”
——Harvey Maria Radecki, BAE Systems Electronic Solutions
经过代码审查和形式验证,飞机的飞行悠关级别软件获得了联邦航空局(FAA)、欧洲航空安全局(EASA)和另一个监管机构的认证,现在正在量产。
在洪水之后,团队利用这个机会升级他们的MATLAB、Simulink和Embedded Coder软件。他们还建立了建模语义的最佳模式,以符合当前工具集的发展方向,包括使用模型引用和配置集。他们在一个新项目上实施了这些最佳模式,该项目的规模大约是喷气式商务飞机项目的 10 倍。
结果
开发效率加倍。“基于模型设计比传统的手工编码方法效率要高 1.5 到 2 倍,”Weaver 说。“这一增长涵盖了软件生命周期的所有方面,从高级和低级需求到编码、集成和验证。”
认证按计划进行。“将需求与模型联系起来,在 Simulink 中持续测试,用 Embedded Coder 生成符合 DO-178B 级别 A 的产品代码,这是产品虽然遇到挫折但依然按计划进行的关键。” BAE 系统公司的应用软件首席工程师 Maria Radecki 说,“将文本需求追溯到模型元素实现的能力在认证机构大获成功。”
团队间沟通更便利。“在整个项目中,我们依靠 Simulink 作为通信媒介,” Weaver 说。“美国、英国和巴西的团队都参与了这个项目。详细的、定量的 Simulink 测试向量和模型是高级需求的补充,并使这些地理上分散的团队能够轻松地相互沟通。”
-
计算机
+关注
关注
19文章
7414浏览量
87704 -
计算机系统
+关注
关注
0文章
281浏览量
24088 -
应用程序
+关注
关注
37文章
3240浏览量
57596
发布评论请先 登录
相关推荐
评论