Simulink Verification and Validation

主要特性

  • 检查是否符合 MAAB 风格指南和高完整性系统设计指南(DO-178、ISO 26262、IEC 61508 和相关行业标准)
  • 模型顾问配置编辑器,包括自定义检查编写功能
  • 用于将模型对象、代码和测试追溯到需求文档的需求管理界面
  • 自动生成子系统测试框架
  • 通过仿真、软件在环 (SIL) 和处理器在环 (PIL) 测试组件
  • 自动进行合规性检查、需求可追溯性分析和组件测试的可编程脚本接口
Analysis views and reports generated by Simulink Verification and Validation for requirements tracing, modeling standards compliance checking, component testing, and model coverage.
Simulink Verification and Validation 生成的需求可追溯性、建模标准合规性检查和模型覆盖率的分析视图和报告。

使用 Simulink Verification and Validation

需求管理界面创建通过 Simulink® 模块连接外部文档的链接。这些链接可用于需求审核、设计审核、可追溯性分析和项目文档。

使用需求管理界面,您可以:

  • 将 Simulink 和 Stateflow® 对象与需求关联起来
  • 从 Simulink 或 Stateflow 对象导航到需求
  • 使用自定义的突出显示符号和标记检查模型中的需求链接
  • 创建 Simulink 模型报告,显示哪些对象链接到哪些需求

Simulink Verification and Validation 为检查是否符合风格指南和建模标准提供了现成的库。这些检查已经过预先配置,支持 MathWorks 汽车咨询委员会 (MAAB) 风格指南及 DO-178B 和 IEC 61508 标准,可用于开发高完整性软件。

通过使用模型顾问和建模标准检查,您可以:

  • 对模型或模型组件执行检查,以验证其符合建模指南
  • 创建和共享检查配置
  • 使用命令行 API 自动执行检查
  • 为新的建模风格指南编写自定义检查

Simulink Verification and Validation 提供了组件测试功能,可以生成框架模型并记录现有模型的数据,以帮助您运行模型组件仿真。您可以:

  • 组件模型自动测试
  • 将子系统或子图表内容提取到新模型中进行分析
  • 在仿真中记录输入端口数据
  • 使用测试用例对模型仿真
  • 对生成的代码运行测试
  • 收集并分析模型覆盖率

需求跟踪到模型、测试和生成代码

Simulink Verification and Validation 中的需求管理界面可以让您将 Simulink 和 Stateflow 对象链接到需求文档中的文本。它支持存储在 IBM® Rational® DOORS®、Microsoft® Word、Excel®、PDF 或 HTML 文件中的需求。还可以对其进行定制以支持其他文档类型和需求管理系统。

Requirements Management Interface context menu and Requirements dialog box.
需求管理界面上下文菜单和“需求”对话框。

创建链接

链接是模型中指向外部文档的引用。它们与模型模块唯一标识符相关联,以确保需求可追溯性信息的健壮性和持久性。

需求可追溯性能够让您选择外部文档中的需求对象或书签并通过 Simulink 中的上下文菜单创建链接。在“需求”对话框中,您可以应用关键词和描述来链接,以获得更有针对性的分析。

查看设计和需求

需求管理界面可以突出显示模型中的模块或生成将模型子系统图片与需求文档信息相结合的需求报告。您还可以使用 Simulink Report Generator™ 自定义报告模板。

结合使用 IBM Rational DOORS,Simulink Verification and Validation 可以将 Simulink 链接复制为 DOORS 中的链接对象,从而确保双向可追溯性而无需修改需求文档。需求管理界面还可以同步 DOORS 和 Simulink 中的链接。从而您可以在 IBM Rational DOORS 或 IBM Rational DOORS Web Access 中创建链接,然后通过 Simulink 模型进行同步。为了确保需求链接与源文档一致,您可以运行需求一致性检查,识别已移除或修改的需求。这些检查也可与其他模型顾问检查相结合,对模型进行系统分析。

查看代码

使用 Embedded Coder™HDL Coder™Simulink PLC Coder™ 从模型生成代码,让您能够将需求标签作为注释包含在源代码中,并且将它们制成代码生成报告中的超链接。代码生成报告中的超链接提供了从代码到需求的直接导航。

访问 MathWorks 合作计划,查看支持需求管理界面及提供链接和可追溯性的第三方需求管理方案。

Annotated source code, created with Real-Time Workshop Embedded Coder, showing hyperlinks to requirements.
带注释的源代码,使用 Embedded Coder 创建,显示需求超链接。

建模标准合规性检查

Simulink Verification and Validation 提供以下检查:

  • MathWorks 汽车咨询委员会
  • DO-178B
  • IEC 61508 (ISO 26262)
  • 需求一致性

可以使用模型顾问执行单个检查或一组检查。每个检查都带有解决一致性的详细文档和建议;有些检查还提供额外的配置选项。

Violation in highlighted model block found through modeling standards checks in Model Advisor.
模型顾问中进行建模标准检查时,在发现冲突的模块会突出显示。

