MAB规范(1):概览介绍

2024-06-01 17:36
文章标签 介绍 概览 规范 mab

本文主要是介绍MAB规范(1):概览介绍,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

前言

MATLAB的MAAB(MathWorks Automotive Advisory Board)建模规范是一套由MathWorks主导的建模指南,旨在提高基于Simulink和Stateflow进行建模的代码质量、可读性、可维护性和可重用性。这些规范最初是由汽车行业的主要厂商共同制定的,但其适用范围已经扩展到其他行业。

在这里插入图片描述

本专栏将基于Version 5.0版本进行主要内容的翻译和对其中内容做一些补充解释,如有不全和不恰的地方,也请多批评指正,欢迎一起交流!

1 主要内容

MAB的5.0版本,各章节的主要内容如下:

第1章 - 这些指南的目的以及指南模板的概述。
第2章至第5章 - 指南规则
第6章 - 术语表
第7章 - 评估和实施指南的项目流程
第8章 - 高级用户所需的模型架构和操作。
第9章 - 有关Simulink/Stateflow功能的额外解释和建模信息,包括建模模式。

主要涉及到关键点有:

1. 模型组织和结构

  • 分层建模:使用层次结构对模型进行组织,以便于理解和管理。建议使用子系统(Subsystem)和参考模型(Model Reference)来分离不同的功能模块。
  • 命名规范:建议使用有意义且一致的命名规则,包括模型文件、子系统、信号和参数的命名,以提高可读性。

2. 信号和总线

  • 信号命名:信号名称应描述信号的意义和单位,避免使用默认名称(如"Out1"或"In1")。
  • 信号路由:应避免信号线交叉,保持模型清晰。建议使用Goto和From标签来简化信号连接。
  • 总线使用:总线(Bus)可以有效地管理多个信号,但应确保总线信号的定义和使用的一致性。

3. 参数和数据管理

  • 使用参数:尽量使用参数而非硬编码数值,以提高模型的灵活性和可维护性。可以通过MATLAB变量、Simulink参数对象(Simulink.Parameter)等来实现。
  • 数据类型:应明确指定信号和参数的数据类型,避免使用默认的双精度浮点类型,除非确有必要。

4. 状态机设计

  • Stateflow命名规范:状态、事件和数据的命名应遵循一致的规则,避免使用默认名称。
  • 状态层次结构:使用层次结构组织状态,确保状态图清晰易读。复杂的状态逻辑应拆分成多个子图。
  • 动作语言:建议使用MATLAB作为Stateflow的动作语言,以便与MATLAB代码无缝集成。

5. 建模风格和可读性

  • 注释和文档:充分使用注释来解释模型中的关键部分和复杂逻辑,以提高模型的可读性和可维护性。
  • 图形布局:保持模型的图形布局整洁,避免不必要的线条交叉和重叠。

6. 仿真和验证

  • 模型验证:在模型开发的各个阶段进行充分的验证,包括单元测试、集成测试和系统测试。可以使用Simulink Test等工具进行自动化测试。
  • 仿真设置:合理设置仿真参数,确保仿真结果的准确性和稳定性。例如,选择合适的仿真步长和求解器。

7. 代码生成

  • 代码生成选项:为模型设计代码生成参数,以优化生成代码的性能和可读性。使用Embedded Coder等工具进行嵌入式代码生成时,确保配置正确的代码生成选项。
  • 代码可读性:生成的代码应尽量保持可读性和可维护性,必要时可以使用自定义代码模板。

MAAB建模规范通过提供这些详细的指导,帮助开发人员创建高质量的Simulink和Stateflow模型,进而提高整个开发过程的效率和可靠性。更多详细信息和最新的规范,可以参考MathWorks官方网站上的相关文档和指南。

2 目录导览

版本说明:

Control Algorithm Modeling Guidelines Using MATLAB®, Simulink®, and Stateflow®
Version 5.0
MathWorks Advisory Board (MAB)

