随着现代社会对汽车在舒适、安全等方面的要求越来越高,导致汽车嵌入式软件复杂度指数级上升,嵌入式软件开发面临很大的困境,越来越多的企业已经放弃手写代码,转向基于模型的设计(即MBD)。
通过行业标准和规范软件可以指导和优化整个开发过程,基于模型设计能大大提高早期验证效率,解决潜在的问题。模型即使需求,需求即使模型。两者一一对应。
下图是基于模型的设计中引入错误和发现错误的示意图,可以看出项目晚期验证阶段引入和发现错误的数量大大减少。
下面是笔者再网上收集到的基于模型设计的实践经验,大家可做参考:
最佳实践#0:软件架构设计及开发模式
最佳实践#1:复杂度监控
最佳实践#2:模型引用(Model Reference)的使用
最佳实践#3:库模块的使用
最佳实践#4:总线(Bus)模块的使用
最佳实践#5:禁止使用模块优先级控制执行顺序
最佳实践#6:禁止全局Goto/Form以及Data Store Memory模块
最佳实践#7:限制Stateflow子状态的层数
最佳实践#8:Stateflow并行状态
最佳实践#9:单元模块间信号的代码生成
最佳实践#10:区分Simulink/Stateflow/Embedded MATLAB