0 引言
复杂产品的复杂性不仅体现在产品的组成复杂、技术复杂,同时体现在其客户需求复杂、项目管理过程复杂等方面。产品数据管理技术能够为复杂产品研发过程中的数据管理、文档管理等需求提供有效支持。从产品数据管理系统的功能、体系结构、数据模型等方面做了研究,这些研究主要通过面向对象技术进行产品数据建模,由于模型中数据对象的属性、操作与数据对象之间的关联关系处于代码级别的紧耦合状态,当业务逻辑发生变化时,系统修改成本很高。一些学者针对此问题进行了研究。提出业务基元的概念,以满足数据管理的灵活性。业务基元是指包含一类设计对象以及与之相关的属性和业务操作的单元,其包含的内容可以进行自由配置。从广度、深度、粒度三个维度全面描述了产品的生命周期信息,在此基础上从版本和映射两个角度研究了产品的动态演化过程。研究通过领域纲要与领域模板定义元模型,以及动态实例化生成应用模型的方法,以实现模型驱动下的系统快速开发。结合代理技术与模型驱动软件架构,研究了如何提高系统的适应性与扩展能力。结合元模型建模技术,研究了可定制的产品数据模型。复杂产品研发过程中不同设计人员可能使用不同的系统,这对产品数据管理又提出了异构数据共享与集成的需求。在这方面,将元数据建模与本体结合,通过产品数据本体保证产品数据的一致性;研究构建了网络化协同设计平台,使用标准数据格式进行异构系统集成;研究了基于单一数据源的飞机产品工程数据集成。本研究在以上研究的基础上,建立了面向复杂产品数据管理的适应性模型(adaptive model for complex product data management,APDM),该模型具有良好的表达能力与灵活性,能够快速响应复杂产品数据管理需求变化,提高产品数据管理系统的适应性。本文对APDM以及基于该模型设计的适应性产品数据管理系统的系统结构、基于可扩展标记语言(extendable markup language,XML)格式的异构系统数据交换接口进行了阐述与分析,并给出了所开发的系统在集成电路装备研发团队的应用实例。
1 APDM
传统产品数据管理系统通常建立在面向对象的模型基础之上,数据实体由类作封装,类中的属性反映了实体的特征,类中的操作反映了业务规则。基于这种建模手段,大量领域知识被封装到系统的代码中,修改成本很高。适应性对象模型对类、属性和关系等通过元模型进行进一步抽象,并在元模型的基础上建立领域模型,元模型和领域模型记录在数据库或文件系统中,在运行时通过解释机制将模型动态实例化。这样当业务需求发生变化时,通过配置领域模型即可以实现系统的动态修改,而不需要重新部署。本节借鉴了适应性对象模型的设计思想,首先给出了ADPM的元模型,然后在元模型的基础上建立了ADPM的领域模型,并对APDM模型的性能进行了分析。
1.1 ADPM元模型
元模型是对模型域的抽象,也是建立领域模型的基础。复杂产品数据管理的适应性模型的元模型包括4个基本类:实体类、属性类、关联类、操作类。
(1)实体类。实体类是对具体产品数据的抽象,产品零部件、CAD文档、仿真分析文档、工艺文档等都是实体类的实例。实体类定义如下:
其中EnID为实体对象的唯一确定标识;Set{(Att,Vatt)}为二元组(Att,Vatt)的集合,其中Att表示属性对象,Vatt为属性对象的值;Set{Rel}为实体中包含的关系对象的集合;Set{Oper}表示实体中包含的操作对象的集合。属性、关系以及操作类的定义将在下文阐述。
(2)属性类。属性是对实体特性的描述。产品零部件的材料、性能参数,CAD图文档的创建时间、版本、图号等,都是属性类的实例。属性类的定义如下:
其中Att ID为属性对象的唯一确定标识;Att Name为属性对象的名称;Att Value Type为属性对象的取值类型,如整型、字符串、浮点型等;Domain为属性对象取值的有效范围。
(3)关联类。关联表示实体之间的联系,零部件之间的装配关系、零部件实体与图文档的依赖关系等都是关联类的实例。在传统面向对象模型中,实体之间的关联关系通过一个实体对象作为另一个实体的数据成员体现,是一种紧耦合的实现方式,本文中的元模型将关联作为独立的对象加以定义,完成实体的松散耦合与灵活配置。关联类的定义如下:
其中ReIID为关联对象的唯一确定标识;Relype为关联类型的语义描述,如版本关联类型、聚合关联类型等;subject和object分别为关联关系的主体和客体,它们均是实体类对象实例,关联关系的客体可以为多个,故用集合的形式描述。Set{object}为非空集合,其包含的元素个数大于1时,表明为一对多的关联类实例,如零部件的聚合关联,因为一个部件可以由多个部件或零件组成;当其包含元素个数为1时,标明为一对一的关联类示例,如零部件的网格划分文档与零部件的仿真结果之间的关联必须是一一对应的。
(4)操作类。操作类是对产品数据实体的操作的抽象,更新文件版本、配置产品结构都是操作类实例。操作类的定义如下:
其中Oper ID为操作类对象的唯一确定标识;Input{object}与Output{object}分别操作的输入输出对象集合,这里的对象可以是上述实体类、属性类以及关联类的实例;OperImpl为操作的实现。
上述的元模型中实现了实体与属性、实体与关联、实体与操作的分离。将属性、关联与操作以集合的形式装入实体中,具体实体对象中包含的属性、关系与操作都可以在配置文件中进行动态配置并在运行时解释执行,从而避免了修改源代码,能够更快适应业务的变化,满足复杂产品数据管理的需求。
在复杂产品开发过程中,往往需要多个设计主体的协同合作,每个设计主体的关注点是不同的,为此引入“切面”的概念来描述产品不同类型的信息。切面是设计主体感兴趣的某一类实体和与其相关的关联类对象与操作类对象的集合,产品的需求定义、仿真信息、工艺信息等都是产品的不同切面。切面的定义如下:
其中Set{En}表示设计主体关注的实体对象集合;Rel(Set{En})和Oper(Set{En})分别是与集合中实体相关的关系类对象与操作类对象。
1.2 APDM领域模型的建立与分析
在元模型定义的基础上,建立面向复杂产品数据管理的领域模型。从信息变化的角度来看,产品的设计过程是以产品结构为中心的设计信息不断丰富的过程,故以产品结构作为APDM领域模型的组织所有工程数据与文档的中心。产品零部件实体之间通过聚合关联类实例组成产品结构树,产品的功能定义文档、CAD模型文件、仿真分析结果、工艺加工文档、供应商信息等文档实体都通过依赖关联类实例与产品结构树的零部件实例产生关联,不同类型的文档实体与数据组成产品数据的不同切面,同时切面中的数据实体通过关联类进行映射与交互。APDM领域模型的整体框架如图1所示。
图1 APDM领域模型框架
在APDM领域模型中,最重要的两类实体模型是产品零部件实体和文档实体。下面通过产品结构管理和文档的版本管理两个角度分析APDM模型的性能。
产品结构管理是产品数据管理中一项重要内容,在复杂产品的研发过程中,产品结构树处于不断演化之中。在APDM中,产品结构树通过零部件实体对象与聚合关联类对象组成,产品结构管理在APDM中表现为对聚合关联类对象中关联客体集合中包含的零部件实体的操作。定义聚合关联类为Rel=(ReIID,ReIType=‘COMPOSE’,subject,Set(object)>,其中subject表示装配关系中部件实体,Set(object)为装配关系中组件实体的集合。如图2所示,部件A由零件A和零件B构成,其聚合关联类中客体集合包含两个元素,即Part_A和Part_B,当为部件A添加零件C时,只需要修改原聚合关联类中的客体集合,将零件Part_C放入Set(object)中即可。由于将零部件实体与其之间的聚合关联解耦,调用操作类修改上述聚合关联类时,对零部件实体本身或其他相关数据不需要做任何改变。
图2 产品结构管理的APDM描述
文档版本反映了产品数据的动态演化过程,文档的版本演化规则一般有两种:线型模型与树状模型。线型模型是指一个文档的版本有至多一个前驱版本和至多一个后继版本,没有前驱版本的文档为初始文档,没有后继版本的文档为最终文档,其他文档均为中间版本文档。如果规定同一个文档可能派生出多个后继版本,这时版本演化规则将变为树状模型。在APDM中,使用版本关联类来完成文档版本的管理与控制。定义版本关联类为Rel=<RelID,RelType=‘VERSION’,subject,Set(object)>,其中subject实体表示低级版本,而Set(object)表示该subject的后继高级版本集合,当Set(object)被约束为单元素集合时,版本管理规则为线性模型,而当Set(object)可以包含多个实体元素时,版本演化将演化为一个树状模型,如图3所示。
图3 版本规则的APDM描述
2 基于APDM的系统结构
基于APDM,本文设计了面向复杂产品的数据管理系统的体系结构,如图4所示。
图4 基于APDM的复杂产品数据管理系统体系结构
系统结构分为数据层、对象层、服务层、界面层以及APDM模块与异构系统数据交换接口模块两个模块。数据层中包括产品数据库与文档柜,存放产品的所有工程数据与文档。APDM模块包含元模型,领域模型和解释引擎三部分。其中领域模型是基于元模型定义并针对具体的业务而构建的数据模型,是对元模型的实例化。复杂产品数据管理的领域模型包括零部件实体、文档实体、聚合关联、依赖关联、版本关联、各种属性类以及操作类等的定义。解释引擎则根据定义好的领域模型在运行时完成模型的实例化,并结合产品数据库中的数据生成数据对象与业务操作对象,它们构成了系统的对象层。服务层包括支撑服务与应用服务,界面层负责调用相应服务并与用户交互。
基于APDM的系统架构与一般的分层系统架构的主要区别在于,其数据对象与业务操作对象构成的对象层并不是对产品数据的直接抽象,而是基于产品数据由APDM的解释引擎将领域模型动态实例化生成。当需求发生变化时,领域专家可以快速修改与配置领域模型,并通过解释引擎重建持久化对象,快速满足复杂产品数据管理的变化需求。
复杂产品研发通常为多个设计主体的协同合作,各设计主体之间可能使用不同的设计系统。为了满足异构系统中产品结构数据能够共享,使产品结构作为组织所有的工程数据和文档的中心数据,本文设计了基于XML中性文件的异构系统的数据接口。如图5所示,用户系统通过XML转换器将自身产生的数据转换成XML格式的中性文件,系统通过XML转换器将XML中性文件转换成结构化数据并存人数据库中,XML转换器必须满足事先定义好的XMLScheme文件规范,以保证XML中性文件中数据的正确性与完备性。
图5 异构系统产品数据交换接口
3 工程应用
集成电路(integrated circuit,IC)装备是典型的工业复杂产品,已经成为一个国家科技发展的制高点之一。IC装备的研发受到国家重大科技专项的支持,正处于快速发展阶段,但由于技术并未成熟,数据管理需求在研发的不同阶段呈现不同的状态,另一方面,IC装备研发过程需要多领域多学科的研究人员参与,其数据管理必须满足不同领域异构系统的集成需求。本文开发了面向IC装备研发的适应性产品数据管理系统,并应用于某IC装备研发团队。系统以J2EE作为技术支持平台,结合Struts2、Spring,Hibemate等开源框架、XML序列化与反序列化工具、工作流引擎等技术开发。
首先根据IC装备研发团队的具体数据管理需求定制其初步领域模型。构建数据实体类对象,包括产品对象、部件对象、零件对象、设计文档对象、仿真文档对象、订单对象、外协外购对象,等等;分析需要管理的各数据实体对象的属性,构建材料、日期、名称、地址等等属性对象;构建关联类对象,如构建聚合关联类来完成产品结构树建立,构建依赖关联类以描述设计文档与零部件的依赖关系,构建版本关联类以表示文档的版本演进关系;构建对以上数据对象、属性对象、关联对象的操作类对象,如版本操作,产品结构配置操作等;最后构建不同的切面对象,为不同用户提供不同的视图,如图文档管理视图、仿真信息视图等。本文构建的领域模型使用XML文件定义,解释引擎基于XML解析技术与java的反射机制开发,在系统运行时完成XML领域模型的动态实例化。领域模型中零部件实体对象以及其引用的材料属性对象与聚合关联对象的XML定义片段如图6所示。
图6 零部件实体的领域模型定义
由于产品的复杂性,IC装备研发中的数据管理需求处于不断迭代之中。相比于传统的数据管理系统,本文开发的适应性产品数据管理系统能够更好地响应需求的变化,降低系统实施成本。系统的适应性包含三个层次:(1)元模型的适应性。系统使用的元模型中将数据实体、属性、操作、关联关系解耦,当对数据实体进行操作时,不会对其他对象产生影响,如产品结构配置,只需要调用相应的操作修改聚合关联对象,而产品数据本身不需要发生变化。(2)可配置领域模型的适应性。系统的领域模型通过外部的配置文件保存,系统功能需要修改时,只需要对配置文件进行相应修改,通过解释引擎重建数据对象,系统无需再次部署即可生效。例如添加新的文档类型,扩充材料属性的可选项等,这些操作制度要修改领域模型的XML配置文件。(3)可配置切面提供的适应性。切面类定义了一类实体及其相关的关联、操作等。不同的切面可以为关注点不同的设计人员提供不同的数据管理视图。切面类在配置文件中保存,当设计人员的视图需求发生变化时,如需要增加查看外协订单的视图,则可以动态新建外协订单切面,令其包含的外协订单文档实体及其相关对象,可快速为设计者提供所需视图。
IC装备研发团队的结构设计工程师主要使用Solidworks软件进行建模。为了和其他设计仿真及工艺软件完成数据交互与集成,根据图5所示的异构系统产品数据交换接口设计方案,实现了Solidworks Workgroup PDM与本系统的产品结构数据集成。在此基础上,本系统以产品结构树为中心,完成了产品数据管理、文档管理、仿真信息管理等数据管理需求。图7中右上方为设计人员在Solidworks Workgroup PDM中模型的装配结构树,通过基于XML异构系统接口导入至本系统,并通过产品结构树管理各个零部件的需求定义文档。
图7 Solidworks Workgroup PDM的系统接口及文档管理实现
4 结论
本文结合适应性对象建模思想,建立了面向复杂产品数据管理的适应性模型(APDM),给出了其元模型定义与领域模型框架,并开发了基于该模型的产品数据管理系统。对模型的分析表明其相比于面向对象具有更强的灵活性与表达能力,并通过在IC装备这一典型工业复杂产品研发中的应用,证明了通过将领域模型定义独立于程序代码,能够快速重建数据对象,及时满足IC装备研发中不稳定的产品数据管理需求。同时基于XML的产品数据交换接口能够完整实现异构系统的产品结构数据交互,系统可以构建单一的产品数据树,并通过将不同类型的数据实体与产品结构中的零部件关联,完成了IC装备研发中的产品数据管理任务。
核心关注:拓步ERP系统平台是覆盖了众多的业务领域、行业应用,蕴涵了丰富的ERP管理思想,集成了ERP软件业务管理理念,功能涉及供应链、成本、制造、CRM、HR等众多业务领域的管理,全面涵盖了企业关注ERP管理系统的核心领域,是众多中小企业信息化建设首选的ERP管理软件信赖品牌。
转载请注明出处:拓步ERP资讯网http://www.toberp.com/
本文标题:面向复杂产品数据管理的适应性模型研究