卡索practicos

空中客车直升机基于模型设计加速DO-178B认证软件的开发

挑战

加快DO-178B认证直升机飞行软件的开发、验证和验证

解决方案

采用基于模型的设计方法对系统设计和软件设计进行建模,并生成飞行代码

结果

  • 软件测试时间缩短了三分之二
  • 需求较早稳定
  • 自动生成认证飞行软件

“我们使用Simulink中的ARP4754系统设计模型来建立稳定、客金宝app观的需求。我们使用该模型作为do -178软件设计模型的基础,从而节省了时间,我们从中生成飞行代码,并重复使用验证测试进行软件验证。”

罗纳德·布朗鲁,空中客车直升机公司
空中客车EC130直升机。

构建符合DO-178B、DO-178C和ARP4754准则的飞机软件面临着几个挑战。在制定正式的软件方面认证计划(PSAC)并获得欧洲航空安全局(EASA)的批准后,软件开发组织必须严格遵守该计划,然后在获得认证之前证明它已经这样做了。这些挑战常常因系统和软件规范的变化或沟通不畅而复杂化。

空客直升机的工程师使用基于模型的设计来加速开发并稳定系统和软件规格。基于文本需求,他们在Simulink中建模软件体系结构、系统设计和软件设计金宝app®,然后使用Embedded Coder®生成飞行软件代码,包括空中客车EC130直升机上的空调控制系统(具有双区温度、除雾和除霜)。

空金宝app客直升机的航空电子认证专家Ronald Blanrue说:“Simulink使我们能够尽早稳定我们的要求和规格,因为我们同时开发规格和设计。“我们用Simulink模型验证需求和规范,然后用Embedded Coder重用模型来生成代码。”金宝app

挑战

在开始开发之前,空中客车直升机公司需要一个全面的认证策略,其中包括确定必要的软件开发和验证工具。然后,该公司将把该计划提交给欧洲航空安全局进行审查和批准。

作为一个成熟的开发组织,空中客车直升机很少遇到编码或测试方面的困难;相反,他们的问题源于稳定规范的困难。工程师有时会误解需求,并实现一个行为正确但不符合预期的系统。事实上,该公司估计,在开发后期发现的问题中,多达90%是由于规范和设计中的错误,而不是源代码。空中客车直升机公司希望在DO-178B认证软件开发流程的早期稳定和验证需求。

解决方案

空客直升机为其EC130空调软件开发了基于Simulink、Simulink Check™金宝app、Simulink Coverage™和Embedded Coder的PSAC。

他们使用Simuli金宝appnk对ARP4754的系统设计进行建模。为了验证规范,他们对这个模型和一个行为植物模型进行了功能测试,这个模型也是在Simulink中构建的。金宝app

他们重用了系统模型,添加了细节来创建DO-178B的软件设计。团队为系统设计创建的测试得到了增强,并被重用以验证软件设计。

该团队使用Simulink 金宝appCheck来检查是否符合DO-178B建模标准。他们还检查了自定义建模指南,例如使用s函数将遗留的C代码合并到模型中。

来自Simulink coverage的模型覆盖率报告使金宝app团队能够识别设计或规范中没有被他们的测试覆盖的元素。尽管报告没有被提交用于认证,但是覆盖分析帮助团队为目标代码创建了一个完整的测试套件,用于认证。

使用嵌入式编码器,空中客车直升机工程师从软件设计模型生成C代码。在使用Embedded Coder生成的模型到代码的双向导航链接进行代码审查之后,团队编译并测试了生成的代码。为了帮助实现软件验证(包括代码覆盖),他们再次重用了他们用于Simulink模型验证和验证的测试用例。金宝app

该软件被EASA认证为DO-178B DAL C,目前正在EC130直升机上生产。

结果

  • 软件测试时间缩短了三分之二.空中客车直升机公司的设计工程师Thomas Gelas说:“我们过去需要花费数周时间来测试软件,而基于模型的设计只需要几天时间。”“我们已经将大部分测试工作转移到验证活动上,这使我们能够在开发早期识别和解决问题。”

  • 需求较早稳定.“通过Sim金宝appulink,我们用设计模型验证规范,然后重用它来为软件建模。没有其他工艺改进能像快速稳定我们的规格那样节省我们这么多时间,”Blanrue说。与之前的多年项目相比,这种方法可以使空中客车直升机公司提前一年冻结规格。

  • 自动生成认证飞行软件.“我们与认证机构的谈判是积极的,因为EASA看到越来越多的公司依赖模型进行软件开发,并认识到建模的价值,”Blanrue说。“在完成代码审查后,EASA将我们使用嵌入式编码器生成的代码构建的飞行软件认证为DO-178B。”

下载188bet金宝搏产品使用

比较tu éxito

Únete al客户参考计划