[Simulink] 基于模型的测试与验证学习笔记_Step2: Modeling Standards


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

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

建模规范

Model Advisor针对汽车行业提供了预先定义好的一些检查规范:

  • ISO 26262
  • MISRA C
  • MAAB

Simulink的V&V工具提供了以下两个功能:

  • 构建自定义的检查项API
  • 规范一致性检查

运行Model Advisor

默认的Model Advisor有两个不同的目录:

  • By Product
  • By Task
    本例中,先通过MAAB建模规范进行模型检查,之后创建自定义的检查规范。
  • 打开 CruiseControl_MdlAdv_ReqLink.slx
  • Analysis > Model Advisor > Model Advisor
    在这里插入图片描述
    如上图所示,用户可以选择整个模型或是其中一个子系统进行规范检查。
  • OK之后,弹出下图,点击Run Select Checks
    在这里插入图片描述
    在这里插入图片描述

在这里插入图片描述- 结束后,可以看到8个warning,打开报告可以查看,如下:
1.Check subsystem names
2.Check model diagnostic parameters
3. Check for Simulink diagrams using nonstandard display attributes
4.Check font formatting
5.Check for propagated signal labels
6.Check entry formatting in State blocks in Stateflow charts
7.Check default transition placement in Stateflow charts
8.Check for comparison operations in Stateflow charts

创建还原点

在我们根据warning进行修改之前,先在Model Advisor中创建一个还原点。
在这里插入图片描述

按建模规范修改模型

在这里插入图片描述
针对warning的项,逐个进行修改:
1.Check subsystem names —— Compute target speed 修改为 ComputeTargetSpeed
2.Check model diagnostic parameters —— 修改检查项为warning
3. Check for Simulink diagrams using nonstandard display attributes —— Run This Check后点击Modify修改即可
4.Check font formatting —— Run This Check后点击Modify All Fonts修改即可
5.Check for propagated signal labels —— 设置信号属性如下:
在这里插入图片描述
6.Check entry formatting in State blocks in Stateflow charts—— 将en:xxx修改成两行
7.Check default transition placement in Stateflow charts —— 这个单独说一下
8.Check for comparison operations in Stateflow charts —— tspeed!=uint8(0)

关于Stateflow中默认转移的建模设置

MAAB中对Stateflow中的默认转移,要求其位于chart的顶部,但结合本例的实际情况,我们并不想这样修改,因此对建模规范这一项的检查做一下修改:

在stateflow上右键,Model Advisor > Exclude block only > Select checks
在这里插入图片描述
在这里插入图片描述
在弹出的** Model Advisor Exclusion Editor中点击OK**
再返回Model Advisor中查看上面的第7项,已经pass了。

添加自定义的检查项到Model Advisor中

要添加自定义的检查项到Model Advisor中,需要借助Model Advisor API和sl_customization.m文件。
步骤:

  • 关闭所有模型文件和Model Advisor窗口
  • sl_customization.m文件复制到当前工作路径下
  • 在Command Window中键入 sl_refresh_customizations
  • 重新打开模型
  • 重新加载Model Advisor

[这部分在工作当中暂时没有用到,先挖个坑,原文有workflow]

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值