采用基于模型设计缩短产品开发周期

作者:陈永光 文章来源:AI《汽车制造业》 发布时间:2010-07-06
分享到


Jim Tung先生:系统开发流程的趋势是:通过基于模型的设计,将更多的精力放在需求分析阶段

对于项目延期完成的原因,The MathWorks公司首席研究员(Fellow)Jim Tung先生表示,不切实际的时间表占的比例最高,达63.6%,其次,规范的更改、规范的不充分以及应用的复杂性日益增加、开发/测试人员太少也是造成项目延期的重要影响因素(见图1)。


图1  影响项目延期完成的原因

为此,Jim Tung先生谈到了早期验证的重要性。他以航空领域的实例,举例道:“NASA意外事故的原因可以追溯到不充分的需求确认,以及从系统需求到软件需求的有缺陷流程。

”那么,错误是在什么地方引入和检测到的呢?他介绍道:“系统开发被分为需求、设计、实现和测试4个阶段。对于传统的开发流程,越是在系统开发早期,引入错误的比例越大,越到后期,其比例逐渐越小。”比如,在需求阶段错误被引入的比例高达60%,在设计阶段为21%,而在实现和测试阶段的比例则分别为12%和7%。而开发人员检测到的错误的比例却恰恰相反,随着4个阶段的进展,检测到的错误却在逐渐增加,4个阶段的比例分别为8%、15%、22%和55%(见图2)。“每一次检测并纠正设计问题的推迟往往都将导致高昂的代价去修复它。”他表示。


图2  传统开发流程中,错误的引入和检测

对此,The MathWorks公司提出采用基于模型的设计进行早期验证,方便地通过模型(一种可执行的规范)进行嵌入式控制系统的详细设计,从而帮助设计人员在系统开发的早期发现并修正需求和设计过程中出现的错误(见图3)。“在前两个阶段即开始对系统进行验证,从而尽可能少地引入错误。一旦发现有错误被引入,便于进行及早纠正,从而在节约大量修复错误的成本的同时,有效地提高产品质量并缩短产品开发周期。”Jim Tung先生进一步解释道。


图3  采用基于模型设计的早期验证,错误的引入和检测

据他介绍,早期验证的主要方法有:在可执行的规范(模型)下进行详细的需求分析;使用模型作为算法和组件的系统级测试平台;对设计权衡、组件的交互以及系统的测度进行仿真和评估;从虚拟系统集成到完成系统开发,对测试平台进行重复利用。

Jim Tung先生表示,不同类型的公司/团队,应采用不同的设计方法。根据开发团队对于基于模型设计的接纳程度,The MathWorks公司将其分为三大类:基于模型设计的高级采用者,大量使用模型进行设计和代码生成;开发控制系统的中小型团队,在原型机上手动调节控制器算法;算法集中的信号处理、图像处理以及通信系统,使用MATLAB进行研究,但不同组件使用独立的工作流程。

第一类开发者是构建复杂控制系统的大型团队,大多属于航空航天、国防和汽车领域。这一类开发团队大量使用模型进行系统设计和实现,但其问题是系统仿真没有与需求和系统分析有效结合。对于这类开发团队来说,早期验证就意味着将建模与需求紧密相连,在实现阶段之前进行系统化的需求确认和设计验证,以实现虚拟集成和测试,通过仿真确保及早发现需求和设计错误。

Jim Tung先生以丰田汽车举例,“该公司已广泛采用The MathWorks工具。MATLAB、Simulink和Stateflow等已成为丰田汽车进行仿真、数据处理和控制设计的实际标准。”丰田汽车利用The MathWorks工具进行样机的控制设计、仿真、测试并改进集成设计环境中的控制策略,其结果是以更低的成本更快地向市场提供更好的新车产品,减少嵌入式代码的实现时间,开辟丰田汽车的创新之路。

据The MathWorks公司客户咨询委员会的客户反馈,对于汽车和航空等领域,设计工程师们抱怨自己50%或更多的精力花费在验证和确认活动上。“通过采用The MathWorks公司基于模型的设计,他们将会把更多的精力放到需求分析阶段,这也是系统开发流程的趋势。”Jim Tung先生表示。

收藏
赞一下
0