《武汉工程大学学报》  2011年04期 69-72   出版日期:2011-04-30   ISSN:1674-2869   CN:42-1779/TQ
虚拟样机中模型库关联关系的研究


0引言虚拟样机[1]是建立在计算机上的原型系统或子系统模型,它在一定程度上具有与物理样机相当的功能真实度.它能够反映实际产品的特性,包括外观、空间关系以及运动学和动力学特性.借助于这项技术,设计师可以在计算机上建立机械系统模型,伴之以三维可视化处理,模拟在真实环境下系统的运动和动力特性并根据仿真结果精简和优化系统.虚拟样机技术的迅猛发展,缩短了产品的开发周期,而且减少了设计、制造、采购、维护和培训的成本.1虚拟样机中的模型及其关系复杂产品虚拟样机[2]将机械、电子、控制、软件等不同工程领域的开发模型结合在一起,并从各个角度来模拟真实产品,支持方便快速的虚拟样机建模,满足不同的产品设计人员对虚拟样机模型不同方面的需求.通常不同工程领域的模型都是在分区协同工作环境下开发的,要达到协同开发的目的,自然而然的的就要在设计过程中依据结构体系和功能体系将模型划分为更小粒度的子模型,如此逐层分解导致不同复杂产品间就会存在着许多功能相同或相似的模型,而每个模型又是依赖于技术产生,但模型的产生并不是单一的技术支持,而是一个技术群组成的技术支持体系,所以任何一个模型都是许多技术相互作用,相互配合产生的.由上述分析发现模型与模型之间可能存在着交叉的技术支持,而复杂产品虚拟样机又是依靠着模型间特定的约束关系,通过组合模型的形式来完成虚拟样机功能,因此导致了模型与模型间错综复杂的关系.由于虚拟样机可以通过模型间复杂关系和相关产品配置来完整表示,故模型间复杂关系就显得尤为重要了.2模型的关联关系分析模型是在虚拟样机模块划分过程中演变而来,该过程中设计者需要站在组织结构的高层次,将用户设计需求映射为系统功能域,建立功能模型,保证功能模型能完全表示设计需求,并使所建立的功能模型能方便地通过行为层向结构层映射,然后将系统功能域中的每一个功能元与能够实现该功能元的功能载体进行耦合匹配,将设计需求映射为具体的虚拟样机模型,虚拟样机的开发流程如图1所示.由此分析虚拟样机开发完成后,其产品信息不仅包括产品设计基本信息(环境配置、模型信息、文档等),而且包括这些协同开发过程下产生的虚拟样机模型相互之间的关联信息.由于虚拟样机模块划分的缘故导致在通过模型表达目的虚拟样机时,需要详细描述模型间的关联信息.通过进一步对虚拟样机模型间关联信息分析,研究发现虚拟样机是由功能模型组成,而功能模型又具有层次性,在描述产品功能上又进行了功能分解,即将总功能F0分解为更小的容易实现的功能Fi(F0=∑ni=1Fi),产生了具有一定因果逻辑结构关系的功能模块.这些功能模块通过连接约束、几何约束、性能约束相互联系,并且可进一步分解成具有更小粒度的子功能模块Fij(Fij=∑mj=1Fij),其中Fij是第i项功能下的第j项子功能),根据需要可在更低层次进一步分解,把功能层次中处于底层不能再分的子功能称为功能元,其载体为元模型,如图2所示.图1虚拟产品开发流程
Fig.1Development process of virtual products图2粒度层次图
Fig.2Granularity of level graph第4期张彦铎,等:虚拟样机中模型库关联关系的研究
武汉工程大学学报第33卷
关联信息的完整性决定着是否可以通过保存的这些模型来正确的描述出目标虚拟样机的功能.以往为了保证虚拟产品的信息完整性,对这些虚拟样机模型库的管理方法是采取以虚拟样机为独立的个体,将其产品信息、内部模型和模型间关联信息整体进行管理和存储.随着虚拟样机数量上的增加,对存储空间的需求越来越大,又由于虚拟样机间针对性不同,再次开发其他虚拟产品时,因虚拟样机存储粒度太大,导致模型库复用性极低,加上人员交替,部分虚拟样机操作方式丢失,更难说模型间共享.元模型在协同开发中作为一个独立的个体产生,它们之间通过一定的约束关系进行组合,实现了虚拟样机的功能.由此看出虚拟样机与模型间通过这些约束关系建立连接,而不同虚拟样机间可能存在相同或相似的元模型,而模型间的约束关系不仅包括用来实现虚拟样机装配的连接约束关系,还包括满足设计的模型间几何约束关系和性能约束关系,这些约束关系就构成了虚拟样机模型库的关联关系[34].由此可以发现如果以元模型为单位,减小存储粒度,通过关联关系来对虚拟样机模型库进行存储管理[5],则虚拟样机模型库的复用性、共享性会有着显著地提高,存储空间会有一定程度的缩小.通过对已存在的虚拟样机间模型库分析,不同的虚拟样机所拥有的相同元模型也可能存在着一定的差异性,但它们之间又存在着必然的联系,我们这里将关联关系与版本管理[67]相结合提出一种基于关联关系的模型库管理方法:模型库关联法(以元模型为单位进行管理,关联关系层为操作层).该方法下每个元模型的信息包含技术支持,文档,环境配置,工具等,又由于模型间的许多技术支持是相似的或有交叉部分,故可在此元模型基础上继续划分,将这些信息分别存放,与元模型建立关联关系.这样在一定层次上又节约了部分模型库的存储空间过大和数据冗余的问题,这种管理方法大大提高了模型间的复用性,共享性,虚拟样机的开发效率.在操作上,可以直接通过虚拟样机的关联关系,强制性或选择性的给各个模型指定与其有关联关系的模型来充分描述出虚拟样机功能,通过模型关系层来操作所需求的虚拟样机,这样每个虚拟样机的信息保存更加方便,人员变更也不会对其造成影响.并且与版本管理的方法相结合管理元模型,为每个元模型提供多个版本,既可以提供模型开发过程的管理支持,还在一定程度满足了不同的虚拟样机对功能相同元模型变更的需求.基于关联关系的模型库管理结构图,如图3所示.
图3基于关联关系的模型库管理结构图
Fig.3Mode base management structure based on associative relation3基于关联关系的模型库管理系统设计基于以上虚拟样机模型库关联关系的研究,设计了在模型库版本控制层上通过模型库关联关系层对模型库进行管理的原型系统.系统分成版本控制层、关联关系层和客户端界面三个层次.软件架构图,如图4所示.图4软件架构图
Fig.4Software architecture diagrama. 客户端界面层负责与用户进行交互.用户通过客户端界面可以强制性和选择性地建立模型间的关联关系,建立满足自己需求的虚拟样机,然后通过该关联关系层操作该虚拟样机,也可以直接通过版本控制层操作单个模型.b. 关联关系层主要是基于版本控制层,以元模型为单元,根据不同虚拟样机的需求将部分元模型组建成满足条件的虚拟样机.此关联关系层通过数据库保存虚拟样机内模型间约束关系、虚拟样机配置条件、相关文档等文件版本信息及其在服务器上文件仓库内的位置信息.通过该层可以灵活的更改虚拟样机内模型组成,对于其他虚拟样机的开发,可以方便的通过它找出满足其需求的部分元模型,大大的提高了虚拟样机开发的效率和模型的复用性,对于用户的操作也极其方便.c. 版本控制层通过版本管理机制,以每个元模型(配置环境、文档、技术支持等)为单位建立版本库,对其进行文件级的管理.版本管理就是透过文件控制记录版本库各个模块的改动.并为每次改动编上序号,这些序号称为版本号,相当于改动后的索引.可以通过这些索引,区别开不同虚拟样机中相同元模型存在着差异性的情况,这样在管理上既保证了它们的相似性,又区别了它们之间的不同.
4基于关联关系的模型库管理系统实现软件采用C/S架构进行设计.服务器端运行版本控制组件,客户端以图形界面的方式通过服务器端数据库信息与服务器端版本控制组件进行交互以实现软件的各项功能.根据设计中所分的三层结构,在Windows平台下完成了基于关联关系的虚拟样机模型库管理系统.系统使用VS2008作为开发工具,使用C#语言开发[8],运用.net下winform开发技术实现客户端图形化界面,关联关系层的数据使用Oracle数据库进行存储[9],利用.net企业库开发技术对数据库进行操作.使用版本控制机制中的文件仓库作为模型库,利用SharpSvn库实现了版本控制机制,客户端通过WebService技术访问服务器上版本库.目前系统已经投入使用,客户端运行在windows XP下,服务器运行在windows server 2003下,在局域网内支持多台客户机同时访问,已运行4个月,状态稳定、良好.关联关系设置界面,如图5所示. 图5虚拟样机模型库管理系统-关联关系设置界面
Fig.5Virtual prototype model base management
systemassociative relation setting interface5结语以上提出的一种基于关联关系的虚拟样机模型库管理方法,并设计开发了基于关联关系的模型库管理系统.该系统以元模型为单位进行存储,通过虚拟样机中元模型的关联关系作为操作层与版本控制机制相结合对元模型进行管理.该管理方法在一定程度上提高了虚拟样机间模型的复用性、共享性,并且节省了模型的存储空间.