建立基于模型设计文化的最佳策略

时间:2022-05-31 12:54:25

建立基于模型设计文化的最佳策略

摘 要:本文引入了基于模型设计的概念,突出了其中的一些优点,详细讨论了组织中采用基于模型设计文化的10个最佳策略。这些最佳策略从不同工业领域的公司中收集,包括向基于模型设计的成功或者不成功的过渡。

引言

嵌入式系统的深入应用不断改变着汽车工业。这里应用的嵌入式系统可用于液压系统的控制,而之前液压系统都是由机械系统控制,嵌入式系统的应用改进了机器的生产效率、安全性以及维护等性能。这以上领域中,系统复杂度的增加给传统系统开发过程提出了挑战,如满足程序时序、成本和质量等。为了应对以上挑战,主要汽车制造商的工程师跳过了手写代码进行系统设计的开发过程,直接过渡至利用图示化模型设计、分析及执行,以决定机器性能和行为的软件。

使用模型可以保证最终产品满足系统的需求。这些模型帮助不同专业的工程师一起高效工作,并可在设计过程的不同阶段进行交流,在设计的早期阶段发现并校正错误。从软件工具提供商的角度来看,基本原则的提炼可能保证基于模型设计的成功应用。这些基本原则的范围包括从与自动代码生成相关的特定策略到组织性的问题。什么是基于模型的设计?

在基于模型的设计中,开发的过程围绕着系统的模型――从需求的获取到设计的执行及测试。

系统模型是可执行规范的核心部分。可执行规范还包括输入、期望输出或可接受的标准、应用的环境,以及同需求之间的连接或相关。可执行规范的目标是明确地传达设计目标,同时通过仿真对需求进行可行性和兼容性分析。

使用基于模型的设计,工程师可以通过下列方法提高效率:

在不同的项目组间使用通用的设计环境,

设计直接同需求相连;

将设计同测试集成,用于连续识别和校正错误;

在多领域仿真中重新定义算法

自动生成嵌入式软件代码和合成的HDL代码;

开发和重新利用测试用例;

自动编制文档;

在多处理器和硬件目标中重复使用设计来部署系统。

采用基于模型的设计

为什么公司都采用基于模型的设计?有时候这种设计通过战略计划驱动的自上而下的委托管理来部署一套常用的工具和进程,其他则是采用基层自主的方式,大学中的工程师使用建模的方法并在工作中寻找工具来满足需求。在其它情况下,基于模型的设计能够将技术扩展至更积极的如6sigma或者系统工程中。基于模型设计使公司获得的回报以以下几种形式体现出来:

提高效率,如减少完成指定项目所需的工作时间;

加快上市时间;

提高质量;

减少对物理原型的依赖。

另外,工程师在选用正确的工具工作时,通常会更有兴趣。

向基于模型设计过渡的10个最佳策略

基于模型设计是数年学习的积累

将基于模型设计作为一种开发嵌入式计算系统的方法时,需要着重考虑文化、工具、处理器、组织以及战略等方面。

首先,组织必须建立起衡量模型与仿真开发和使用的文化,将其作为一个核心的工程活动。

这里需要在定义的进程界限内使用工具。每个公司或者政府部门在设计过程中有不同等级的形式,这些形式是由文化、规定、最优策略、最新的趋势以及在其中工作的人决定的。但采用基于模型的设计时,同其他技术一样,需要建立有效一致环境的处理过程。

可能还需要改变或者弃用传统的组织模型,从而支持基于模型设计的工作流程。一个有着愿景式领导的有效组织机构是成功的必要条件。

另外,向基于模型设计的过渡需有一个明确定义的目标和支持的战略。过渡需要逻辑顺序,这点根据组织的不同而不同。高层管理者需要深刻理解这些战略,同时针对计划对工程师进行管理。

最佳策略:识别需要解决的问题

在发生任何进程的改进前,需要更深一步理解现有的组织机构和进程中相关的优势和弱点。需要有支持这些理解内容的衡量方法。对于没有合适的衡量标准项目的组织,使用最佳策略建立这样一个项目。在现代嵌入式系统开发过程中有很多子元素不能有效运行,比如:

重新使用是否所有的工作都可以重复使用?

验证和校验一是否知道所有的缺陷,以及在发行前是否已经进行了修正?付出的代价如何?

每个采用基于模型设计的组织需要发现现有过程中存在的弱点,为了解决该弱点需要付出的代价,以及首先要解决的问题。总经理需要对该工具投资以及授权技术的回报有自己的见解,从中选出一部分向赞助商说明投资的回报。

最佳策略:“规则2”

为了过渡至基于模型的设计,我们需要对工具、培训以及组织性等方面进行变革,从而适应该过渡过程。为了获取最少可接受的回报,生成的模型需要可用于至少两种以上的应用中。举例来说,模型需要用于在仿真中验证需求,同时生成文档资料。同时可选择的应用包括定义和开发在快速原型时的控制算法,以及为产品控制器自动生成代码。

