用户故事

国家航空航天实验室证明了基于模型设计的DO-178B飞行软件开发的好处

挑战

加快发展DO-178B A级认证飞行软件

解决方案

使用Simulink和Embedded Coder完成失速预警系统试点项目,量化开发效率的改进,并在未来的DO-178项目中采用基于模型的设计

结果

  • 代码分析和设计时间减少了一半
  • 建立集成的工作流
  • 生成一致的、高质量的代码

“Simulink和基于模型的设计减少了升级功能所需的工作、代码分析时间和安全关键嵌入式系统的设计时间。Simulink与DO-178流程的兼容性让我们有信心在即将到来的DO-178项目中使用基于模型的设计。”

Manju Nanda,国家航空航天实验室

国家航空航天实验室是印度民用部门唯一的政府航空航天研发实验室。CSIR-NAL由科学和工业研究理事会成立,有三个任务:开发具有强大科学内容的航空航天技术,设计和制造中小型民用飞机,支持所有国家航空航天项目。

作为这项任务的一部分,CSIR-NAL开发了SARAS,一种14座多用途轻型运输机。SARAS配备了最先进的失速预警系统和飞机接口计算机(SWS/AIC),当飞机有失速危险时向飞行员发出警报。最近,CSIR-NAL工程师完成了一个SWS/AIC试点项目,在该项目中,他们量化了基于模型的设计优于DO-178B a级软件开发的传统方法的优点。在其他好处中,他们发现基于模型的设计与MATLAB®和仿真软件®将升级功能所需的工作量减少75%。

CSIR-NAL的高级首席科学家J. Jayanthi说:“在过去,功能升级需要手动迭代设计更改、代码修改、重新测试和报告生成。”“使用基于模型的设计,升级变得简单,因为需求、模型、代码、测试和报告之间的链接已经建立。我们只需要在模型级别进行更改,然后所有内容——包括生成的代码——就会就位。”

挑战

CSIR-NAL最初通过c语言手工编码算法实现SARAS SWS/AIC系统。尽管该软件最终被认证为DO-178B Level A,但工作花费的时间比计划的长。团队将延迟归因于需求、实现的代码和为验证而执行的测试之间的差距。为了弥补这些差距,团队必须执行大量的手工活动,包括跟踪代码到需求,执行覆盖率分析,以及生成认证所需的文档。

CSIR-NAL工程师试图在一个工作流中自动化这些手工活动,该工作流包含了他们现有的需求管理和测试工具。

解决方案

CSIR-NAL工程师使用Simulink、Stateflow完成了SWS试点项目®、嵌入式编码器®

他们在Simulink中设计了SWS,使用Stateflow来建模决策逻辑。

在开发模型时,他们遵循MathWorks汽车咨询委员会(MAAB)和DO-178B高完整性建模标准。他们使用Simulink Check™中的模型标准检查来确保符合标准。

CSIR-NAL工程师使用Simulink Design Verifier™从Simulink和Stateflow模型生成测试用例,并在运行模拟以执行测试时执行模型覆盖分析。

该团队使用Embedded Coder从他们的模型中生成了大约5000行C代码。对于每个SWS子系统,他们将生成的代码与为初始实现而手写的代码进行比较。

通过需求工具箱™,工程师们将SWS模型的元素与Microsoft中的需求联系起来®词。生成的代码包括作为注释的需求标签,使他们能够跟踪需求到模型和最终代码。

团队利用Simulink和LDRA工具套件之间的集成来简化代码覆盖分析和其他软件级别的测试活动,并建立模型和测试用例之间的可追溯性。

最后,团队使用Simulink Report Generator™来记录认证学分所需的模型和代码覆盖率结果。

基于试点项目的成功,CSIR-NAL计划在未来的DO-178B和DO-178C A级项目中使用基于模型的设计。

结果

  • 代码分析和设计时间减少了一半.“对于SWS试点项目,我们收集了一些指标,以便与我们的传统方法进行比较,”该项目的首席科学家Manju Nanda说。“除了升级功能所需的工作量减少了75%之外,基于模型的设计还减少了48%的代码分析时间和50%的设计时间,使我们能够用更少的人做更多的事情。”

  • 建立集成的工作流.“通过基于模型的设计,我们有一个定义良好的DO-178工作流,它与我们现有的工具集成在一起,”Jayanthi说。我们可以在Word或Telelogic中追踪需求®®到Simulink模型、生成的代码和LDRA中的代码级测试。我们可以使用Simulink报告生成器和DO资格认证工具包进行DO-178认证。”

  • 生成一致的、高质量的代码.“用嵌入式编码器生成的代码和我们手写的代码一样好,而且通常也更紧凑,”Jayanthi说。“我们可以将代码追溯到我们的模型和需求,因为它是从我们的模型中生成的,所以它比手写代码更一致,更容易维护。”

Baidu
map