|
并行工程系统集成方法的比较与应用研究广告 并行工程系统集成方法的比较与应用研究 王昕 熊光楞 摘要:本文以并行工程的实践经验为基础,总结了并行工程系统集成四个方面的需求。比较了基于数据库、中间件、STEP以及Agent等四种相关的系统集成技术,指出了它们的优缺点及适用范围,从而为并行工程系统集成技术的选择提供了重要的参考。目前,这些方法在航天并行工程和齐齐哈尔并行工程中都得到不同程度的应用,本文分析了它们在应用中存在的问题,并结合国外的有关研究,指出了解决这些问题的方法和进一步的研究方向。 关键词:并行工程,系统集成 A Comparative and Empirical Study of Concurrent Engineering System Integration Techniques WangXin XiongGuangLeng
Abstract This paper classifies the requirements of concurrent engineering system integration into four aspects based on engineering practices. To satisfy these requirements, we compare four kinds of system integration techniques, which are database-based integration, middleware-based integration, STEP-based integration and Agent-based integration. Their advantages and disadvantages are analyzed so that proper techniques would be choosed. These techniques have been applied to different applications in the HTCE and QQHRCE programs. The problems in the applications are summerized and the methods to solve the problems are proposed. We also point out related works and the future reseach in this area. Keywords: concurrent engineering, system integration 1 并行工程系统集成需求 并行工程是企业为了尽可能的缩短产品上市时间(time-to-market),同时兼顾质量、成本等因素而采取的设计哲理。并行工程通过多学科团队、过程分析和改进、产品数据管理、协同工作环境、自动化的设计支持工具CAX/DFX及其信息集成等方法和工具集,来促进多学科、跨部门的信息共享和协作,使得在产品开发过程的早期,就尽可能的考虑下游的因素(可制造性、可维护性等),以减少工程更改,缩短开发周期,实现产品开发的一次成功和设计结果的优化。 实施并行工程总的来说包括两个方面的因素,一方面是管理方面的因素,包括多学科团队的组建和管理、产品开发过程的建模、分析和改进;另一方面是技术方面的因素,包括单点设计工具的应用、协同工作环境的建立、项目管理工具、PDM(Product Data Management)系统的实施以及系统之间的集成。由于实施的过程中一个重要的指导思想是尽量选用成熟的技术和系统,以减少不必要的开发,因此对于不同系统之间的集成就显得尤为重要。 航天并行工程和齐齐哈尔铁路车辆并行工程是我们承担的两个比较大的863并行工程应用项目。在这两个项目中,我们涉及了众多的设计辅助和工程管理软件系统,如CAD系统有Pro/E、IDEAS、AutoCAD;CAE有PATRAN、ADAMS;PDM有Windchill、Metaphase;还有自主开发的CAPP、CAFD、DFA、DFM以及过程管理和协同设计等工具。这些工具之间存在着大量的集成需求,我们把这些需求大致分为以下四个方面: 不同的过程系统之间的集成。例如,在齐齐哈尔铁路车辆并行工程项目中,选用的PDM系统是PTC公司的Windchill,该软件的工作流建模和管理功能非常强,但项目分析和管理功能比较弱,而Microsoft公司的Project98正好可以弥补Windchill这方面的缺陷,于是就需要解决Project98和Windchill过程模型的交互问题。在航天并行工程中也存在类似的问题。 概念设计阶段不同学科之间的模型共享和协同的方案分析。例如,在航天并行工程项目中,进行弹总体设计时,设计师必须同时考虑结构、制导控制、电气、动力各个分系统的模型,才能够进行总体布局、质量、质心、转动惯量的计算;控制系统的设计也必然要考虑受控对象的模型。因此,必须解决不同学科之间概念模型的共享问题,并且对它们之间的相互影响进行分析。 详细设计阶段不同系统之间的数据交换。例如,CAD系统和CAE、CAPP、CAFD系统之间的产品数据交换,目前主要采取基于STEP中性文件的方法。但是,STEP的应用协议不能完全满足企业实际系统信息集成的需要,因此,产品数据模型需要开发人员自己定义或扩充。 概念设计支持工具和详细设计支持工具之间的集成。目前,商品化的概念设计支持工具还很少,因此我们根据企业的需要自主开发了一些概念设计支持工具(例如,基于约束的协同设计工具)。这些概念设计支持工具同CAD、CAE系统之间或多或少也存在着集成的问题。 针对这些方面的需求,我们在航天并行工程和齐齐哈尔铁路车辆并行工程中研究并应用了相关的系统集成技术。目前,这两个项目已进入收尾阶段,作为实践经验的总结,我们对4种主要的系统集成技术进行了分析和比较,介绍了它们在工程实践中的具体应用情况和存在的问题,并结合国外的相关研究,指出并行工程系统集成的研究趋势。 2 系统集成方法的比较研究 就目前并行工程系统集成研究和开发的现状来看,所采用的方法大致有以下几种:基于数据库的集成方法;基于中间件的集成方法;基于STEP的集成方法;基于Agent和本体的集成方法。我们简单介绍每种方法,并对它们的优缺点进行比较。 2.1 基于数据库的集成方法 A、B系统之间的数据交换通过读取对方的数据库(A系统读取B系统的数据库,或者反过来)或在数据库之间进行映射(把B系统的数据库映射成A系统的数据库,或者把A系统的数据库映射成B系统的数据库)来实现。 这种方法的优点是实现起来较为简单,ODBC和JDBC等都是较为成熟的技术,实现的成本也比较低。 缺点是系统必须在数据库中存储所要交换的数据,并提供相应的数据存取方法。一般只能交换静态的数据,对于程序运行中存在的动态数据,是无法进行交换的。这种方法必须在每两个系统之间都开发不同的接口,n个系统之间的集成必须开发n * (n-1) 个接口,接口的重用性比较差。 2.2 基于中间件的集成方法 中间件(以CORBA为例)的核心思想是通过在客户和服务器之间引入一组对象请求代理服务(ORB: Object Request Broker),使得A系统的对象能够象访问系统内部对象一样访问B系统对象的成员(B系统可能是远程的,也可能是本地的)。采用这种方法进行系统之间的集成,一般用IDL(Interface Definition Language)定义系统之间的接口,再通过IDL编译器映射成具体的程序语言。生成的对象包括stub(客户端用它来向ORB发送服务请求)、skeleton(服务器端用它来监听ORB发送过来的服务请求)、接口的具体实现以及其它的一些辅助对象[1]。 这种方法的优点在于能够方便地实现异构系统(不同硬件平台、操作系统、网络环境等)之间的集成,因为网络通讯的实现对编程者来说是无须考虑的。而且具有面向对象的优点,实现起来也比较简单,已经是一种比较成熟的系统集成方法。它既可以实现数据交换,也能实现方法调用。 其主要缺点是需要ORB的实现,需要购买相关产品。而且对于接口的设计是很有讲究的,好的接口应该具有易于理解、易于修改和重用等优点。 2.3 基于STEP的集成方法 STEP是ISO为了在不同的工程系统之间实现产品数据交换制定的标准[2]。STEP标准以EXPRESS作为形式化的产品模型描述语言,以SDAI作为产品模型数据的操作接口,不同的系统之间以中性文件或数据库的形式进行产品信息集成。 这种方法的优点在于STEP提供了一种描述产品数据的中性机制,而且集成资源为产品数据的描述提供了参考。 其主要缺点在于STEP标准的形成过程总是很难跟上企业系统集成的需求。在实际应用中,开发人员往往需要自定义产品模型或者在集成资源的基础上进行扩展。 2.4 基于Agent和本体的集成方法 多Agent系统和本体技术是从分布式问题求解和知识共享领域发展而来的。在多Agent系统中,每个基于知识的系统都看作一个Agent,Agent之间通过传递消息来共享知识,从而实现协作的问题求解。目前,从系统集成的角度来看,斯坦福大学的KSE(Knowledge Sharing Effort)项目提供了一套较为完整的方法[3]。该方法包括KQML(Knowledge Query and Manipulation Language)、KIF(Knowledge Interchange Format)、本体三层逻辑结构,主要用来解决不同的知识库系统之间的知识共享问题。KQML是对系统之间通讯行为的一种抽象,它由一组通讯原语(如tell、ask等)组成。KIF是一种中性的知识表示语言,用KIF表达的知识可以映射到多个具体的知识表达系统。本体是不同的知识系统之间共同使用的通讯词汇。一个典型的KQML消息结构如下: :sender stock-server :content (PRICE IBM 14) :receiver joe :in-reply-to ibm-stock :language LPROLOG :ontology NYSE-TICKS) 系统之间通过KQML消息进行知识交互,对于消息和知识的处理由每个Agent自己来完成。 这种方法的主要优点在于,KQML层实现了具体的通讯功能(一般的Agent开发工具都会提供此功能),使得开发者无须过多的考虑通讯方面的问题,而且KQML是对于通讯行为的一般抽象,具有通用性。用KIF表达的本体(即系统之间所要通讯的内容),可以通过斯坦福大学提供的Ontolingua服务器映射到多个具体的知识表达系统[4],其可维护性、可扩展性和可重用性都比较好。此外,斯坦福大学还提供其它工具和服务(如JAT,OKBC,CML等),来支持基于Agent和本体的系统集成。 其主要缺点是它面向知识库系统之间的集成。尽管用KIF表达的本体也可以映射成IDL语言,再通过IDL编译器编译成具体的程序代码,但显得不够直接。也有的Agent开发工具(如AgentBuilder)直接把用UML语言表达的本体编译成程序代码,但是就没有办法利用Ontolingua提供的强大功能了。 2.5 四种系统集成方法的特点比较 这四种系统集成方法的主要特点比较如表1所示。 通过以上的比较我们可以发现: 方法2、3、4都试图提供一种中性语言,对要共享的数据、知识或方法进行描述,再通过一组翻译器实现到具体系统的映射。 方法2、4都试图提供一组网络服务,以实现网络通讯对用户透明。 在适用范围方面,方法3主要强调静态的产品数据交换;方法2可以实现静动态的数据交换和方法调用;在方法4中,由于KQML提供了一种持续动态的交互模式,所以可以实现静动态的数据交换。 表1
四种系统集成方法的特点比较
在第1部分中我们描述了并行工程实施过程中的系统集成需求,在第2部分中我们分析比较了四种系统集成方法的特点。下面以我们在航天并行工程和齐齐哈尔铁路车辆并行工程的实践为基础,扼要介绍系统集成方法在并行工程中的具体应用情况和存在的问题,并结合国外的相关研究,指出并行工程系统集成的研究趋势。 3.1 过程管理系统的集成 目前我们在并行工程过程管理系统之间的集成主要包括两个方面,一方面是项目管理软件(如Project98)和工作流管理软件(如Windchill和Metaphase的工作流管理)之间的集成;另一方面是自主开发的过程软件之间的集成,自主开发的软件是不同的人在不同的时间分别开发的,目前包括建模、执行、监控、历史管理、资源规划等模块。 项目管理软件和工作流管理软件之间的集成需求主要在于工作流管理软件需要利用项目管理的分析和报表功能。它们之间交换的数据基本上是静态的,而且Project98和PDM的数据库接口也比较友好。因此采用基于数据库进行集成的方法就可以满足要求。在自主开发的软件模块之间,建模和执行模块之间的集成是基于CORBA的,因为过程执行引擎必须动态的监视活动状态的改变,并把活动状态随时提供给每个过程模型显示的客户端。由于这些集成工作都是针对特定系统的,因此接口的重用性比较差。 国外的很多组织致力于不同的过程管理系统之间接口规范的研究,如工作流管理同盟制定了工作流管理系统的参考模型,其中就包括工作流接口API和互换格式[5];MIT、斯坦福大学、多伦多大学、爱丁堡大学等联合开发了PIF(Process Interchange Fromat)[6],来支持不同软件系统之间的过程数据交换。 3.2 概念设计阶段的多学科之间的模型交换和知识共享 目前,我们对于概念设计阶段的支持工具研究和应用还比较少,但客观上是有此需求的。基于约束网络的协同设计工具解决的主要就是概念设计阶段的问题。目前我们的约束协同工具从知识管理的角度来看还存在以下缺点:知识获取比较困难,需要学习领域知识,并同领域专家交谈;同设计过程和设计任务之间的关系不明确;设计历史和原理的记录和显示还很不完善;应用到多个学科之间时,各个学科之间对于方程和术语的理解可能产生歧义(本体问题)。可以考虑应用基于Agent和本体的方法,对以上缺点加以克服。 斯坦福大学在本体工程研究的基础上开发了CML(Compositional Modeling Language)语言,可以对产品概念设计阶段的模型进行描述,不同学科的设计、分析工具用基于Agent的方法进行封装,并可通过OKBC(Open Knowledge Base Connectivity)接口共享概念模型[7]。 3.3 详细设计阶段的设计工具之间的信息集成 目前我们主要采用基于STEP的方法,如航天并行工程中CAD和CAPP之间的信息集成。由于STEP的集成资源并不能够完全满足产品模型定义的需要,因此产品模型中有很多自定义的成分。对于企业设计工具之间的信息集成来说,其产品模型定义在很大程度上是相对稳定的,因此,统一产品模型定义的术语,可以增强产品模型定义的重用性。这实际上是基于STEP的方法和基于本体的方法相结合的问题。 欧洲的学者已经着手用本体工程的方法来解决STEP的语义问题[8][9]。 3.4 概念设计阶段和详细设计阶段的工具集成 概念设计阶段的工具和详细设计阶段的工具集成问题已经受到研究和应用方面的重视。能否提供一种通用的集成的建模方法,把产品的概念设计和详细设计统一起来,使得概念设计能够无缝的过渡到详细设计,是该问题的实质。目前我们开始着手考虑基于约束网络的协同设计工具同CAD软件之间的集成问题。 KBE(Knowledge Based Engineering)在某种程度上就体现了概念设计同详细设计集成这种思想[10]。它通过扩展的逻辑程序语言,建立某一类产品(或部件)的集成模型,包括设计时所需要考虑的可制造性、成本等因素,通过规则和约束把相关的知识封装在集成模型中。产品的几何特征作为集成模型的属性之一,通过KBE系统内部的几何引擎(或与外部的CAD系统之间进行数据交换),可以自动生成可视化的几何模型。但KBE实施的前提是对某一产品或零部件的设计分析的比较透彻,因此只能支持常规设计或变形设计,对于创新性比较强的产品设计则无能为力。知识的获取依然是瓶颈问题。 3.5 研究趋势 从以上几方面的应用以及存在的问题来看,并行工程系统集成方面的研究存在以下趋势: 接口规范的统一。不同领域的系统集成都企图建立一个中性的机制,使不同的系统通过这种中性机制联系起来,从而减少接口的开发工作量。 信息交换的语义问题。不同系统的信息交换必须解决语义问题,本体工程就是关于语义问题的解决方法。 网络通讯的透明问题。网络通讯的具体实现应该对系统集成开发者透明,使得他们可以把注意力放在系统集成的具体需求上。 系统集成与Web的关系。Web技术的广泛应用以及虚拟企业、电子商务的发展,使现有的系统集成技术同Web技术的结合成为必须解决的问题。XML、IIOP、Agent同Web的接口等成为研究的热点。 4 结论 本文以并行工程的实践经验为基础,总结了并行工程系统集成四个方面的需求。比较了基于数据库、中间件、STEP以及Agent等四种相关的系统集成技术,指出了它们的优缺点及适用范围,从而为并行工程系统集成技术的选择提供了重要的参考。目前,这些方法在航天并行工程和齐齐哈尔并行工程中都得到不同程度的应用,本文分析了它们在应用中存在的问题,并结合国外的有关研究,指出了解决这些问题的方法和进一步的研究方向。 参考文献 [1] T.J. Mowbray and R. Zahavi. “The Essential COBRA: System Integration Using Distributed Objects”[M]. John Wiley and Object Management Group, 1995. [2] ISO10303-1, STEP Part1, “Overview and fundamental principles”[M], 1992. [3] Fikes, R, Cutkosky, M, Gruber, T and van Baalen, J, “Knowledge sharing technology project overview”[R], Technical Report KSL-91-71, Stanford University, Knowledge Systems Laboratory. 1991. [4] Gruber, T, “A translation approach to portable ontology specifications”[J]. Knowledge Acquisition 5 (2). 199-220, 1995. [5] 史美林 杨光信 向勇 武尚广,“WMFS:工作流管理系统”[J],计算机学报,Vol22 (3),1999. [6] J. Lee, G. Yost, and PIF Working Group. “The pif process interchange format and framework”[R]. Technical Report 180, MIT Center for Coordination Science, 1995. [7] M. Ozawa, Y. Iwasaki, and M. R. Cutkosky, “Multi disciplinary early performance evaluation via description of mechanisms: DVD pick up head example”[A], Proceedings of DETC'98[C], 1998, ASME Design Engineering Technical Conferences, September 13-16, 1998, Atlanta, Georgia. [8] N, Guarino, S, Borgo, and C, Masolo, “Logical Modelling of Product Knowledge: Towards a Well-Founded Semantics for STEP”[A]. In Proceedings of European Conference on Product Data Technology (PDT Days 97)[C], Sophia Antipolis, France. 1997. [9] Metzger, F. J. “The Challenge of Capturing the Semantics of STEP Data Models Precisely”[A]. In Proceedings of Workshop on Product Knowledge Sharing for Integrated Enterprises[C]. Basel, Switzerland, PDTAG-AM, Product Data Technology Advisory Group, ESPRIT project 9049. 1996. [10]C.B Chapman , M. Pinfold, “Design engineering—a need to
rethink the solution using knowledge based engineering”[J], Knowledge-Based
Systems Vol 12: 257–267, 1999. 如果您希望与本文章的作者或其所在机构,进一步交流,请联系:畅享网 姜小姐 jill.jiang@amt.com.cn | 021-51096826-112 | 在线联系 |
|
|
|