用户案例

BAE系统公司使用基于模型设计如期交付符合DO-178B A级的飞行软件

挑战

为中型商务喷气机开发符合DO-178B A级标准的飞行悠关级别软件

解决方案

使用基于模型设计进行软件和系统建模;用客户提供的测试向量运行仿真;从需求到模型元素的跟踪;生成200,000行经认证的代码

结果

  • 开发效率加倍
  • 认证计划按期进行
  • 团队沟通更便利

“当我们使用Embedded Coder从Simulink模型生成代码时,接手代码的团队知道结果非常好,因为它经过了调试,完全满足需求,并且通过了用户提供的Simulink测试向量的测试。这是项目上的一个巨大优势。”

Maria Radecki, BAE Systems Electronic Solutions

BAE 系统公司的首要飞行控制计算机。


2011年,当一系列风暴横扫纽约州南部时,约翰逊市的BAE系统公司的设备遭洪水淹没,水量超过1600万加仑。洪水造成的损坏包括:计算机系统、文件和整个工作区域,威胁到许多正在进行的项目,这些项目包括开发世界上第一个电传(FBW)中型商用飞机的飞行控制计算机(FCC)软件。

基于模型设计帮助BAE系统团队让项目重新回到正轨,并通过DO-178B A级认证。

BAE系统公司高级首席系统工程师 Mike Weaver表示:“毫无疑问,在这些恶劣天气事件之后,基于模型的设计帮助了我们重新按计划进行开发。因为我们在洪水中失去了很多测试设备,在Simulink中运行仿真是一个巨大的优势,特别是当我们使用客户提供的测试向量时。在生成代码之前,Simulink使我们能对设计进行桌面验证和集成。”

挑战

除了天气造成的损坏,BAE系统公司的工程师们还面临着另一个意料之外的事件。他们还需要承担同一架飞机的第二个项目:为另一个飞行悠关级别的应用开发软件。客户提出了成千上万的高级别要求,为满足这些要求,团队需要通过Embedded Coder®生成近200,000行代码,这些代码将与OS及应用程序其余部分的手工代码集成。

BAE系统公司采用了一种开发方法,通过仿真、需求追溯、模型覆盖分析和代码生成等方式支持了DO-178B设计保证(DAL)级别A的认证。这种方法使他们能够有效地响应需求变更和无法预见的事件。

解决方案

BAE系统公司工程师采用基于模型设计,用MATLAB® 、Simulink®、Embedded Coder开发这些应用程序。他们曾使用这些工具来按照DO-178 A级要求开发飞行软件,这些软件应用在军事和商用飞机项目中。

客户通过IBM®Rational®DOORS®中提供高级需求,工程师按此在Simulink中建立模型。

他们使用Simulink Requirements™及其需求管理接口(RMI)提供DOORS的需求与Simulink模型的设计元素之间的可跟踪性。这种方法同时支持开发和认证。

为了模型的早期集成,团队使用客户提供的测试向量在Simulink中运行仿真。

BAE团队使用Simulink Coverage™分析模型覆盖率,并确定模型中未测试的元素。在准备飞行测试时,他们编写了额外的测试用例来覆盖所有未测试的元素。

团队将较小的模型集成到与软件体系结构一致的更高层模型中,并使用Embedded Coder为两个模型生成应用程序代码。

经过代码审查和形式验证,飞机的飞行悠关级别软件获得了联邦航空局(FAA)、欧洲航空安全局(EASA)和另一个监管机构的认证,现在正在量产。

在洪水之后,团队利用这个机会升级他们的MATLAB、Simulink和Embedded Coder软件。他们还建立了建模语义的最佳模式,以符合当前工具集的发展方向,包括使用模型引用和配置集。他们在一个新项目上实施了这些最佳模式,该项目的规模大约是喷气式商务飞机项目的10倍。

结果

  • 开发效率加倍。“基于模型设计比传统的手工编码方法效率要高1.5到2倍,”Weaver说。“这一增长涵盖了软件生命周期的所有方面,从高级和低级需求到编码、集成和验证。”
  • 认证按计划进行。“将需求与模型联系起来,在Simulink中持续测试,用Embedded Coder生成符合DO-178B级别A的产品代码,这是产品虽然遇到挫折但依然按计划进行的关键。” BAE系统公司的应用软件首席工程师Maria Radecki说,“将文本需求追溯到模型元素实现的能力在认证机构大获成功。”
  • 团队间沟通更便利。“在整个项目中,我们依靠Simulink作为通信媒介,”Weaver说。“美国、英国和巴西的团队都参与了这个项目。详细的、定量的Simulink测试向量和模型是高级需求的补充,并使这些地理上分散的团队能够轻松地相互沟通。”