可以使用模型顾问配置编辑器修改软件自带检查标准,它能够:

  • 选择检查组合
  • 将选中的检查保存为新配置
  • 从已有配置中导入或应用新检查
  • 将自定义检查添加到配置中
  • 导出并部署配置

脚本 API 可让您编写自定义检查。产品文档中包含自定义检查范例。

要自动进行合规性检查,您可以在单机上运行批处理模式,或在多台机器上与 Parallel Computing Toolbox™ 并行执行。您可以在模型顾问或分析运行结束后生成的 HTML 报告中查看结果。

在使用 Simulink DO Qualification Kit 时,您可以在模型顾问中启用 DO-178B 检查,以用于 DO-178B 或 DO-254 认证项目。

组件测试

Simulink Verification and Validation 提供了对模块中一个或多个引用模块、子系统或原子子图进行分析和仿真的 API。所有的组件测试功能都可在命令行使用或包含在 MATLAB® 脚本中。

工具模型生成

框架模块生成功能可让您隔离原子子系统或被更大的控制系统模块引用的模型,并将其提取到框架模型中进行额外的测试和分析。您可以使用框架模型对开发的组件进行穷举测试,或者在系统模型其余部分无法仿真时进行测试。

框架模型生成功能可自动进行根级输入和输出(包括复杂的深度嵌套总线)的接口配置。子系统相关性,如外部数据存储,已集成到工具中并与新的模型输入相关联。所有所需的信号标记和连接都自动进行,匹配测试环境下的组件属性

数据记录、导入和编写

通过数据记录功能,您可以捕获闭环仿真过程中的输入信号,并将记录的测试用例重用于工具模型仿真。由于底层数据格式兼容 Simulink Design Verifier™,您可以使用 Simulink Design Verifier 中提供的测试生成功能生成额外的测试用例。

在生成框架模型时,模型工具生成功能可以包含记录的数据并将其导入 Signal Builder 模块进行编辑。

包含 Signal Builder 模块的框架模型可用于调试和详细分析。Simulink Signal Builder 模块可让您以图形化方式编辑测试矢量并从文档电子表格中导入现有测试数据。

Workflow in Simulink Verification and Validation utilizing component testing functions to augment tests done on the control system model and to verify the model and code in the simulation.
Simulink Verification and Validation 的组件测试工作流。该工作流利用产品中的组件测试功能在控制系统模块中完成测试,并在仿真环境下验证模型和代码。

执行测试

通过使用测试执行功能,您可以在仿真环境及 SIL 和 PIL 模式下对模型和生成的代码自动执行测试用例。SIL 和 PIL 模式需要 Embedded Coder。

可以将组件测试结果导入 Data Inspector 进行进一步分析。测试执行函数集成了模型覆盖率和代码覆盖率工具以收集关于测试完整行的额外信息。

将测试链接到需求

您可以将 Signal Builder 中的测试用例链接到外部文档,如功能性需求和测试计划,这些可通过 Signal Builder 窗口中的“需求”面板完成。另外,您可以将断言分配给各个测试用例以自动分析通过/失败的结果。

Using the Simulink Signal Builder block to link test cases with verification blocks and requirements.
使用 Simulink Signal Builder 模块链接验证模块和需求。显示“验证模块设置”面板和“需求”面板。

分析模型覆盖率

Simulink Verification and Validation 可生成模型覆盖率报告以提示设计中未测试的元素,如逻辑条件、转换、查找表插值区间和子系统。这些报告以 HTML 文档发布,使用行业标准指标表示结构化覆盖率。还会显示关于模型的覆盖率信息,从而让您能够遍历模型,找到未覆盖的部分,并导航到相关需求。然后您可以决定是否需要修改需求、测试用例或设计以满足覆盖率目标。

Model coverage report for a group of test cases run in simulation.
仿真环境下一组测试用例的模型覆盖率报告。

Simulink Verification and Validation 可提供八种模型覆盖率分析指标:

圈复杂度测量模型的结构复杂度,接近于模型所生成代码的 McCabe 复杂度。

决策覆盖率检查模型中表示决策点的项,如 Simulink Switch 模块和 Stateflow 状态。

条件覆盖率检查输出其输入的逻辑组合的模块,如逻辑模块和 Stateflow 转移。

修改的条件/决策覆盖率 (MC/DC)分析 RTCA DO-178B 中所定义的对安全性起重要作用的软件,并确定逻辑输入是否单独改变输出。

查找表覆盖率 (LUT) 记录每个插值区间的使用频率。(如果一个测试用例执行每个插值和外推区间至少一次,那么它达到完全覆盖。)

信号范围覆盖率表示仿真中由每个输出模块对所有 Stateflow 数据对象生成的最小和最大值。

信号大小覆盖率记录对模型中所有可变大小信号的最小、最大和分配步长。报告中只包含具有可变大小输出信号的模块。

Simulink Design Verifier 覆盖率记录 Simulink Design Verifier 模块和功能的模型覆盖率数据。

Increasing Robustness of your Software Designs with Simulink

观看网上技术交流会录像