在这里插入图片描述

Chapter1 Introduction:MAB规范(2):Introduction 介绍

Chapter2-5 Guideline rules:

Chapter6 Glossary:

Chapter7 Determining Guideline Operation Rules:

Chapter8 Model Architecture Explanation:

Chapter9 Appendices:

这篇关于MAB规范(1):概览介绍的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/1021668

相关文章

Python中win32包的安装及常见用途介绍

《Python中win32包的安装及常见用途介绍》在Windows环境下,PythonWin32模块通常随Python安装包一起安装,:本文主要介绍Python中win32包的安装及常见用途的相关... 目录前言主要组件安装方法常见用途1. 操作Windows注册表2. 操作Windows服务3. 窗口操作

c++中的set容器介绍及操作大全

《c++中的set容器介绍及操作大全》:本文主要介绍c++中的set容器介绍及操作大全,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录​​一、核心特性​​️ ​​二、基本操作​​​​1. 初始化与赋值​​​​2. 增删查操作​​​​3. 遍历方

HTML img标签和超链接标签详细介绍

《HTMLimg标签和超链接标签详细介绍》:本文主要介绍了HTML中img标签的使用,包括src属性(指定图片路径)、相对/绝对路径区别、alt替代文本、title提示、宽高控制及边框设置等,详细内容请阅读本文,希望能对你有所帮助... 目录img 标签src 属性alt 属性title 属性width/h

MybatisPlus service接口功能介绍

《MybatisPlusservice接口功能介绍》:本文主要介绍MybatisPlusservice接口功能介绍,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友... 目录Service接口基本用法进阶用法总结:Lambda方法Service接口基本用法MyBATisP

MySQL复杂SQL之多表联查/子查询详细介绍(最新整理)

《MySQL复杂SQL之多表联查/子查询详细介绍(最新整理)》掌握多表联查(INNERJOIN,LEFTJOIN,RIGHTJOIN,FULLJOIN)和子查询(标量、列、行、表子查询、相关/非相关、... 目录第一部分:多表联查 (JOIN Operations)1. 连接的类型 (JOIN Types)

java中BigDecimal里面的subtract函数介绍及实现方法

《java中BigDecimal里面的subtract函数介绍及实现方法》在Java中实现减法操作需要根据数据类型选择不同方法,主要分为数值型减法和字符串减法两种场景,本文给大家介绍java中BigD... 目录Java中BigDecimal里面的subtract函数的意思?一、数值型减法(高精度计算)1.

Pytorch介绍与安装过程

《Pytorch介绍与安装过程》PyTorch因其直观的设计、卓越的灵活性以及强大的动态计算图功能,迅速在学术界和工业界获得了广泛认可,成为当前深度学习研究和开发的主流工具之一,本文给大家介绍Pyto... 目录1、Pytorch介绍1.1、核心理念1.2、核心组件与功能1.3、适用场景与优势总结1.4、优

Java实现本地缓存的常用方案介绍

《Java实现本地缓存的常用方案介绍》本地缓存的代表技术主要有HashMap,GuavaCache,Caffeine和Encahche,这篇文章主要来和大家聊聊java利用这些技术分别实现本地缓存的方... 目录本地缓存实现方式HashMapConcurrentHashMapGuava CacheCaffe

Spring Security介绍及配置实现代码

《SpringSecurity介绍及配置实现代码》SpringSecurity是一个功能强大的Java安全框架,它提供了全面的安全认证(Authentication)和授权(Authorizatio... 目录简介Spring Security配置配置实现代码简介Spring Security是一个功能强

JSR-107缓存规范介绍

《JSR-107缓存规范介绍》JSR是JavaSpecificationRequests的缩写,意思是Java规范提案,下面给大家介绍JSR-107缓存规范的相关知识,感兴趣的朋友一起看看吧... 目录1.什么是jsR-1072.应用调用缓存图示3.JSR-107规范使用4.Spring 缓存机制缓存是每一