[Simulink] 基于模型的测试与验证学习笔记_Step1: Reqirements Traceability


【注】 本文为2018 Mathworks 年会上机教程学习笔记, 讲师:周玲, 如有侵权,立即删除

本文所有模型均为上机练习模型,百度云链接

Requirements Management Interface(RMI)

上一节中Ad-hoc testing中仅做了一个简单的测试,还遗留了许多项需要检查,这一节解决其中的一项:
Are all requirements implemented?

需求的spec需要定了的足够清晰,便于早期的验证。同时,Simulink可以将需求直接挂载到模型中进行回溯。

Requirements Management Interface(RMI)可以实现:

  • 将需求与Simulink模型、子系统和模块关联
  • 将需求与Stateflow的charts、states、transitions、boxes和functions进行关联
  • 将需求与Matlab的代码行和函数块进行关联
  • 在Model Explorer中对应体现相关需求
  • 与外部文档相关联等

需求文档

首先看一下需求文档,该例子中,需求文档采用Word编写。[Simulink] 基于模型的测试与验证学习笔记_Step1: Reqirements Traceability
【Ctrl】+ 对应图标即可打开与之关联的Simulink模型、子系统等

高亮模型

Analysis > Requirements > Highlight Model
[Simulink] 基于模型的测试与验证学习笔记_Step1: Reqirements Traceability
这是凡是建立了关联的地方,模型都被高亮显示,如下图
[Simulink] 基于模型的测试与验证学习笔记_Step1: Reqirements Traceability
左侧的Requirements Details中是对需求文档链接的说明
橙色边界意味着该子系统中至少有一个块具有相关联的需求,内部填充了黄色并配有链接的文档图标
点击到文档图标上可以查看具体的链接情况:
[Simulink] 基于模型的测试与验证学习笔记_Step1: Reqirements Traceability

双向链接的配置方法

RMI可以创建单向(从模型到需求)或是双向(模型到需求或需求到模型)两种形式的链接。

如何设置双向链接是否开启:

  • Analysis > Requirements > Settings > 勾选Modify destination for bi-directional linking
    [Simulink] 基于模型的测试与验证学习笔记_Step1: Reqirements Traceability

创建链接到Simulink模型

当需求文档中增加了需求项,选中对应的需求,回到模型中,右键Requirement > Link to Selection Word
[Simulink] 基于模型的测试与验证学习笔记_Step1: Reqirements Traceability
[Simulink] 基于模型的测试与验证学习笔记_Step1: Reqirements Traceability
[Simulink] 基于模型的测试与验证学习笔记_Step1: Reqirements Traceability

创建链接到Stateflow模型

方法同Simulink,结合实际需求,在信号线上创建链接即可。
[Simulink] 基于模型的测试与验证学习笔记_Step1: Reqirements Traceability

创建需求追溯报告

对于任何形式的Verification & Validation过程,都需要有跟踪当前工作的能力。同理,在需求可追溯性方面也有同样的要求,RMI提供生成需求追溯报告的功能,报告中对模型与需求的一一对应关系进行统计。

  • Analysis > Requirements > Settings > Report选项卡
    [Simulink] 基于模型的测试与验证学习笔记_Step1: Reqirements Traceability
    应用后,点击Analysis > Requirements > Generate Report 生成报告
    [Simulink] 基于模型的测试与验证学习笔记_Step1: Reqirements Traceability
    生成一个html的网页报告。

从模型到代码的追溯性

在【Ctrl + B】对模型编译之前,将Configuration中Code Generation下Comments中Requirements in block comments勾选上。
(2018b版本是默认勾选的)
[Simulink] 基于模型的测试与验证学习笔记_Step1: Reqirements Traceability
编译完成后,生成的代码如下:
[Simulink] 基于模型的测试与验证学习笔记_Step1: Reqirements Traceability
图中带下划线的均为超链接,链接到所对应的模型以及其需求文档所在位置。

上面是从代码到模型的追溯,下面的是从模型到代码的查看
[Simulink] 基于模型的测试与验证学习笔记_Step1: Reqirements Traceability
选中模型上需要查看的模块,Code > C/C++ Code > Navigate To C/C++ Code 即可查看对应的代码部分。

总结一下

通过将需求文档与模型建立直接关联,可以实现从设计初期的需求定义到代码部分的体现。