Alenia Aermacchi 开发符合 DO-178B A 级认证的自动驾驶仪软件
挑战
开发该公司的第一款 DO-178B A 级认证的自动驾驶仪系统
解决方案
使用基于模型的设计完成系统建模和软件设计、验证需求覆盖、生成代码并为认证机构生成报告及其他材料。
结果
- 认证的需求审核时间最高缩短了 30%
- 首飞行时间缩短了 20%
- 实现了低级认证活动的自动化
Alenia Aermacchi M-346 具有与最新战斗机相似的飞行特性,使飞行员可以在生命周期成本较低的飞机上安全地训练。M-346 飞行控制系统 (FCS) 配有四余度计算机,支持电传控制和高级自动驾驶仪功能。
Alenia Aermacchi 使用基于模型的设计开发自动驾驶仪软件并通过 DO-178B A 级认证。
Alenia Aermacchi 的 FCS 应用软件团队负责人 Massimiliano Campagnoli 说:“凭借基于模型的设计,可将所有内容衔接起来。我们的 Simulink 系统模型是可执行的模型,能够在开发早期对需求进行验证。为符合 DO-178B 建模标准而更新了该模型,可用它来生成飞行代码。”
挑战
由于 M-346 自动驾驶仪系统是该工程团队开发的第一个系统,主要目标是快速发现问题并融合来自测试飞行员的反馈。最终的自动驾驶仪软件需要获得 DO-178B A 级认证。
该团队决定使用两个途径来探求开发方法:即实验和认证。对于实验途径,他们将利用不太严格的 DO-178B D 级标准来着重于快速开发,采用架构解决方案来保护整个系统的可靠性和安全性。对于认证途径,则会重复利用和完善设计的实验版本,以开发完全符合 DO-178B A 级认证的软件。
Alenia Aermacchi 需要一个开发环境来支持这两种途径的活动和目标,其中包括设计仿真、需求可追溯性、模型覆盖度分析、代码生成与分析以及报告生成。
解决方案
Alenia Aermacchi 工程师使用 Simulink® 基于模型的设计为 M-346 开发了自动驾驶仪软件。
系统和控制工程师团队在 Simulink 和 Stateflow® 中为 ARP-4754 开发了一个系统模型,使用 Stateflow 定义六个主要的自动驾驶仪状态、这些状态之间的转移以及其他控制逻辑。他们通过运行仿真来验证系统行为。
该团队通过细化系统模型来创建自动驾驶仪软件模型,对该模型进行优化以提升性能,将模型和安全标准集成起来满足认证的限制条件。
他们在软件模型上运行了附加仿真,使用 Simulink Coverage™ 的模型覆盖度分析确保 100% 覆盖这些测试的软件需求。
他们使用 Requirements Toolbox™ 中的需求管理界面将 IBM® Rational® DOORS® 中的软件需求与他们模型中的 Simulink 和 Stateflow 对象进行关联。通过 Simulink Report Generator™,他们生成了需求可追溯性报告以供认证之用。
他们利用Model Advisor检查软件模型是否符合 DO-178B 高完整性标准和 Alenia Aermacchi 自己的自定义规则。
利用 Embedded Coder®,该团队通过其软件模型生成了大约 17,000 行 C 代码。他们使用 Green Hills® AdaMULTI® 编译器为 PowerPC® 处理器编译生成的代码。
该团队使用 Polyspace® 静态分析工具检查代码中是否存在运行时错误,确保符合 MISRA C® 编码标准,并创建用于取证的材料。他们利用面向 DO-178 的 DO Qualification Kit,证明 Polyspace 代码验证工具及 Simulink Coverage 是符合认证的。
该团队基于在Simulink中 创建的软件测试模型为生成的代码创建了测试组件。在运行这些测试后,对代码覆盖结果和从 Simulink Coverage 获取的模型覆盖结果进行比较。
M-346 飞机(包括自动驾驶仪功能)已获得美国国防部秘书处 (Secretariat General of Defense) 和意大利国防部国家装备处 (National Armaments Directorate) 的机型认证。Alenia Aermacchi 工程师目前正在攻关一个项目,在该项目中所有软件组件 (CSCI) 都将使用基于模型的设计进行开发,并通过 DO-178C 认证。
结果
- 认证的需求审核时间最高缩短了 30%. Campagnoli 说:“在处理以前的项目时,都是基于主观评估手动进行需求覆盖分析。Simulink, Simulink Coverage, 和 Requirements Toolbox 使我们可以将此分析自动化并提供客观的覆盖指标,这有助于将认证的需求审核时间缩短高达 30%。”
- 首飞行时间缩短了 20%. Campagnoli 说:“基于模型的设计使我们可以基于飞行员和飞行工程师的反馈快速改进设计。我们将首飞时间缩短了约 20%。更重要的是,在缩短首飞时间的同时提高了软件质量。”
- 实现了低级认证活动的自动化. Campagnoli 说:“我们实现了许多低级认证活动的自动化,包括需求覆盖度分析、运行时错误检查和标准一致性检查。自动化使我们可以有更多时间来完善需求、优化系统、改善测试并执行其他具有更高价值的任务。”