面向对象工程模板数据模型研究
<INHERITCLASSNAME>,<COMPOSEDCLA SSNA ME>,<ATTRIBUTES>?<RULES>?<METHODS>??其中:NAME是对象类集中的对象类的名称,VERSION是对象类的版本号,INHERITCLASSNAME是该对象类超类的名称,COMPOSEDCLASSNAME是被聚合类的名称,ATTRIBUTES是对象类的属性描述,RULES是对象类内部属性之间的约束描述;METHODS是对象类的方法描述。
定义3:ATTRIBUTES::=?<ATTRIBUTENAME>?<ATTRIBUTETYPE>?<VALUEEXPRESS>?,其中:ATTRIBUTENAME是属性名称,ATTRIBUTETYPE是属性类型,VALUEEXPRESS是属性求值表达式。
定义4:METHODS::=?<METHODNAME>?<METHODATTRIBUTE>?<LIBNAME>?<METHODIMPLEMENDS>?,其中:METHODNAME是方法名,METHODATTRIBUTE是方法参数列表,LIBNAME是方法所属动态链接库名称,METHODIMPLEMENDS是方法内部实现接口定义。
定义5:RULES::=?<KEYWORD>?<ATTRIBUTE>?<EXPRESSION>?,其中:KEYWORD为系统定义的关键字,ATTRIBUTE为对象属性名,EXPRESSION为属性求值表达式。
定义6:ASSEMBLY::=?<KEYWORD>?<OBJECT1>?<OBJECT2>?<EXPRESSION>?,其中:KEYWORD为系统定义的关键字,OBJECT1、OBJECT2是对象类的名称,EXPRESSION是对象间装配信息表达式。
定义7:ARRANGESET::=?<WAY>?<XPOINT>?<YPOINT>,<ZPOINT>??其中:WAY是位置排列信息,XPOINT是距离中心点的X坐标,YPOINT是距离中心点的Y坐标,ZPOINT是距离中心点的Z坐标。
定义8:STORAGE::=?<CLASSTBLNAME>?<CLASSFLDNAMES>?<VERSION>??其中:CLASSTBLNAME是类表名,CLASSFLDNAMES是表中的各类对象的名称,VERSION是版本信息。
面向对象工程模板通过一组定义表示一个复杂的数据类型,它描述的是一种抽象数据类型。应用抽象数据的概念可以从概念的高度,把握事务之间内在的、实质性联系。面向对象方法进一步发展了抽象数据概念,引入了能把有关事物进行分类、组织成层次的概括?Generalization?机制和把有关对象归并在一起的聚集?Aggregation?机制。
面向对象工程模板模型具有充分的柔性和可扩充性。在建模时,利用类的封装性、继承性和多态性?6?,采用面向对象的自上而下、从概念抽象开始、逐步细化的方法。每个对象可以按照概括(G-关联)关系展开,深入分析,建立下层对象之间的联系。
由于工程设计的特殊性,在工程设计过程中,不仅要考虑产品的几何信息和制造信息,如零部件属性、零部件之间的各种装配位置关系、约束条件等,同时还应当从面向对象的思想考虑一个零件对象应有的一些方法。例如对于链接件对象,它应当有可以将另几个对象链接在一起的方法。这些方法都应当封装在零件内部,提供给外界一个接口。对于一个类,将它的所有实现方法放在一个DLL中,形成一个方法库,把该类的方法库与每一个方法的源代码均当作非结构化数据交给工程数据库管理系统进行存储。
3 面向对象工程模板应用
以冷冲模CAD设计为例,用面向对象模板组织模具设计中的各种工程设计信息,设计信息的面向对象工程模板数据模型如图1所示。冷冲模是由模架、冲头、链接件、凹模、垫板等元件组成。在面向对象工程模板模型中,不仅表示元件特征信息,而且描述了元件的位置分布关系、连接关系、操作关系等语义信息,明确地表示了元件之间的关联信息。其中G-关联?Generalization?用IS-A表示,A-关联?Aggregation?用A表示。图1中显示的是零件聚集关系的展开,既可以在一类对象的共性上对其进行分析和处理,也可以对其中的某个具体对象的个性进行分析和处理。从数据模式中可以看出,从设计活动一开始,面向对象模板就建立了设计和制造活动的有机联系,实现了几何信息与制造信息的集成和分离的对立统一。
面向对象工程模板数据模型采用面向对象技术定义模板的组织结构,利用定义的模板描述语言(TDL)进行工程设计,一方面有效地组织工程设计中的各种数据,另一方面能够很好地模拟工程中的复
《面向对象工程模板数据模型研究(第2页)》