在线工博会

基于渐进式虚拟原型的并行设计方法
赵文辉 张鲁峰 李思昆
为节省流量,手机版未显示文章中的图片,请点击此处浏览网页版
摘要:现有的并行设计多采用基于知识的方法和基于约束的方法,它们要求必须有明确的问题表述,并且缺乏对概念设计正确性的确认手段,因此难以适应创新设计的要求,应用范围有限。针对上述问题,给出了渐进式虚拟原型的概念,用原型树模型刻画了渐进式虚拟原型的构成方式和进化过程,并在螺旋模型的基础上,提出了基于渐进式虚拟原型的并行设计方法。该方法可以有效地减少大的设计过程反复,提高设计活动的并行度 基于已开发的并行设计环境,该方法已经应用到实际的设计中,并发挥了重要的作用。
关键词:虚拟原型;并行设计;螺旋模型
1 引言
随着嵌入式微处理器和嵌入式软件的广泛使用,产品的智能化、自动化和信息化程度越来越高,产品的功能和结构日趋复杂,其设计难度也不断增大。同时,技术和工艺水平的飞速提高,以及激烈的市场竞争导致产品的更新换代更加频繁、生命周期缩短,也使得设计时间日益缩短。在设计难度提高和设计时间缩短的双重压力下,企业纷纷采用新的设计方法,以保持产品的竞争力。其中,以并行工程[1]为目标的并行设计方法受到普遍的重视,已经成为研究和应用的热点。
并行设计的目标是提高相关设计活动之间的并行度并减少设计过程的反复,包括两个方面:上下游并行设计和多过程并行的协同设计;上下游并行设计是指在设计的上游阶段尽早地综合考虑位于产品生命周期下游的工艺规划、制造、装配、测试等环节的影响,及时、全面地评价上游产品设计,并根据反馈信息及时改进,以保证产品设计的一次成功。多过程并行的协同设计则强调多个设计领域的专家及与产品开发相关的工程设计、计划管理、生产制造市场销售、售后服务等多个部门之间的协作。
当前,并行设计方法的研究主要集中于以下两个方面:基于知识的并行设计方法[2 3]和基于约束的并行设计方法[4 5] 基于知识的并行设计方法通过多领域、多学科知识的集成、协调与管理实现并行设计,通过专家系统或黑板机制解决多知识源之间的冲突。基于约束的并行设计方法通过约束网络表示设计问题,并利用搜索算法在满足约束的条件下确定约束网络中所有变量的优化解。但是,这两种方法都存在以下一些不足:
(1)缺乏有效的设计确认(validation)手段。上述并行设计方法都必须以一定的系统规格说明作为初始的设计输入,无法对系统规格说明的正确性进行验证。通常,设计确认必须在详细设计完成以后才能进行,但是如果这时候发现概念设计阶段的错误,势必会引起大的设计反复。
(2)不适用于复杂系统。当产品涉及的知识和约束数量很大时,用户建立知识库和约束网络的负担较重,求解过程效率很低,因此,它们不适用于复杂系统,实际应用范围有限。
(3)不利于启迪创新。不论是知识还是约束,都是由人预先定义好的,对人的依赖性很大,但是人很难对所有因素考虑周全,只能从已有经验出发解决问题。
(4)不利于设计重用,不易与已有设计工具集成。由于专家系统和约束网络的局限性,基于知识的并行设计方法与基于约束的并行设计方法在实现中往往都是从零开始构造一个完整的并行设计系统,缺乏必要的继承性 因此,它只适合于针对某一类小规模产品实现,不易扩展,也不易充分利用现有设计工具的功能。
因此,上述方法的应用主要局限在某些特定的设计阶段,如机械领域中面向制造或面向装配的设计、电子领域中的软硬件协同设计等,还难以满足整个产品生命周期中并行设计的要求。
本文将Boehm提出的螺旋模型[6]和虚拟原型技术结合起来,面向产品的整个生命周期,提出渐进式虚拟原型的概念,用原型树模型刻画了渐进式虚拟原型的构成方式和进化过程,并提出基于渐进式虚拟原型的并行设计方法 最后,以电子产品为例,给出了具体的应用方法。
2 基于渐进式虚拟原型的并行设计方法
Boehm的螺旋模型(spiralmodel)是针对于软件开发过程提出的。其思想是把软件设计过程中从需求分析到软件实现的各个设计活动,由传统的直线、顺序的过程,转化为由若干迭代循环构成的螺旋曲线过程;并在每次迭代过程中应用了风险分析和原型验证等手段,以降低设计风险,减少设计反复。我们应用虚拟原型技术,将螺旋模型的上述思想推广并应用到一般的产品设计中,提出基于渐进式虚拟原型的并行设计方法。
2 1 渐进式虚拟原型
虚拟原型是根据产品设计信息或产品概念产生的,在功能、行为和感观特性等方面和物理原型尽可能相似的可仿真的计算机模型。虚拟原型技术经过近10年的发展,已经可以部分替代物理原型,在产品设计中得到了广泛的应用。虚拟原型和物理原型相比,具有成本低、制作周期短、灵活性强、容易修改、在设计过程的早期阶段就可以建立等优势,对提高产品的设计质量和设计效率起到了很大的作用。但是,目前虚拟原型技术仅应用于产品设计过程的若干孤立阶段,缺乏系统的方法学上的指导。在分析典型的产品开发过程的基础上,我们在虚拟原型中引入动态的特征,提出渐进式虚拟原型的概念。
定义 渐进式虚拟原型是指,在产品开发过程中不断产生阶段性虚拟原型的动态过程和所产生的阶段性虚拟原型的总和。
渐进式虚拟原型强调了产品生命周期中虚拟原型的渐变演化过程。除了具有虚拟原型的虚拟性和逼真性以外,还具有以下基本特征:
(1)渐进性--从概念到产品的设计过程,也是虚拟原型的渐进演变过程;
(2)层次性--渐进式虚拟原型本身是层次化的结构,其演变过程也经过多个设计层次;
(3)异构性--虚拟原型可能由多领域、多层次的设计模块构成
典型的产品开发过程从一个设计概念开始,经过多个设计层次,逐步细化,直至产生出完整的产品。其中主要包括两类过程:a划分--即把一个复杂的模块划分为若干个子模块;b 转换--通常是从抽象到具体、从自然语言到形式化描述、从不可实现到可实现等。
我们用树型结构来表示上述设计过程中渐进式虚拟原型的组成和演变过程,称为原型树。原型树是由节点和有向边构成的多叉树结构。假设V为节点集合,E为有向边的集合,则原型树可以用二元组(V,E)表示 其中,Vi∈V(i=1,2,3,…,n)称为节点,表示参与构成虚拟原型的设计模块;Ej∈E(j=1,2,3,…,n)称为边,表示节点之间的派生关系。图1a表示原型树中的节点V0派生出n个子节点,体现了设计过程中的模块划分过程,一个设计模块被划分为多个子模块。当n=1时,表示一种设计转换关系,即虽然没有作功能上的划分,但是设计的形式发生了转换,如从抽象描述到具体的实现等,用虚线表示,如图1b所示。图2所示为一个完整的原型树示例

