MBD下的软件开发模式教程

MBD下的软件开发模式教程

ID:41325428

大小:162.00 KB

页数:6页

时间:2019-08-22

MBD下的软件开发模式教程_第1页
MBD下的软件开发模式教程_第2页
MBD下的软件开发模式教程_第3页
MBD下的软件开发模式教程_第4页
MBD下的软件开发模式教程_第5页
资源描述:

《MBD下的软件开发模式教程》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、MBD模式下的软件开发流程介绍王淳(联创汽车电子有限公司,上海浦东201203)【摘要】以模型为基础的软件开发,我们称之为MBD(Model-BasedDesign)。和传统的嵌入式软件开发模式相比,MBD模式无疑是一个巨大的进步,肯定会在今后几年内普及,并完全代替现有嵌入式软件的开发模式。【主题词】MBD,软件开发流程及工具,MIL,SIL,PIL,HIL一、变革的力量:上次的变革:90年代,国内嵌入式软件开发还停留在汇编语言的层次,汇编语言虽然灵活、效率高,但是在处理浮点计算、复杂逻辑运算等问题上,软件开发的工作量相当大。而同期国外已经大面积普及了以C语言

2、为基础的嵌入式系统开发流程。当年很多程序员对于C编译器的正确性、可靠性、效率还都抱有过怀疑的态度,但是随着keil、tasking等公司不断推出的优质的C编译器,这种疑虑很快被打消。C代码不需要程序员关心浮点算法;对复杂逻辑的设计也很方便;而且针对于嵌入系统硬件资源有限的情况,很多专用的C编译器都提供各种优化选项;通过对堆栈的灵活运用,解决了RAM空间不足的问题;代码的可移植性、可继承性也远强于汇编语言。短短几年时间,C语言编程在国内嵌入式系统的开发中已经普及。先进工具可以大大提高劳动生产率,这一点在这次变革中体现的非常明显。现在的革命:而基于模型进行嵌入式系

3、统开发流程,其优越性以及对传统开发方式的颠覆,一点也不比当年的变革小。对于嵌入式系统开发而言,存在以下一些具体的问题:l现在嵌入式系统的复杂程度,比起几年前又上了一个台阶,传统C语言开发采用流程图的辅助设计方式,已经很难表达复杂的程序逻辑;l以手工编写C代码,还是会出现很多低级错误;l现在的系统开发周期越来越短,再沿用过去那种硬件设计->软件设计->集成调试的流程,无法开展硬件和软件的并行开发;l随着系统复杂性的增加,用户对最终功能的确定也越来越模糊,很多情况下,用户都需要在得到样机后,才能开展测试,并提出修改意见,从而导致开发的反复,大大增加了开发成本和时间

4、。l虽然C代码已经在各个嵌入平台上普及,但是因为代码设计者设计思路的局限,加之传统流程图的单线设计思路,软件模块的可继承性还是比较差。国外的企业已经从90年代后期,逐步开始采用MBD开发流程,使用建模工具对复杂嵌入式系统进行分析设计。随着建模工具及配套设备的完善,使得自动代码生成的工具链也逐渐清晰。现在已经有很多极复杂系统,如电喷控制器等等,全部采用了MBD的设计流程。MBD工具链的可靠性、稳定性已经无需怀疑。l以建模工具对复杂逻辑进行设计、分析、仿真,使得系统需求分析和软硬件开发结合得更加紧密,系统分析不再仅仅停留在文档阶段,而是直接和设计挂钩。l采用了MB

5、D的设计流程后,在硬件设计的同时,软件设计即可全面展开,大大缩短了开发周期。l从软件开发的第一步开始,工程师就可以观察结果,调试逻辑,大大加快调试进度。l采用成熟工具,可以实现代码自动生成,完全避免了手工编码的低级错误。并且在设计修改后,极短时间内即可重建系统软件,而无需进行多次反复测试。l采用建模工具及辅助设备,可以在模型建立后,立即实现快速原型仿真,用户马上可以看到设计运行的结果,工具可以协助用户及时修改需求,在最短的时间内完善需求设计。l模型的可移植性,远强于C代码,可以方便的建立公司内的系统设计模型库,节约开发成本。二、MBD开发流程的环节和作用:2.

6、1系统设计定义阶段系统设计定义阶段的目的是:针对用户提出的初步需求,逐步细分,将功能需求拆解为可实现功能定义,并且建立系统级模型,包括控制器模型(controller)、被控对象模型(plant)、测试案例模型(referenceposition)。其中,测试用案例模型和被控对象模型,是系统设计工程师根据用户需求设计的。在整个开发流程中会多次使用,也是系统设计定义阶段重点关注的内容。系统设计定义环节本身也将在整个设计流程中反复迭代,用户需求会在不同的阶段逐步完善,这些修改最终都需要反馈到系统设计定义中,主要是反馈至测试用案例模型中。控制器模型也在系统设计定义阶

7、段直接输出,这样后续的工作都可以在统一的模型上完成,而不需要在代码、模型、文档之间频繁切换,一方面可以节约时间,一方面可以始终得到最准确的需求文档。控制器模型的详细设计可以由后续的环节完成,在系统设计定义阶段可以只定义为顶层模型。不必细究。系统设计定义阶段,建议使用MATLAB提供的SimulinkVerificationandValidation(V&V)工具,使用这个模块,可以将需求与模型关联起来,通过SignalBuilder(SimulinkLibraryBrowser->Sources->SignalBuilder)来设计测试案例,通过V&V工具,对

8、模型执行覆盖度分析;也可以用工具(De

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。