使用 MATLAB 和 Simulink 进行验证和确认

基于模型的设计中验证和确认嵌入式系统

工程团队在 MATLAB 和 Simulink 中使用基于模型的设计,以设计复杂的嵌入式系统,并生成产品级 C、C++ 和 HDL 代码。通过遵循高完整性验证工作流,团队可以使用基于仿真的测试和静态分析,让基于模型的设计更为严谨也更趋自动化,从而尽早发现错误,提高质量水平。

需求工程

可以存储在文档、电子表格或 IBM Rational DOORS 等需求管理工具中的非形式化文本需求。Requirements Toolbox 可用于导入、查看和编写需求,并将需求连同您的架构、设计、生成的代码和测试工件一起管理。您可以在 System Composer、Simulink、Stateflow 或 Simulink Test 的测试用例中创建一个从需求到设计的数字线索。通过这种可追溯性,您可以识别实现或测试缺口,并快速了解更改对设计或测试平台的影响。

您可以形式化需求并分析其一致性、完整性和正确性,以便使用 Requirements Toolbox 中的 Requirements Table 模块更早地验证需求。借助 Simulink Test 中的时序评估,您可以采用可评估、可调试的自然语言形式以精确的语义指定评估,从而验证文本需求。


在 Simulink 中执行系统化故障注入和 FMEA

您可以利用仿真来分析故障和其他异常行为所带来的影响,以开发安全需求并验证系统稳健性。Simulink Fault Analyzer 支持使用仿真进行系统性故障影响和安全分析。该产品能够在不修改设计的情况下执行故障注入仿真。您可以管理在 Simulink、Simscape 和 System Composer 中建模的故障。仿真数据检查器支持您分析故障影响。您可以使用“多个仿真”面板进行故障敏感度分析,还可以在利用仿真的同时执行安全分析,如故障模式和影响分析 (FMEA)。Simulink Fault Analyzer 支持您创建故障、危险、故障检测和缓解逻辑及其他工件之间的正式连接(结合使用 Requirements Toolbox)。


认证标准合规性

对照标准自动验证模型和代码,这些标准包括 DO-178、ISO 26262、IEC 61508、IEC 62304 和 MathWorks Advisory Board (MAB) 指导规范等。Simulink Check 提供行业认可的检查和度量,用于识别开发过程中违反标准和指南的情况。您可以根据自己的标准或指南创建自定义检查。IEC Certification Kit (for ISO 26262 and IEC 61508) 和 DO Qualification Kit (for DO-178 and DO-254) 提供了工具鉴定工件、证书和测试套件,可帮助您鉴定代码生成和验证产品,并简化嵌入式系统认证。


证明不存在错误并形式化验证需求

形式化验证可找出导致整数溢出、死逻辑、数组访问越界和除以零的隐藏设计错误,同时无需对设计进行仿真。Simulink Design Verifier 可以形式化验证您的设计中不存在错误或安全漏洞。Simulink Design Verifier 还可以证明您的设计满足关键需求。如果发现例外,它会自动生成反例以用于调试。


模型测试覆盖率分析

识别测试缺口、非预期功能或需求错误非常重要。Simulink Coverage 可以计算测试期间模型或生成代码的执行比例。它支持多种行业标准指标,包括条件、决策、修正条件/决策覆盖率 (MCDC) 以及自定义覆盖率目标。Simulink Design Verifier 可以自动生成测试用例,以分析不完整的覆盖率并实现背靠背测试的结构性和功能性覆盖率目标。


静态代码分析

在验证手写代码和生成的代码时,Polyspace 产品通过形式化方法找出 Bug 并证明不存在严重运行时错误,而无需执行测试用例或代码。Polyspace Bug Finder 可以检查是否符合 MISRA、ISO 26262、IEC 61508 和 DO-178 等标准或 FDA 法规,并将情况记录到文档。您可以检查是否存在软件安全漏洞,以及是否符合 CWE、CERT-C、ISO/IEC 17961 或其他标准。Polyspace Code Prover 可以执行静态分析,证明 C 和 C++ 源代码中不存在溢出、被零除、数组访问越界或其他运行时错误。