高可靠性飞行代码的自动化验证技术

时间:2012-12-10来源:网络


图 4:使用 PIL 测试验证可执行目标代码.JPG


图 4:使用 PIL 测试验证可执行目标代码。

代码特性执行报告在PIL测试过程中生成,用于评估瓶颈和优化设计,例如使用代码替换技术,这项技术以单指令/多数据(SIMD)和Intel集成性能基元(IPP)优化代替默认的ANSI/ISO C自动生成代码。MATLAB可基于代码特性执行数据生成图形,以便将来进行分析。DO-178和相关标准要求在复杂飞行硬件上验证复杂飞行软件,使PIL测试成为高完整性系统的关键验证环节(图5)。

图 5:使用 MATLAB 对执行周期进行特性分析.JPG


图 5:使用 MATLAB 对执行周期进行特性分析。

2. 代码验证

借助基于模型的设计,可将用于验证模型的同样基于需求的仿真测试用例重用于SIL和PIL测试。工程师可应用模型仿真中使用的相同输入数据,然后使用Simulink Data Inspector工具将SIL和 PIL测试结果与模型仿真结果进行比较,以确定它们在数值上是否相等(图6)。

图 6:使用 Simulation Data Inspector 比较仿真和 PIL 测试结果.JPG


图 6:使用 Simulation Data Inspector 比较仿真和 PIL 测试结果。

DO-178B还需要进行软件的结构覆盖率分析,包括修正的判定覆盖率(MC/DC),以评估代码在测试过程中是否完全被执行。模型覆盖率分析是模型级的类似概念,它通过Simulink Verification and Validation工具实现,用于评估模型是否已完全测试。总的来说,模型和代码覆盖率分析可检测设计、实现和测试中的潜在错误。Simulink Verification and Validation可提供模型覆盖率分析功能。在R2011b版中,Embedded Coder与LDRA Testbed集成在一起,从而支持代码覆盖率分析和其他DO-178工作流程。

总之,基于模型的设计可实现自动生成既高效又能够在模型、源代码和可执行目标代码级别轻松进行验证的飞行代码。通过将开发和验证集中在Simulink模型和仿真测试用例上这种方式可以使模型和测试用例得到重用,并有助于满足DO-178B和DO-178C软件目标,这样企业可极大地降低成本并缩短产品上市时间。集成和已发布的API可通过DO-178开发项目中使用的第三方工具实现整体解决方案。为补充这些软件开发过程改进,Simulink在与MathWorks产品搭配使用以进行系统物理建模、硬件在环(HIL)测试和FPGA的HDL代码生成时,通过其对系统工程和相关标准(例如,ARP 4754)以及硬件开发和相关标准(例如,DO-254)的支持提供了附加优势。

图 7:使用 Simulink 模型覆盖率分析工具和 LDRA Testbed 测量模型和代码覆盖率.JPG


图 7:使用 Simulink 模型覆盖率分析工具和 LDRA Testbed 测量模型和代码覆盖率。

1 2

关键词: 可靠性 飞行 代码 自动化

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版