协同设计环境中大量数据在各学科分析工具之间频繁的交换,需要一个统一的产品数据模型来保证数据的准确性与一致性。本文提出的基于XML的通用集成语言以支持统一数据模型的建立,并详细阐述了通用集成语言的数据模型与数据结构,以及其在协同设计环境中的应用。
复杂工程系统(如导弹、卫星、飞机等)的设计通常涉及众多的设计人员、海量的数据资源、众多的学科领域、复杂的设计流程以及使用各种不同的工具软件等,是一个需要经过多个设计阶段逐步细化和反复的过程。因此我们需要一个能将人员、资源、过程和工具紧密集成的协同设计环境,使得过程链中的每一个应用程序产生的数据和电子文档都可以在不同的步骤间进行无缝传递,从而进行设计的协同、学科的集成和优化,并实现设计过程驱动下的设计推演,在正确时间将正确的信息提供到正确的地点上,最终获得正确的决策、实现企业的整体目标。
北航“工业与制造系统工程研究所”研究开发的综合设计优化环境SDOF(Synthesis Design Optimization Framework)就是这样一种协同设计环境。实现SDOF的关键之一是产品信息的集成。统一产品数据模型的构建和应用之间数据的交换是其中的两个关键问题。从这一需求出发,本文提出并建立了基于可扩展标志语言(Extensible Markup Language, XML)的产品集成描述语言(Product Integrated Description Language,PIDL)。
应用PIDL可建立结构化的统一产品数据模型,结构化使得模型更具灵活性和可扩展性,模型中包含了设计开发过程中所有的公共数据,且这些数据在模型中仅描述一次。这样,各学科工具仅需开发一个与数据模型的接口进行数据交互,而不需与集成环境中其他每一种工具都开发一个接口,如图1所示。 (图片) 本文研究的重点在于设计通用集成语言以及其在SDOF中的应用。
一、产品集成描述语言设计
1.为什么采用XML
XML是一种界定文本数据的简便而标准的方法,就好像你可以使用自己喜爱的编程语言来创建任何一种数据结构,然后同其他人在其他计算机平台上使用其他语言来共享一样。XML的标记用来说明你所描述的概念,而属性则用来控制它的结构。所以,你可以定义自己所设计出的语法并占其他人共享。
XML的数据描述机制意味着它将成为信息共享的强大途径,因为:
(1)它是开放性的,XML能够在不同的用户和程序之间交换数据,而不论其平台如何;
(2)它的自描述的特性使其对于B2B和企业内部解决方案来说是一种有效的选择;
(3)它无需事先协调,我们就可以在程序之间共享数据。
XML Schema是描述XML文档的文档,通过创建XML Schema,能够正式而精确地定义词汇表,所有词汇表规则都包含在XML Schema中,凡是未在XML Schema中出现的规则都不属于词汇表的一部分。应用XML Schema定义PIDL的语义及语法规则,然后我们用PIDL定义具体产品的数据及结构。
2.数据模型
各学科在协同设计时,经常会遇到同一名称表示不同含义或不同名称表示同一含义的语义冲突,为避免这种冲突,我们首先需要建立一个数据名称词典。但仅用一个名称来描述某个数据显然是不够的,因此我们规定数据必须包含某些属性来帮助用户了解、使用数据,各学科领域的专家建议数据至少应该包含如表1所列的几种属性。其中数据的“单位”及“类型”可帮助用户建立与工具之间的接口,而“数据来源”和“数据去向”属性使得数据具有可追溯性。(图片) PIDL支持的数据类型包括:基本类型、数组类型以及组合类型。
其中基本类型和数组类型的子类型又包括:整形、浮点型、布尔型,字符串、日期以及文件。而组合类型相当于一个“容器”,它里面又可以包含基本类型、数组类型或别的组合类型。一个完整的数据项定义如图2所示。(图片) 3.结构设计
当数据词典设计完成后,我们需要设计一种结构来反映数据之间的关系。PIDL中采用层级结构描述产品,其中每一级上定义关键特征属性,该层次结构从高到低可以分解为:系统、子系统、装配体和零件。
其中,系统是对产品最高层的描述,定义了复杂产品功能层次上的属性;子系统主要定义复杂产品的各个子系统所拥有的属性以及各子系统之间的相互关系;装配体是对复杂产品装配体主要属性的定义和描述;零件是对复杂产品中不可再分的、可独立加工制造的单元定义,如图3所示。这种树型的层级结构几乎支持任何一种产品模型的定义。同时,PIDL还支持产品模型的扩展,可使得用户随着产品开发的进行不断完善和扩展其产品结构。(图片) PIDL结构化的主要目的是最大化数据的重用以及减少数据的冗余。
PIDL规定:任一个节点不容许包含两个名称相同的子节点。这样就保证了每一个节点在结构树中路径的唯一性。例如:假设“子系统1”包含数据——“油箱重量”,当“子系统2”要用到该数据时,它不需要再定义该数据的相关信息,只需引用它在结构树中的路径,这样PIDL会自动解析该路径,并提供给“子系统2”所需要的相关信息。
二、综合设计优化环境
综合设计优化环境(SDOF)通过组织设计任务单元(Design Task Unit,DTU),基于设计结构矩阵(Design Structure Matrix, DSM)的设计过程建模,以及PIDL描述的统一数据模型建立的一个同构的工程设计支持环境,能进行高效的协同设计,其构架如图4所示。(图片) 从图中我们可以看出,所有公共产品数据均包含在由PIDL定义的统一产品数据模型中,设计过程从中取得其所需要的产品数据并组织运行该设计过程中的DTU。由于DTU支持工具的封装,如图5所示,分析工具将其输入、输出数据与统一产品数据模型中的数据映射,当分析工具运行完成后,将对统一产品数据模型中与其输出数据映射的数据进行自动更新。(图片) 三、PIDL在综合设计优化环境中的实现
PIDL设计完成后,用它来描述具体产品的数据模型称之为iPIDL(Instance of Product Integrated Description Language),并可用XML Schema检验它的有效性。
1.建立iPIDL文档
在SDOF中进行具体产品分析设计时,最初需要一份“初始化”的iPIDL文档,该过程是通过PIDL的专有编辑器来完成的。PIDL编辑器通过JDOM解析iPIDL文档并用树型结构显示以反映GIL的层级关系,并且,PIDL编辑器中可以显示整个iPIDL文档以便观察文档的生成过程。iPIDL文档中系统、子系统、装配体、零件及数据项等各节点的具体属性信息都通过弹出的对话框进行编辑,如图6所示。(图片) (图片) 2.PIDL与分析工具的连接
产品的结构与数据信息通过PIDL建立完成后,我们要将它们提供给封装在DTU中的各类分析工具。iPIDL与分析工具之间的连接是分两步来完成的。
首先,每个iPIDL都含有输入、输出参数接口,iPIDL通过描述数据路径的方式将数据映射到DTU的参数接口中:
< DataPath>
[项目群,项目1,数据域,几何数据,var1]
[项目群,项目1,数据域,几何数据,var2]
< /DataPath>
DTU自动解析该路径并获得与该数据有关的所有信息。DSM通过DTU的接口参数信息组织、优化、控制DTU的运行。然后,由于DTU中的工具通过封装后,其输入、输出数据是“暴露”在DTU中的,DTU将其接口参数与分析工具的输入输出参数关联:
< DataIn>
[项目群,项目1,数据域,几何数据,var1]
< /DataIn>
< DataOut>
[项目群,项目1,数据域,几何数据,var2]
< /DataOut>
并通过输入、输出对应关系自动捕捉不同分析工具间的数据流向,组织、控制分析工具的运行。当一个DTU运行完成后,其结果通过输出接口输出,iPIDL自动捕捉输出结果,并更新所对应的数据信息。
3.数据模型完成过程
复杂产品的统一数据模型通常是被多个学科部门操作控制的。各学科或平行、或并行、或相互交互的操控数据模型。PIDL必须能够处理这一系列操作,并能保证统一产品数据模型的唯一性与完整性。
S D O F 中主要分析过程如图7所示。首先建立一份初始化的iPIDL文档,该文档通过数据映射为各学科工具提供其所需数据,并将结果返回至iPIDL文档中。图中“仿真”、“成本分析”、“可靠性”是并行对iPIDL文档进行操作的,完成后必须统一协调成一份完整的、唯一的iPIDL文档,以便随后使用。当所有的设计分析完成后,iPIDL文档可根据需要提供各种类型的数据报告。
四、卫星设计实例
以卫星总体设计为例,来说明统一数据模型在具体设计中的应用(如图8所示)。卫星总体设计包括多个子系统的设计:有效载荷系统、推进系统、电源系统、通信系统等,其中每一个系统都需要多种工具的支持。首先通过PIDL描述卫星的结构、数据及其设计过程,然后建立数据与设计过程接口参数的映射关系,随后通过工作流引擎驱动整个设计过程的运行。(图片) 在卫星总体设计中,工作流引擎首先驱动有效载荷任务单元运行。在该任务单元运行之前,首先通过映射的数据路径取得其所需参数的具体信息,如参数类型为文件,则从PDM系统中检出对应文件。当设计任务单元满足所有运行条件,则启动其内部基于数据流的过程引擎,按用户配置的工具执行过程进行自动化求解运算。该任务单元运行完成后,则更新统一数据模型中与其接口参数映射的数据,并保存入PDM。工作流引擎在接收到设计任务单元传来的完成信息后,按照DSM过程模型中定义的设计任务单元的执行顺序,驱动下一任务单元(推进系统)运行。如此反复,直到整个设计过程完毕。
五、总结
在协同设计开发环境中建立一个完整、统一的产品数据模型是非常重要的。PIDL就是这样一种建立产品数据模型的语言,它通过建立iPIDL文档、文档与工具之间的数据映射、数据协调以及数据报告支持产品的协同开发。这种方式大大提高了产品开发的效率、节约了产品开发成本,并通过便捷的信息交流与共享,及时对产品各学科的性能进行协调与优化,全面提高产品的性能和质量。
2/3/2007
|