概述
背景
当前基于模型进行开发设计(Model Based Design, MBD)的方式在汽车智驾系统开发中被广泛使用,在模型设计完成后,单元测试之前,其实有很关键的一个步骤,就是需要进行静态检查。检查些什么呢?静态检查项目其实主要源自于:MAAB及其衍生的JMAAB、NMAAB等, 嵌入式相关的MISRA-C SLSF。这些文档概括起来对模型建模过程中的:架构,外观,配置,模块,信号,参数的使用方法与限制等方面进行的详细的约束。那么,对于企业,为何要自定义建模规范?既然已经有现成的可参考。个人认为原因有:1. 这些规范虽然已经提出,但有很多没有被写入ModelAdvisor里面,除非购买第三方软件;2. 建模过程中自己踩过的坑需要放入企业的建模规范里面,一流企业做标准,有了自己的标准就不用依附别人了;3. 自定义能更加深个人对规范的理解,有助于模型开发。
自定义建模规范的编码整体过程
Step1: 创建。创建名字为sl_customization.m的文件;Model Advisor只认该名字的自定义建模规范;(关键)
Step2: 更新。当sl_customization.m发生变化之后,使用sl_refresh_customizations语句可以将更改后的建模规范更新到Model Advisor界面里面;但如果界面布局有更改的话,需要首先在命令窗口输入Advisor.Manager.refresh_customizations,然后再关闭Simulink模型重新打开。
所以,重点就是Step1创建。
sl_customization.m的撰写
1. 静态检查框架构建
function
观察上段代码,最重要的就是3个语句:
addModelAdvisorCheckFcn这个函数的主要作用就是加入自定义建模规范的基础检查项目,这些检查项可以显示到By Product的目录上,如下图红框,也可以不显示到目录上。具体的检查内容由defineModelAdvisorChecks这个函数来实现;
addModelAdvisorTaskFcn这个函数的主要作用是在By Task这个目录里面新增检查任务,具体任务列表在defineModelAdvisorTasks这个函数里定义;
addModelAdvisorTaskAdvisorFcn这个函数的主要作用是在Model Advisor的根目录下新增目录。
通常情况下,我会使用addModelAdvisorCheckFcn来定义check, 使用addModelAdvisorTaskAdvisorFcn创建分组。
框架大致如此,接下来会介绍上面三个函数究竟如何联动运作。请看自定义建模规范2。
Lily:Matlab模型静态检查 - 自定义建模规范2zhuanlan.zhihu.com最后
以上就是欣慰跳跳糖为你收集整理的antd + react model自定义footer_Matlab模型静态检查 - 使用ModelAdvisor自定义建模规范1...的全部内容,希望文章能够帮你解决antd + react model自定义footer_Matlab模型静态检查 - 使用ModelAdvisor自定义建模规范1...所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复