(图片)

原型树的组织方式较好地反映了渐进式虚拟原型的基本特征。产品设计不断细化的渐进过程也是原型树建立和生长的过程;原型树自身的构成具有层次性的特点;原型树的深度反映了设计层次的变化,从根节点到叶节点反映了从抽象到具体的设计过程。由于不同设计小组的开发进度不一致,或者因为强调的侧重点不同,在开发过程的某一时刻,虚拟原型可能由不同领域、不同设计层次的模块构成。
在设计过程的任一时刻,可以根据原型树现有的结构,灵活地选取设计模块构成虚拟原型,以满足不同的设计验证要求。
(1)可以选取某一子树中的模块参与构成虚拟原型(如图2中以V0为根的子树),即虚拟原型不仅可以模拟整个产品,也可以模拟产品的某一部分。
(2)可以选取不同层次的模块构成虚拟原型。如在图2中既可以选取V2~V4构成整个产品的虚拟原型,也可以选取更低层次的V9~V13来构成虚拟原型。
(3)可以选取混合层次的模块构成虚拟原型。如在图2中可以选取V9,V10,V3,V4构成虚拟原型 混合层次的虚拟原型具有以下两个优点:a 可以在V3,V4尚未完成细化设计之前实现全系统的虚拟原型仿真;b 可以在重点验证V9,V10时忽略其它部分的细节,提高仿真效率。
2 2 设计过程
在基于渐进式虚拟原型的并行设计方法中,设计过程可以用二维极坐标系中的螺旋形曲线表示,如图3所示。螺旋曲线上的任一点A在极坐标系中可以用(ρ,θ)表示,ρ为该点到极点的距离,θ为从极轴开始沿逆时针方向到A和极点之间的连线所经过的角度 ρ的大小表示累积的耗费(包括人力、财力和时间等),θ的变化则表示设计过程的推进。螺旋曲线所在的平面可以划分为4个象限,每个象限表示一个设计阶段。设计的每一个循环从第一象限开始,经历4个设计阶段之后又回到第一象限,即完成了一次设计循环。每次循环迭代由以下设计阶段组成:
(1)确定本次迭代的目标。进行需求分析,根据上一次迭代的设计成果(阶段性的虚拟原型)和当前的用户需求,明确开发目标和约束条件,制定本次设计循环中的候选设计方案。
(2)确定设计方案。对各种候选设计方案进行风险分析,发现项目中风险最大的部分。在复杂的项目中,影响项目成败的因素很多,通过风险分析的手段,可以对设计活动中存在的风险给出量化的表示,并在后续的设计中采取一些降低风险的措施。如从风险大的部分开始设计,采用原型仿真的方法等 根据需求定义和风险分析的结果,评价可选的设计方案,并选择一个具体的设计方案。
(3)虚拟原型实现 根据所选的设计方案,构造本次迭代的原型。
(4)评审 将原型提交用户使用并征询用户改进意见 如果用户认为原型可以满足要求,则进入运行阶段;否则,开发人员要在用户的配合下,整理新的用户需求,进入螺旋模型的下一循环。
整个产品设计过程需要经历多次迭代,每次迭代面向不同的目标,并生成不同的阶段性虚拟原型。宏观上则表现为多个设计小组在分工合作的方式下,共同构造和改进虚拟原型的过程。随着设计过程的推进,原型树逐渐成长,层次逐渐丰富,结构逐渐复杂;而基于原型树构造的虚拟原型则呈现渐进的变化,并逐步演变为最终的产品。
2 3 方法评述
总体来说,基于渐进式虚拟原型的并行设计方法具有以下优点:

