什么是基于模型设计(MBD)?

2023-11-03

MBD(Model based Design)是什么?
随着嵌入式行业的快速发展,MBD作为解决专家紧缺、国内解决方案匮乏的新软件开发方式备受关注。 MBD是一种通过建模自动生成代码的(Auto-generation Code)开发方式。 可以说它与如何用传统的C/C++等计算机语言编写程序有很大的不同。

MBD 还允许工程师模拟和验证在开发过程早期的设计。 从模型自动生成结构化代码避免了由于手动编码而导致的错误。 通过仿真验证您的设计并使其实现自动化,可以确保您的整个系统在连接到嵌入式系统时将按预期运行。

通过想象著名的游戏模拟城市更容易理解 MBD。 为每个功能选择一个图形(模型),绘制(设计),并通过模拟(执行)检查结果。 如果执行结果不符合预期,则重复通过重新绘制模型来检查结果的过程。 所有这些都在 PC 上完成,在连接到真实系统之前检测和修复可能的错误,效率非常快。
<图1> Model Based Design循环程序
<图1> Model Based Design循环程序
MBD的优势
1、在系统开发的各个阶段不断的测试和验证,可以降低冗余实施的成本。
2. 系统算法的测试可以在建模和仿真阶段进行。
3. 利用已经设计好的功能模型。
4、可以降低实施阶段所需的成本(人力、时间)。
MBD的使用
基于模型的设计 (MBD) 使用最多的领域是汽车领域。 以汽车ECU开发为中心提出了基于模型设计的概念,许多汽车控制器正在扩展到基于MBD的SW开发。 因此,基于 MBD 的 SW 验证需求呈上升趋势,SureSoft 基于 ISO 26262 为基于 MBD 的 SW 提供静态和动态验证服务。

ISO 26262和MBD的关系
汽车领域功能安全的国际标准 ISO 26262 第 6 部分“软件级别的产品开发”中关于MBD 领域的验证。
ISO 26262 V模型和单元/集成测试中的动态/静态测试ISO 26262 V模型和单元/集成测试中的动态/静态测试
在这里插入图片描述
另一方面,MBD 的动态验证建议在单元/集成阶段执行基于需求和接口的验证,而不考虑代码或模型。

MBD验证工具
SureSoftTech 为模型的静态和动态测试开发并提供了各种测试工具。

1.模型静态验证工具 -Model Inspector
Model Inspector 支持 MISRA、Matworks 和 dSPACE 建模指南,并提供 SureSofttech 自己的建模指南。 它是一个模型静态验证自动化解决方案,根据这些准则对模型进行静态验证,检测违反规则(准则)的项目,分析质量指标,并自动生成报告。

2.模型动态验证工具-Controller Tester
用于执行基于自动代码的模型动态验证的工具 Controller Tester 是 SureSofttech 的自动化解决方案,可为在各种环境中开发的软件执行单元/集成验证。


MBD的未来
随着基于 MBD 的软件开发在 IT 行业的频率逐渐增加,模型验证过程正成为一个重要的部分。 特别是在汽车领域,在结构复杂的模型中,安全性很重要,定义了功能安全的国际标准 ISO 26262,以指定静态验证(例如检查模型是否符合准则)和动态验证(例如模型)模拟。
目前,SureSoft 已经建立了模型的静态/动态验证流程,并正在积极与 OEM 公司进行验证活动。 此外,SureSoft 还开发了测试自动化工具(MI、CT),以降低模型验证成本并提供高效的缺陷检测服务。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

什么是基于模型设计(MBD)? 的相关文章

