MBD概念
- MBD : Model-Based Design,
基于模型的设计方法
是一种系统开发方法论,即对系统进行建模、分析、验证,然后基于模型自动生成代码、测试用例和文档的设计开发过程 - MBD采用的是基于
自然语言
和图形语言
的双重建模方式,让模型与用户之间的关系更加紧密,同时模型也更加贴近实际应用场景;在对模型进行分析和验证时,可采用形式化的方法,如模型检测和仿真等,从而增强系统的可靠性和正确性 - MBD可使软件开发人员和系统工程师在设计过程的早期阶段快速创建和验证系统,从而更早地捕捉和解决问题,提高开发效率、同时也便于代码的维护和更新
- MBD广泛的应用在各个行业,比如:汽车行业,航空航天行业,电力行业,医疗设备行业,控制系统工程等等
MBD工具箱介绍
- MBD最核心的工具就是大家耳熟能详的 :
Matlab
,其中包含多个工具箱,主要使用的工具箱有:Simulink
,Stateflow
,Model Test
,Coder Generation
,即模型的建立,仿真测试和代码生成 Simulink
提供了图形编辑器、丰富的模块库、可自定义的模块库以及求解器,能够进行动态系统建模和仿真,支持系统设计、仿真、自动代码生成以及嵌入式系统的连续测试和验证Stateflow
是一个基于有限状态机和流程图来构建组合和时序逻辑决策模型并进行仿真的环境,它可以将图形表示和表格表示(包括状态转换图、流程图、状态转换表和真值表)结合在一起,针对系统对事件、基于时间的条件以及外部输入信号的反应方式进行建模- Model Test 模型测试:为了确保模型的准确性,提供了完整的测试方法和手段,包括了静态检测方法:
建模规范检查 Model Advisor、设计缺陷检查 Design Verifier
,动态检测方法:功能测试 Sumilink Test、覆盖度检查 Coverage Analyzer
等测试工具 Coder Generation
代码生成:当模型建好、仿真调试结束后,需要利用代码生成工具将模型转换为C代码,并对生成的代码进行优化,集成到硬件平台运行,包括Embedded Coder
,Simulink Coder
- Matlab也有对代码进行检查的工具
Polyspace
:Polyspace是代码静态,动态检查工具,可以对源代码进行静态检查
:检查代码规范,编码错误,静态度量(代码量,调用次数);也可以动态检查
运行时错误(算术溢出,缓冲区溢出,被零除和其他错误),测试覆盖度检测等
MBD专栏介绍
本专栏将会陆续分享如何使用Matlab工具进行MBD项目开发,各工具箱的基础使用方法,欢迎订阅阅读!
由于本人技术水平有限,分享内容可能存在错误,欢迎各位同行交流指正,共同进步!