我是靠谱客的博主 欣慰跳跳糖,最近开发中收集的这篇文章主要介绍antd + react model自定义footer_Matlab模型静态检查 - 使用ModelAdvisor自定义建模规范1...,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

67f790b3e63af8e464fc38d1e494acd7.png

背景

当前基于模型进行开发设计(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这个函数来实现;

d290c8127ce6a41c42278b261533617f.png
图1:addModelAdvisorCheckFcn内函数生成的Check的放置位置

addModelAdvisorTaskFcn这个函数的主要作用是在By Task这个目录里面新增检查任务,具体任务列表在defineModelAdvisorTasks这个函数里定义;

9e6c1b47db010f9b303b83039188f48d.png
图2:addModelAdvisorTaskFcn放置位置

addModelAdvisorTaskAdvisorFcn这个函数的主要作用是在Model Advisor的根目录下新增目录。

72f7964c3a4173618640437f2ddd820f.png
图3:addModelAdvisorTaskAdvisorFcn放置位置

通常情况下,我会使用addModelAdvisorCheckFcn来定义check, 使用addModelAdvisorTaskAdvisorFcn创建分组。

框架大致如此,接下来会介绍上面三个函数究竟如何联动运作。请看自定义建模规范2。

Lily:Matlab模型静态检查 - 自定义建模规范2​zhuanlan.zhihu.com
513ab3cce597679886a323fffa5fa3c7.png

最后

以上就是欣慰跳跳糖为你收集整理的antd + react model自定义footer_Matlab模型静态检查 - 使用ModelAdvisor自定义建模规范1...的全部内容,希望文章能够帮你解决antd + react model自定义footer_Matlab模型静态检查 - 使用ModelAdvisor自定义建模规范1...所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(50)

评论列表共有 0 条评论

立即
投稿
返回
顶部