随机推荐

  • 爬虫做js逆向分析的思路

    1 为什么要做逆向 正常我们访问一个网站是由html css js 文件组成的 下图是某网站的正常访问 当然我们也可以看到是谁调用了这个请求执行了什么 2图为某网站登录链接 分析URL 我们可以看到这个链接他的请求参数 传输方式等 我们可以
  • 蚁群算法原理及matlab代码实现

    蚁群算法基本原理 背景 在自然界中 生物群体所表现出的智能得到越来越多的关注 许多的群智能优化算法都是通过对群体智能的模拟而实现的 其中模拟蚂蚁群体觅食的蚁群算法成为一种主要的群智能算法 算法原理 在自然界中 对于觅食的蚂蚁群体 其可以在任
  • MATLAB PreScan CarSim 联合仿真

    参考视频 PreScan carsim simulink联合仿真 哔哩哔哩 bilibili 参考文档 matlab carsim prescan联合仿真从零开始详细步骤 版本 MATLAB2021b Prescan8 5 CarSim20
  • java注解-ElementType详解

    java注解使用是相当频繁 特别是在搭建一些框架时 用到类的反射获取方法和属性 用的尤其多 java中元注解有四个 Retention Target Document Inherited Retention 注解的保留位置 Retentio
  • go安装

    windows 1 建议去go语言中文网下载 网址 https studygolang com dl 2 配置环境变量 先创建GOPANTH 再配置path 如图 3 检测环境是否安装成功
  • python - os.walk()

    介绍 讲解 概述 os walk 方法用于通过在目录树中游走输出在目录中的文件名 向上或者向下 os walk 方法是一个简单易用的文件 目录遍历器 可以帮助我们高效的处理文件 目录方面的事情 语法 walk 方法语法格式如下 os wal
  • Android反编译apk逆向分析

    Android反编译apk 反编译 逆向 软件下载地址 反编译 逆向 反编译 高级语言源程序经过 编译 变成可执行文件 反编译就是逆过程 但是通常不能把可执行文件变成高级语言源代码 只能转换成汇编程序 计算机软件反向工程 Reversepe
  • QNX网络驱动-设备驱动编写处理方式

    锋影 e mail 174176320 qq com 第一部分 QNX系统的安装与使用 1 QNX的微内核 甚至不包括进程管理 仅提供进程间的通信 Software Bus 但在实际编译的系统中 仍然是进程调度 同步 进程间通信等编译在同一
  • Spring的基本使用

    大家好我是栋zzzz 今天介绍一下Spring的基本使用 为了更好的熟悉Spring 可以先看一下我前面的文章 初识Spring 目录 一 Spring的创建和使用 1 创建一个Maven项目 2 添加Spring框架支持 3 添加启动类
  • YOLO系列训练时出现loss出现nan值或者测试时P\R\map全部为0值的解决办法(GTX16xx系列显卡大坑)

    目录 0 前言 用处不大 可以直接看解决办法 1 产生问题的原因 2 解决办法 YOLO V5 YOLO V7 2 小结 这个问题是GTX16xx用户的大坑 基本上每个GTX16xx用户使用YOLO系列算法 都会遇到这些问题 这个方法是不彻
  • zutuanxue.com-linux磁盘管理基本管理

    linux磁盘管理基本管理 开课 本章我们将学习到磁盘管理的相关知识 这部分知识在我们以后的工作中非常重要 它可以让我们知道如何去规划磁盘 如何去使用磁盘 如何去提高磁盘的利用率 这些都会影响服务器的性能和效率 而服务器性能和效率会影响到我
  • 聪明的人脸识别1——Keras 搭建自己的Facenet人脸识别平台

    聪明的人脸识别1 Keras 搭建自己的Facenet人脸识别平台 学习前言 什么是Facenet 源码下载 Facenet的实现思路 一 预测部分 1 主干网络介绍 2 根据初步特征获得长度为128的特征向量 3 l2标准化 4 构建分类
  • H5页面跳转关注微信公众号页面

    实现点击就跳转到关注公众号的页面 实现点击就跳转到关注公众号的页面 如下图 如果已关注 就会是发消息 如果未关注 发消息的按钮就会是关注 实现步骤 1 登录 微信公众号 后台 F12打开网页调试模式 2 打开Sources 搜索 uin b
  • HashMap中put方法(白话加源码分析)

    一 首先不看代码用白话分析一下流程 我们在使用put方法的时候会传进key和value参数 在我们将这两个参数传入后 第一步 我们的put方法会去判断这个hashmap是否为null 或者长度是否为0 如果是则对hashmap数组进行res
  • 数据处理:归一化与标准化

    归一化与标准化 归一化和标准化是数据预处理时常用的方法 它们都可以将数据映射到特定的区间内 但是具体的实现方式和应用场景有所不同 1 归一化与标准化的相同点 都能够处理特征值之间的差异性 避免特征值之间的度量不一致或者差异过大 都可以提高模
  • openseadragon实战系列基础篇(有你想要的干货)

    序言 如果你正在寻找openseadradgon的相关资料 那么我相信你一定清楚了这个插件的作用 这里就不再赘述了 openseadragon所支持的图像协议可以在官网找到 https openseadragon github io exa
  • Jvm类加载机制详解--类加载的几个阶段

    虚拟机把描述类的数据从Class文件加载到内存 并对数据进行校验 转换解析和初始化 最终形成可以被虚拟机直接使用的Java类型 这就是虚拟机类加载机制 在Java语言中 类的加载 连接和初始化过程都是在程序运行期间完成的 这是java作为动
  • 使用servlet实现用户登录

    本文简单讲述使用servlet实现用户登录 包括用户登录 退出和注册等 1 关于servlet 1 1概述 Servlet Server Applet 全称Java Servlet 未有中文译文 是用Java编写的服务器端程序 其主要功能在
  • react usecontext_鬼才!我居然把 Vue3 的原理用到了 React 上?

    前言 vue next是Vue3的源码仓库 Vue3采用lerna做package的划分 而响应式能力 vue reactivity被划分到了单独的一个package中 如果我们想把它集成到React中 可行吗 来试一试吧 使用示例 话不多
  • 什么是基于模型设计(MBD)?

    MBD Model based Design 是什么 随着嵌入式行业的快速发展 MBD作为解决专家紧缺 国内解决方案匮乏的新软件开发方式备受关注 MBD是一种通过建模自动生成代码的 Auto generation Code 开发方式 可以说