两个过程元素的选择需要使用最佳策略进行慎重考虑。这样做的目的是为了获得投资的最大回报。不同设计阶段的模型重复使用功能是获取最大回报的必要条件。

最佳策略:使用模型生成产品代码

组织不断通过软件来实现硬件的共用,也就是说,为了保证同样的基础硬件能够实现不同的功能,可以改变控制该硬件的嵌入式软件。这样既节省了制造商在硬件上的规模,同时使得产品仅仅通过改变嵌入式软件就可以满足顾客自定义的需求,满足了产品自定义同大批量生产两个看上去相互矛盾的目标共同兼顾。

毫无疑问,嵌入式系统软件正快速取代机械硬件的使用,逐渐成为决定产品性能特性的关键因素。例如,嵌入式系统软件控制着汽车的主要系统,因此从实际来说,汽车的“行驶”需要依靠软件。讨论了嵌入式软件的重要性之后,则可以很自然地将之前所提到的“规则2”扩展至模型的一个使用:自动生成嵌入式软件。代码生成技术的最新发展可以从模型中自动生成产品级嵌入式软件。当模型能够自动生成软件时,整个测试基础可重用于测试模型,因此可以检验生成的软件及可能发现的错误,同时及早纠正。同时,如果需要改变需求及设计,则需将他们做成模型,这样可以重新高效地从模型中生成软件,大大缩短软件跟上需求或者设计改变所需的反应时间。

从模型中自动生成嵌入式软件需要组织文化的转变。在过去,控制设计师为他们的设计创建模型,软件工程师则基于这些模型的规范手动开发嵌入式系统。有了嵌入式软件的自动生成,软件工程师的关注点发生了变化,从每次设计或者需求改变时重新花费时间写算法代 码,到花费更多的时间将算法代码同嵌入式系统的其他部分集成,同时也适用于说明和设置基础结构。另外,模型使得控制工程师和设计工程师之间的关系更为紧密,消除了传统上工作之间的障碍。

最佳策略:模型是真理的唯一来源

基于模型设计的一个很重要的优点是,建立的模型可在多个项目中重复利用。模型属于组织的知识产权(IP),可以在很多项目中重复使用,使得项目在质量和时间指标上大大提高。但是,这种优势只有在模型中包含真正的IP时才能获得。

本最佳策略和最佳策略的逻辑扩展即模型是同嵌入式系统相关真理的唯一来源。模型中自动生成的嵌入式软件只能让汽车“行驶”。如果在试生产汽车的最后检验和测试中发现算法错误,或者针对需求进行最后微小的改变,则倾向于“修正”嵌入式软件本身,以避免对自动的嵌入式软件生成和一体化进程重新检查。但若软件工程师使用了这种试探性的方法,会停止模型软件的同步,模型也不包括真正的IP。

该部分同最佳策略一样加强了组织的含义。控制和软件工程师需要合作,从而保证任何最终很小的改变都确实融入至模型中。组织的领导者需要支持和鼓励这种做法,同时强调这样做的需要及好处。实际上,组织者需要有严格的纪律来使用和促进模型,使其成为嵌入式系统唯一的设计语言。

最佳策略:将过渡视为学习的机会

有时候,从传统的开发过程过渡至基于模型的设计会有些徘徊。但是,组织者遵从最佳策略,同时通过过渡的过程进行自我学习,这对他们长期的成功非常有益。这种自我反省可对现有的过程,以及自己的优点和弱点有根本的认识,同时对组织的核心竞争力有更深的理解。有了这些深入的信息,组织可以更好完成向基于模型设计过渡的任务。

在向基于模型设计过渡的过程中,一种常见的试探性做法是“外包”至第三方。虽然外包本身不是坏主意,但仍然需要正确的判断,同时目标领域是组织的非核心竞争力部分。如果将现有的IP至基于模型的环境过渡进行外包,则组织也失去了重新检查这些IP的机会,同时也无法质疑IP的哪一部分确实需要变化,修正可能存在IP内的错误和缺陷等。因此,效率不高的外包很容易浪费改进产品质量的哪一部分需要机会。组织需要确认能从第三方得到帮助,这些帮助需要集中在创建工具和效用上,简化向基于模型设计的过渡,同时提出基于模型设计的更好过程等。

另外一种试探性的做法即“快速转变”,彻底地向基于模型的设计过渡从而获得所有的优点。这种做法也有很多缺点。首先,现有的开发过程或产品的某些组成部分效率较高,或者构造完善,在第一道关时不需要改变。丢弃这样的优势会导致向基于模型的设计调整时带来不必要的重复性工作。一种更聪明的方法是批判性地选择开发过程和产品的组成部分。举例来说,识别当前开发过程或产品中的问题区域,在第一次循环中将基于模型的设计集中于该区域。第二步,了解当前开发过程或产品中包含哪些不需要向基于模型的设计过渡的部分,如低等级的设备驱动器,或者在未来产品中需要淘汰的性能等,这些都不需要过渡至基于模型的设计。对当前的开发过程应进行深入的观察,识别其中最适合使用基于模型设计的区域。