(图片)

(1)可以有效地减少设计过程的反复 该设计方法面向产品的整个生命周期,可以为需求分析和概念设计提供有效的验证手段;用可运行的原型取代了难于书写、难于理解的文档,便于用户参与设计决策;符合人对新事物的认识规律,有利于启迪创新。这些都有助于提高设计决策的正确性,以避免出现大的设计反复。
(2)可以有效地支持上下游并行设计和协同设计。对于上下游并行设计,上游设计产生的虚拟原型使得下游的某些设计工作可以提前进行;如在电子产品设计中,基于行为设计信息产生的虚拟硬件,使得软件调试工作先于硬件生产,从而实现硬件设计和软件设计的并行化。对于协同设计,基于产品的虚拟原型,不同领域的设计人员可以从不同角度、不同需求出发,对虚拟原型进行测试、仿真和评价,并提出修改意见。
为了更有效地发挥基于渐进式虚拟原型的并行设计方法的作用,在应用过程中需要遵循以下原则:
(1)虚拟原型要保留足够的扩展余地,以适应用户需求的动态变化
(2)每次迭代要针对重要的、紧迫的需求尽早予以实现,加速原型的构造,以便尽早获得用户的确认;否则会推迟设计验证的时间,甚至退化为串行设计方法
(3)根据虚拟原型的评价结果和用户反馈意见不断地修正产品规格说明,以保证产品规格说明的精确性,避免大的设计反复
3 在电子产品设计中的应用
基于渐进式虚拟原型的并行设计方法的实施,需要根据具体领域的产品设计需求,定义主要的设计阶段和设计层次,并研究相关的建模技术和仿真分析技术。目前,我们正在针对电子产品开展这方面的研究,并开发了相应的并行设计环境的原型系统。
3 1 设计层次
我们面向的一类电子产品,主要由软件、硬件和机械部分构成 软件和硬件部分主要包括以下三个设计层次:
(1)概念原型
用来获取用户对产品的需求。根据系统和外部环境之间的关系来确定系统的外部接口以及外部环境与系统之间的信息交换关系。这个层次的模型与计算资源无关,时间方面的要求仅仅与外部响应时间有关,采用数据流(DF)模型描述
(2)体系结构原型
用于辅助系统体系结构的设计决策,如系统的软硬件划分。硬件方面包括微处理器的选择,数据通路宽度的确定,互联方式的选择等;软件方面包括微处理器、内存和通信信道等系统资源的分配,软件体系结构和代码组织方式的确定等。在这个模型中,将用几个子模型来描述系统的分解、行为和数据的分配等,这些模型将涉及资源方面的约束和时间方面的约束。我们根据系统各部分的不同需求,分别采用DF模型、离散事件DE模型和有限状态机(FSM)模型进行描述
(3)实现原型
用来描述产品的具体实现细节,与产品的最终实现直接关联。通常,软件部分采用可执行代码表示,硬件部分则根据实现方式的不同而不同,可以为RTL描述,门级网表,真实硬件等
相应地,机械部分包括概念设计、参数设计和工艺设计三个层次
3 2 设计实例
针对上述设计层次和描述方法,我们研究了面向虚拟原型的异构建模和混合仿真技术,以及相关的虚拟特征生成技术、并行设计规划技术、支持并行设计的集成框架技术等;并建立了由三维机械仿真工具、软硬件仿真工具、虚拟特征生成工具、并行设计规划工具以及多种商品化设计工具构成的并行设计环境YHCDE在该环境中,采用基于渐进式虚拟原型的并行设计方法进行手持式卫星定位电子地图的设计。目前已经完成了概念和体系结构两个原型,正在进行实现原型的调试。
在概念原型设计阶段,我们在较高的抽象层次上用DF模型对系统的核心算法进行了描述,并用高级语言实现,利用三维建模工具建立了电子地图的三维造型。在虚拟原型仿真环境中,实现了内部功能仿真和三维机械仿真的结合,并通过微机的外部端口引入了卫星定位信号,实现了用户可操作的虚拟原型,如图4所示。该原型可以为核心算法的开发提供真实的验证环境,也可以提交给用户操作,以尽早听取修改意见,并在市场上进行推广。

(图片)

在体系结构设计阶段,多领域的设计人员在概念原型的基础上,以分工合作的方式进行细化设计,不同的设计模块可能采用不同的设计模型进行描述。例如,图5所示的体系结构就涉及到DF模型和FSM模型。在YHCDE中可以实现异构模型的混合仿真,并在虚拟特征生成和三维机械仿真的辅助下生成真实感更强的虚拟原型。这样,设计人员可以及时地验证设计决策的正确性;同时,基于虚拟的硬件平台,可以提前进行软件的开发和调试。

(图片)

就上述设计实例目前完成的情况来看,我们提出的并行设计方法以及相应的并行设计环境可以有效地提高设计活动的并行度,减少设计反复。
4 结论
虚拟原型技术和螺旋模型的结合为并行设计方法提供了新的思路,随着虚拟原型技术的进一步发展,这种设计方法会在产品设计中发挥更大的作用。而且,正像基于螺旋模型的软件开发模式推动了软件领域中第4代语言的发展一样,上述设计方法也将推动虚拟原型技术以及其它相关的自动化设计技术的发展。 11/19/2004


电脑版 客户端 关于我们
佳工机电网 - 机电行业首选网站