用户故事

Alenia Aermacchi为DO-178B A级认证开发自动驾驶软件

挑战

开发公司首个DO-178B A级认证自动驾驶系统

解决方案

使用基于模型的设计对系统和软件设计建模,验证需求覆盖范围,生成代码,并为认证机构生成报告和其他工件

结果

  • 认证的需求评审可缩短30%
  • 飞行时间缩短了20%
  • 自动化的低级认证活动

“对我们来说,基于模型的设计的一个关键优势是能够专注于设计和开发,而不是低级的编码、验证和认证任务。结果是更高的质量,DO-178B认证的软件,以及更快的迭代。”

Massimiliano Campagnoli, Alenia Aermacchi
阿莱尼亚·马基M-346。

阿莱尼亚·马基M-346的飞行特性与最新的战斗机相似,使飞行员能够在低生命周期成本的飞机中安全训练。配备四台冗余计算机,M-346飞行控制系统(FCS)支持电传飞控和先进的自动驾驶能力。

Alenia Aermacchi使用基于模型的设计开发了自动驾驶软件,并认证其为DO-178B Level A。

Alenia Aermacchi的FCS应用软件团队负责人Massimiliano Campagnoli说:“基于模型的设计,一切都是联系在一起的。“我们的Simulink系统模型是可执行的,支持需求的早期验证。同样的模型被更新为符合DO-178B建模标准,用于生成飞行代码。”

挑战

由于M-346自动驾驶系统是工程团队开发的第一款自动驾驶系统,其主要目标是快速发现问题并吸收试飞员的反馈。最终的自动驾驶软件需要DO-178B Level A认证。

该团队决定沿着两条路径追求开发方法:实验和认证。对于实验路径,他们将专注于使用不太严格的DO-178B Level D标准进行快速开发,并采用架构解决方案来保障整个系统的可靠性和安全性。对于认证路径,他们将重用和改进设计的实验版本,以开发完全DO-178B Level A认证的软件。

Alenia Aermacchi需要一个支持两种路径的活动和目标的开发环境,包括设计模拟、需求追溯、模型覆盖分析、代码生成和分析,以及报告生成。

解决方案

Alenia Aermacchi工程师使用基于模型的设计和Simulink为M-346开发自动驾驶软件®

一个由系统和控制工程师组成的团队在Simulink和statflow中开发了一个系统模型®对于ARP-4754,使用Stateflow定义六种主要自动驾驶状态、它们之间的转换和其他控制逻辑。他们通过模拟来验证系统的行为。

该团队详细阐述了系统模型,以创建自动驾驶软件模型,对其进行优化以提高性能,并结合建模和安全标准以满足认证约束。

他们在软件模型上运行了额外的模拟,并使用Simulink coverage™的模型覆盖分析,从这些测试中确保软件需求的100%覆盖。

他们使用需求管理接口要求工具箱™链接IBM中的软件需求®理性的®®到Simulink和Stateflow对象的模型。通过Simulink Report Generator™,他们生成了用于认证的需求可追溯性报告。

他们使用模型顾问根据DO-178B高完整性标准和Alenia Aermacchi自己的自定义规则来检查他们的软件模型。

使用嵌入式编码器®该团队根据他们的软件模型生成了约17000行C代码。他们为一台PowerPC编译了生成的代码®使用Green Hills的处理器®AdaMULTI®编译器。

该团队使用Polyspace®静态分析工具检查代码的运行时错误,确保符合MISRA C®编码标准,并为认证信用创建工件。他们使用DO-178的DO认证套件对Polyspace代码验证器和Simulink覆盖进行了认证。

该团队基于他们为Simulink创建的软件模型测试为生成的代码创建了测试套件。在运行这些测试之后,他们将代码覆盖结果与从Simulink coverage获得的模型覆盖结果进行了比较。

M-346飞机(包括自动驾驶功能)已从意大利国防部的国防总秘书处和国家军备局获得类型认证。Alenia Aermacchi工程师目前正在进行一个项目,其中所有的软件组件(ccsi)将使用基于模型的设计开发,并通过DO-178C认证。

结果

  • 认证的需求评审可缩短30%.“在以前的项目中,需求覆盖分析是手工执行的,并基于主观评价,”Campagnoli说。“Simulink, Simulink覆盖,和需求的工具箱使我们能够自动化该分析,并提供客观的覆盖率度量,这帮助我们将认证的需求审查缩短了30%。”

  • 飞行时间缩短了20%.“基于模型的设计使我们能够根据飞行员和飞行工程师的反馈快速改进设计,”Campagnoli说。“我们将飞行时间缩短了约20%。更重要的是,我们在提高软件质量的同时做到了这一点。”

  • 自动化的低级认证活动.“我们自动化了许多低级别的认证活动,包括需求覆盖分析、运行时错误检查和标准遵从性检查,”Campagnoli说。自动化使我们可以花更多的时间细化需求,优化系统,改进我们的测试,并执行其他更高价值的任务。”

Baidu
map