当决定产品IP的哪一部分需要建模后,首先需要解决一些全新的控制特性。其次,着手解决设计中的问题部分,或者那些不断发生变化以及引起问题的部分。最后,如果时间允许,将更为稳定的控制系统的端口移植入该背景中。

最佳策略:集中在设计

有时候,引入基于模型的设计时,软件工程师的角色也随之改变,从运行时代码编写的综合能动性过渡至在开发过程的初始阶段构建软件,同时不断完善可执行规范,从而使得生成的代码更接近执行阶段。

举例来说,软件工程师需要开发一个灵活的机制,使得使用基于模型设计开发的新特性能够同原有代码集成。另外,软件工程师需要对生成的模型进行完善,保证其生成的代码能够在目标处理器中运行。

最佳策略:集成开发过程

要想取得成功,基于模型设计需要的是主流产品开发过程的一部分,而不是覆盖。

通常,需对现有的开发过程和衡量方法进行修改,从而同基于模型的设计结合。举例来说,我们需要开发风格向导,并在合适的项目里程碑中回顾该风格向导以进行支持。我们需要涉及基于模型设计的加工品的配置管理。在以代码为中心的设计过程中,代码通常是主要的或者唯一人工可控的部分。在基于模型的设计中,控制的人工部分包括测试向量、期望成果、模型组成以及使用的建模环境版本等等。同样,需求管理和验证过程及工具需同基于模型设计的工具相集成。传统方式中,软件需求一般不进行校验,除非有可用的可执行硬件。但是,引入基于模型的设计后,仿真验证可在硬件验证之前进行。

必须建立详细的、不间断的培训以及能力开发计划。这些计划包括一般的产品培训和自定义的特定过程的指导和规定。

最后,可能也是最重要的,需要更新评估项目状态的衡量方法,从而完成向基于模型设计的过渡。

最佳策略:谁有影响力,同时能有效控制预算,谁就是赢家

成功过渡至基于模型设计的大部分组织通常选择一个有力的,有经验的同时受尊敬的领导者。有时候这个领导者需要是善于促成共识的人,有时候也是仁慈的独裁者。

人力、资本或者培训的投资是整个基于模型设计的部署和投资期望回报(ROI)的函数。这些投资对于组织来说非常重要,同时预算的处理也是胜利者的一个重要特质。

最佳策略:有一个长远的眼光

向基于模型设计过渡需要一定的时间。对于交通业、建筑设备或者空防等从零开始的工业组织中,中等大小的嵌入式系统设计和开发需使用年来衡量过渡的时间。ROI可在第一个模型建立、仿真及消除设计缺陷后,同时在变成代码或硬件之前取得。获得全部的优点需花费一定的时间。

很多组织试图跟上潮流,他们希望在3到6个月内将他们的开发机构过渡至基于模型设计的概念或者技术的机构,这是非常不现实的。可能有着少量生产线的小型全套装备以及5~20个开发者可以在一段较短的时间内完成过渡。进行基础研究的小组进行得更快些,这是因为他们不易被原有代码所累(但是相应的ROI较低)。较大的组织更容易被原有开发过程的组成部分所累,同时“粘合”任何商业工具至开发过程也占用了相当多的时间。考虑包括上述原因在内的一些因素,为了进行缺陷跟踪、配置管理、文档编制和出版、项目管理等,工作需要长期的耐心和深思熟虑。组织需要拥有一个管理计划,并不停地完善。使用上面列出的其他最佳策略,慎重选择使用策略的顺序,用于将基于模型设计概念应用于说明价值提升的一系列命令,以及承诺提供保持过渡所需的资源。

大部分工程师都会在过渡的开始立即发现一个优点:工作中有了更多的乐趣。大部分人,尤其是工程师,喜欢使用强大的工具,这样可以保持较高的速率以及提升工作的满意度。

最佳策略:同工具供应商合作

聪明的组织从自己的错误中吸取教训,而明智的组织则是从其它人的错误中学习新的东西。由于工具供应商在组织向基于模型设计的过渡中扮演了重要的角色,需紧密的加入支持过渡的过程中,因此,他们积累了大量组织在管理成功的或不成功的过渡时需要处理的情况的重要经验。在自己组织的过渡过程中,使用工具供应商积累的经验可以在很大程度上降低学习曲线的陡度。这样,组织能够更快体会到基于模型设计的好处,也使得投资回报率盈亏平衡点更为提前,同时减少保持基于模型设计所需的努力。入式控制系统,如应用于汽车动力传动或者经典控制中的系统,提供了一个健全、成熟以及高度精炼的策略。这些策略不是固定的准则,不能在每个仿真中应用。每个组织在向基于模型设计的过渡阶段需要退后一步省视自我,以理性选择这些策略。只有明智地选用这些最佳策略,才会给使用中的嵌入式控制开发过程所需要的人力和技术投资带来最大回报。

上一篇:模拟技术是芯片厂商的决胜关键 下一篇:用低成本FPGA实现HD/SDSDl收发器