面向复杂产品的分布式协同设计系统
于加晴1,查建中1,陆一平1,徐文胜1,李楠1,M. Sobolewski2
(1. 北京交通大学 机械与电子控制工程学院,北京,100044;
2. Computer Science SORCER Lab, Texas Tech University, Lubbock, Texas 79409, USA)
摘 要:在回顾国内外并行工程和协同设计发展情况的基础上,结合多学科协同设计优化理论,明确分布式并行协同设计的概念;提出一个基于SORCER(Service oriented computing environment)的面向复杂产品的协同设计系统DCDSCP (Distributed collaborative design system for complex product)。给出DCDSCP的架构和工程软件工具封装和集成为服务的方法,描述服务被调用的临时联盟环境。在DCDSCP支持下,顺序调用Pro/E,HyperMesh,Ansys和HumanExpert服务,部署面向机车转向架静态强度分析的协同设计任务,实现在动态网络环境中的可扩展性、可靠性和柔性。计算结果表明:新系统能缩短服务交换周期,支持复杂产品的异地分布式协同设计。
关键词:协同设计;SOOA(Service object oriented architectures);分布式智力资源环境
中图分类号:TP393 文献标志码:A 文章编号:1672-7207(2010)02-0539-07
Distributed collaborative design system for complex product
YU Jia-qing1, CHA Jian-zhong1, LU Yi-ping1, XU Wen-sheng1, LI Nan1, M. Sobolewski2
(1. School of Mechanical, Electronic and Control Engineering, Beijing Jiaotong University, Beijing 100044, China;
2. Computer Science SORCER Lab, Texas Tech University, Lubbock, Texas 79409, USA)
Abstract: After reviewing work on the concurrent engineering and collaborative design at home and abroad, and according to the optimization theory in the multidisciplinary collaborative design, the concept of DCCD (Distributed concurrent and collaborative design) was presented, and DCDSCP (Distributed collaborative design system for complex product) based on SORCER (Service oriented computing environment) was proposed. The architecture of DCDSCP and the wrapping methodology used to integrate engineering software tools were presented, and the temporary federated environment invocation for services was described. Pro/E, HyperMesh, Ansys and HumanExpert services were invoked in sequence, job of collaborative design for the static strength analysis of railway bogies were deployed, and scalability, reliability and flexibility were achieved in the changing Internet environment. The computing result shows that DCDSCP can shorten the cycle of service exchange, and support distributed collaborative design for the complex product.
Key words: collaborative design; SOOA; distributed intelligent resources environment
复杂产品的概念于20世纪90年代中期提出,是指客户需求复杂、产品技术复杂、产品组成复杂、制造过程复杂和项目管理复杂的一类产品[1]。对于生命周期长或者复杂的产品,通常新产品的设计过程相当复杂,包括若干子设计过程,需要多种学科的技术支持,系统之间的集成更重要。过去传统的产品设计理念已不能适用于现代复杂产品的设计,并行设计、协同设计、多学科设计优化等设计方法相继出现。以计算机集成制造系统信息集成技术为基础,美国国防分析研究院(IDA)于1988年提出了并行工程(Concurrent engineering, CE),在企业这一层次上解决了制造业中如CNC,FMS,CAD/CAPP/CAM,MRPII和PDM 等“自动化孤岛”中的信息集成问题。随着经济全球化不断发展,跨行业、跨区域、跨国家的联邦型虚拟公司快速发展,公司环境正经历着一场前所未有的变革,生命周期长或者复杂产品的设计和开发等任务则不得不由分布在不同地点的产品设计工程师、开发工程师,联合其他相关工程师协同完成,分布式协同设计技术由此产生。斯坦福大学设计研究中心的Cutkosky等是分布式协同设计领域的主要开拓者[2]。Xiong等[3]提出了一个基于Web3D技术的分布式协同产品订购系统,该系统通过网络环境下的二维和三维产品的可视化信息,为虚拟环境下的顾客提供分布式的协同产品订购;胡洁等[4]研究了基于系统论的并行协同设计方法,提出了约束网络的并行协同模型的表示方法和一致性检验算法以确定参数的区间;伍恒等[5]介绍了一个软件分布式协同开发环境(SDCEE)的分布并行处理技术系统体系结构和分布并行开发模型;Wang等[6]研究了网络环境下的并行设计智能系统;武建伟等[7]提出适合分布式协同设计的产品数据模型以及基于Web的开放式产品数据管理(PDM)体系结构;美国NIST研究所从1999年进行了产品智能开发环境(FIPER)的研究,该协同工作环境是一个以SOA为基础架构的网格支持平台,它以各种设计资源为服务提供者,为复杂产品设计提供网格支持环境。美国GE公司成功应用了FIPER进行了美国关键武器装备的开发。在FIPER基础之上,Kolonay等[8-9]进一步开发了SORCER (Service-oriented computing environment),并在现有SORCER的基础之上进行改进、完善和工程应用,以开发分布式智力资源环境中并行协同设计平台。本文作者基于SORCER提出了面向复杂产品的分布式协同设计系统,并结合铁路转向架,将该设计系统运用于SORCER环境之中,实现了转向架从建立模型、网格划分、静力分析、到人工专家服务的自动化或半自动化的分布式协同设计。
1 面向复杂产品的分布式协同设计系统
1.1 SOA的进展
SOA早在1996年就被提出。从本质上说,SOA是一种用于构建分布式系统的面向接口的软件构架。在SOA环境中,顾客被称为服务请求者,服务器被称为服务提供者。根据服务提供者和服务请求者之间的通信协议是否可以变化,可将SOA分为2类:SPOA (Service protocol oriented architectures)和SOOA (Service object oriented architectures)[10]。SPOA中,通信协议(如web services中的SOAP协议或CORBA中的IIOP协议)是固定的,并被服务提供者和服务请求者事先得知。因为这种协议满足IDL编译器,所以SPOA能独立于编程语言和处理器。根据分布式计算的八大谬论,分布式计算系统面临着如何应对部分失效和并行性,以及在本地和远程分布式实体间的网络延迟等问题,web services中的SOAP协议或CORBA中的IIOP协议已经不能使分布式计算系统变得更加快捷。SOOA中,服务提供者、服务请求者和服务注册库是网络对象,它们之间可利用任何协议进行通信。服务提供者首先产生1个服务接口的代理对象,并在服务注册库中对其进行注册,然后,将代理对象存储到代码服务器中。服务请求者询问服务注册库以获取代理对象,服务请求者通过查找服务可在服务注册库中找到并下载代理对象,然后,利用它完成对服务提供者的操作。SOOA构架如图1所示。SOOA具有协同定位中立、服务执行中立和通信协议中立3大特点。
图1 SOOA概述
Fig.1 Overview of SOOA
在面向服务的架构中,计算软件服务之间一般通过RPC(Remote procedural call)实现相互调用。RPC是构建分布式应用的基本调用方法之一,目前,有各种基于RPC技术的商业化并行支撑平台和大量的尚处于研究阶段的原型系统,如Sun RPC和DCE RPC,CORBA和Microsoft DCOM-ORPC以及Java RMI等。但这些已有的系统或平台基于客户机/服务器基础结构或SPOA基础架构,它们在当前动态的网络环境中,缺乏可靠性、稳定性和柔性。
Sobolewski[11]开发的SORCER是一个联盟型S2S元计算环境,它是基于SOOA的一个成功应用和创新。在SORCER中,不仅服务提供者的位置是动态的,通信协议是中立的,而且服务注册库的位置也是动态的,SORCER中的服务还能根据服务请求者的需求动态地结成联盟以完成面向服务的编程。SORCER的基础设施是基于Jini租约、分布式事件、事务和发现/加入协议的编程模式,其核心结构见文献[11]。Jini关注网络环境中的服务管理,SORCER则关注面向服务的编程和执行环境[12]。
1.2 分布式并行协同设计
在产品设计阶段,不仅需要并行地考虑时间维的先后设计过程(面向装配、制造等),还需要协同地考虑空间维的不同设计小组的协作,以及知识维的分布式智力资源环境。可见,产品设计过程是一个基于分布式智力资源环境的整体的三维并行协同过程,即分布式并行协同设计。分布式并行协同设计思想如图2所示,DCCD是一种三维的设计理念。
(1) 空间维:一个开发团队之间在空间上应该进行相互协作的设计活动,设计的领域包括工程领域和其他相关领域。
(2) 时间维:一项设计任务在时间上应该并行地进行。如在面向制造的设计进程中,零件和特征之间同时进行着分解和合成;在面向装配的设计进程中,零件和产品之间也同时进行着分解和合成。
(3) 知识维:现代设计是以知识为基础,以知识获取为中心,设计是知识的物化,新设计主要是依赖外部的智力资源和内部的知识储备[13]。我国存在一批可以支持产品开发中设计知识获取的资源或潜在的资源。这些资源大多存在于科研院所、大专院校、国家和部门的重点实验室或开放实验室、工程研究中心等机构中。
1.3 面向复杂产品的分布式协同设计系统
面向复杂产品的协同设计系统应该具备以下特性:能为多个合作公司或公司内部部门之间提供面向复杂产品的分布式系统设计开发环境;服务代理对象和封装源代码可以是任何编程语言,并能被该系统所编译、调用和配置;能提供一个联结CAD和CAE等各种工程软件工具的集成框架和一种能远程实时调用这些软件资源的方法;能实时编译和配置分布于网络环境中的服务资源,即针对不同的客户需求,动态地组织这些软件资源,并形成一个临时联盟环境以完成某项特定的工作,使各种CAD和CAE软件资源能动态地参与到不同的项目工作之中,以建立可靠性和可扩展性的分布式协同设计系统;应该具备协同定位中立、协议中立和服务执行中立,即基于SOOA协议构建。由于该协同设计系统贯穿于整个因特网中,因此,需要考虑并解决网络计算的八大谬论。
基于上述分析和需求,提出了基于SORCER基础结构的面向复杂产品的分布式协同设计系统(Distributed collaborative design system for complex product, DCDSCP),其设计思想如图3所示,它是一个面向服务的并行工程环境,共有5层。
图2 分布式并行协同设计思想
Fig.2 Approach of distributed concurrent and collaborative design
图3 面向复杂产品的分布式协同设计系统架构
Fig.3 Architecture of distributed collaborative design system for complex product
网络和硬件层为所有软件系统的运行提供硬件设备和网络连接。因为网络是动态的,所以,该层可能会存在暂时失效和远程调用产生的网络延迟。
SORCER核心环境层为实现SOOA提供基础机构。SORCER核心环境包括Jini发现和查找服务、服务提供者、应用调度程序等组件。软件工具能通过这些组件,作为SOOA中的服务提供者,集成到SORCER环境中。
分布式网络服务资源层不仅为那些基于SORCER的协同设计项目提供了各种CAD和CAE服务,还将广泛分布在因特网上的诸如CAPP(Computer aided process planning)和DFM(Design for manufacturing)等封装成服务,并能作为SOOA中的服务提供者,集成到SORCER环境中。
临时服务联盟环境层能根据某项需求产生的应用,将分布式网络服务资源层中的一些服务集成为一个新的facade服务,服务请求者不必再调用多个服务,只需调用facade服务即可。临时联盟环境中的这些分布式服务是松散耦合的,彼此之间依赖性很小,它们能执行指定的服务任务,并且当任务完成后自动取消临时联盟,然后,根据需求重新结合成新的临时服务联盟环境。
应用层由协同设计项目终端用户的具体应用组件构成。用户通过Jini服务浏览器下载服务接口并对服务进行发现和查找。得到临时服务联盟环境的响应后,将输入的命令文件上传到文件站,供服务提供者执行任务时读入。服务提供者通过Jini浏览器将任务执行结果返回给文件站,供用户下载。
2 铁路转向架的静应力分析实例
以某机车转向架的静应力分析为例,介绍面向复杂产品的分布式协同设计系统平台的具体应用。
2.1 服务定义和封装
机车转向架如图4所示,其中,(1)~(4)为操作顺序。机车转向架的一般设计进程如图5所示。通过对转向架一般设计进程的功能进行分析,定义了4种服务:3-D参数化设计服务、网格划分服务、静态强度分析服务和人工专家服务,分别由Pro/E,HyperMesh,Ansys和HumanExpert来完成。
Pro/E服务有2种:自动化的Pro/E服务和人机结合的Pro/E服务,其服务提供者都是基于ServiceTasker类,且都能执行从服务调用者传递过来的service context[14]。Pro/E服务输入的是封装在service context节点上的参数模型文件,输出的是生成的或者修改后的几何模型文件,并将几何模型文件的URL链接封装在service context的节点上,同时返回service context给服务调用者。
图4 机车转向架分析实例
Fig.4 An analysis example for railway bogie
图5 机车转向架设计进程
Fig.5 Design process for railway bogie
2.1.1 HyperMesh服务
通过定义和实现HyperMesh远程调用接口以及扩展ServiceTasker类,DCDSCP在SORCER的基础上开发了HyperMesh服务提供者。HyperMesh服务在这里是一种自动化的服务提供者,能批处理执行HyperMesh所特有的hmexec文件。HyperMesh服务的输入和输出文件都有相应的定义好的URL链接,这些链接被封装在服务请求者传递过来的service context节点上,同时,将封装后的service context返回给服务调用者。当HyperMesh服务被某个应用[15]调用时,HyperMesh服务提供者首先会分别收到来自调用者和上一级HyperMesh服务提供者的service context,然后,分别从相应的service context中解析并下载hmexec文件和几何模型文件到本地文件站,其中:hmexec文件是HyperMesh所特有的命令流文件,一般以HyperMesh的cmf文件为基础,按命令流的方式完成分析,它可用任何ASCII文件的编辑软件生成,如WINDOWS平台的记事本程序;几何模型文件为上一级Pro/E服务的结果文件。通过后台执行HyperMesh所特有的hmexec文件,DCDSCP将网格划分的结果文件输出到本地指定的web服务文件站中,然后,将这些文件的URL链接封装到service context的节点中,并将封装后的service context返回给调用者。
2.1.2 Ansys服务
通过定义和实现Ansys远程调用接口以及扩展ServiceTasker类,DCDSCP在SORCER的基础上还开发了Ansys服务提供者。Ansys服务作为DCDSCP的一种典型的自动化服务提供者,其运行机理和HyperMesh服务完全相同。但Ansys服务的命令流文件是APDL (Ansys parametric design language)命令流文件,它是一种通过参数化变量方式建立分析模型的脚本语言,一般以Ansys的log文件为基础,按命令流的方式完成分析,它也可用任何ASCII文件的编辑软件生成。通过后台调用Ansys的批处理运行模式,DCDSCP将静态强度分析的结果,如db文件、rst文件、jpg文件、avi文件等,输出到本地指定的web服务文件站中,然后,将这些文件的URL链接封装到service context的节点中,并将封装后的service context返回给调用者。
2.1.3 HumanExpert服务
人工专家知识在FEA决策中起着非常重要的作用,DCDSCP通过扩展ServiceTasker类同样开发了HumanExpert服务提供者。面向机车转向架静态强度分析的人工专家服务的用户接口界面如图6所示,它会从来自Ansys服务的service context中解析并下载静态强度分析的结果文件,经过人工专家分析后将自己的分析报告和上述几个服务同样的方式返回给调 用者。
2.2 DCDSCP中的服务协同
执行某个应用任务有多个服务提供者参与时,需要协调所有参与的服务,服务提供者才能按照任务执行所要求的协同方式工作[15]。SORCER环境中的Jobber服务就是来做这件事情的,它根据某个具体应用,解释和执行一个服务任务的control context,实时管理服务提供者的临时服务联盟,保持临时服务联盟内部共享同1个context,Jobber还能替换输入的context参数,这样,服务提供者就能根据需求并行或顺序的工作。在转向架分析的任务中,有4个分任务:Pro/E几何建模分任务、HyperMesh网格划分分任务、Ansys静态强度分析分任务和人工专家决策分任务。在执行任务的1次循环迭代中,相关实体的调用顺序如图7所示。当4个分任务顺序执行完以后,如果不能满足客户需求,4个分任务在时间轴上会存在交叉,从而实现宏观层次上的并行运行。
在基于SORCER的DCDSCP
图6 人工专家服务的用户接口
Fig.6 HumanExpert service user interface
图7 机车转向架设计分析顺序(静态强度)
Fig.7 Railway bogie design and analysis sequence (static strength)
架构中,顺序配置了4个分布式的松散耦合服务提供者,其中,每个分布式服务都能被服务请求者动态地发现和调用。当被某个应用调用时,这4个服务会实时地形成临时的服务联盟,来完成静态强度分析任务。当任务完成,4个服务会立即脱离临时服务联盟,与其他服务一起,在被新的应用调用时,形成新的临时服务联盟。
2.3 机车转向架静态强度分析结果
根据前期调查,在开发DCDSCP之前,服务提供端(北京交大车辆所和成都机车研发中心)和客户端(长春机车厂)之间完成1次转向架分析任务的交接周期平均至少需要2周。而应用新系统进行初步测试后显示,虽然该平台架构还有待完善,但1次转向架分析服务的平均交接周期已经压缩到5 d以内,效率有了明显提高。可见:该平台架构能有效缩短服务交换周期,更好地支持复杂产品的异地并行协同设计。
3 结论
(1) 提出了分布式并行协同设计(DCCD)的概念,用来构建面向复杂产品的协同设计系统。
(2) 基于SORCER,开发了面向复杂产品的分布式协同设计系统DCDSCP,它能有效地将各种CAD,CAE和CAPP等商业工程软件集成并作为服务提供给协同设计系统。这些服务可以分布在世界各地,并允许世界各地的用户实时动态地发现和调用,它们之间是松散耦合的,允许重复使用。当网络连接失败时,DCDSCP能复制服务提供者并动态地提供给调用者。
(3) 应用DCDSCP系统,服务请求者无需事先知晓服务提供者的地理位置,就可通过自己的需求应用调用DCDSCP中相关服务组成的临时服务联盟;因此,DCDSCP有良好的柔性、可扩展性、稳定性和加载平衡性,实现了在分布式动态环境中开发复杂产品的并行协同设计行为。
(4) DCDSCP提供了友好的用户界面,实例运行结果表明,系统能有效缩短服务交换周期,更好地支持复杂产品的异地分布式协同设计。
参考文献:
[1] 李伯虎, 柴旭东, 朱文海. 复杂产品集成制造系统技术[J]. 航空制造技术, 2002(12): 17-20.
LI Bo-hu, CHAI Xu-dong, ZHU Wen-hai. Integrated manufacturing system technology of complex product[J]. Aeronautical Manufacturing Technology, 2002(12): 17-20.
[2] 高曙明, 何发智. 分布式协同设计技术综述[J]. 计算机辅助设计与图形学学报, 2004, 2(2): 149-157.
GAO Shu-ming, HE Fa-zhi. Survey of distributed and collaborative design[J]. Journal of Computer Aided Design & Computer Graphics, 2004, 2(2): 149-157.
[3] XIONG Hong-yun, SUN Su-rong. A distributed collaborative product customization system based on Web3D[C]//Proceedings of the 11th International Conference on Computer Supported Cooperative Work in Design. Melbourne: Swinburne Press, 2007: 926-930.
[4] 胡洁, 彭颖红, 熊光楞. 基于系统论的并行协同设计方法研究[J]. 计算机集成制造系统, 2005, 2(2): 151-156.
HU Jie, PENG Ying-hong, XIONG Guang-leng. Research on concurrent and collaborative design based on system theory[J]. Computer Integrated Manufacturing Systems, 2005, 2(2): 151-156.
[5] 伍恒, 张卫民, 赵西安, 等. 一种分布式协同开发环境的分布并行开发技术[J]. 计算机工程与科学, 2005, 27(8): 88-91.
WU Heng, ZHANG Wei-min, ZHAO Xi-an, et al. The distributed parallel exploitation technology of a distributed cooperation exploitation environment[J]. Computer Engineering & Science, 2005, 27(8): 88-91.
[6] WANG Hai-jun, MENG Xiang-xu, XU Yan-ning. Concurrent design in the network environment[C]//Proceedings of the 8th International Conference on Computer Supported Cooperative Work in Design. Piscataway: IEEE Press, 2004: 197-201.
[7] 武建伟, 邱清盈, 冯培恩, 等. 分布式协同设计环境下产品数据管理策略[J]. 浙江大学学报, 2005, 10(10): 1465-1480.
WU Jian-wei, QIU Qing-ying, FENG Pei-en, et al. Management strategy of product data in distributed collaborative design environment[J]. Journal of Zhejiang University: Engineering Science, 2005, 10(10): 1465-1480.
[8] Kolonay R.M, Sobolewski M. Grid interactive service-oriented programming environment[C]//Proceedings of the 11th ISPE International Conference on Concurrent Engineering: the Worldwide Engineering Grid. Beijing: Tsinghua University Press, 2004: 97-102.
[9] Soorianarayanan S, Sobolewski M. Monitoring federated services in CE grids[C]//Proceedings of the 11th ISPE International Conference on Concurrent Engineering: The Worldwide Engineering Grid. Beijing:Tsinghua University Press, 2004: 89-96.
[10] Sobolewski M. Federated method invocation with exertions[C]// Proceedings of the International Multiconference on Computer Science and Information Technology. Wis?a: Polish Information Processing Society, 2007: 765-778.
[11] Sobolewski M. Exertion oriented programming[J]. International Journal on Computer Science and Information Systems, 2008, 3(1): 86-109.
[12] Sobolewski M, Kolonay R. Federated grid computing with interactive service-oriented programming[J]. International Journal of Concurrent Engineering: Research & Applications, 2006, 14: 55-66.
[13] 谢友柏. 现代设计理论和方法的研究[J]. 机械工程学报, 2004, 40(4): 1-9.
XIE You-bai. Study on the design theory and methodology[J]. Chinese Journal of Mechanical Engineering, 2004, 40(4): 1-9.
[14] Berger M, Sobolewski M. SILENUS-A federated service- oriented approach to distributed file systems[C]//Proceedings of the 12th ISPE International Conference on Concurrent Engineering. Texas: Fort Worth, 2005: 89-96.
[15] Inclezan D, Sobolewski M. Security policy management in federated computing environments[C]//Proceedings of 2nd Annual Symposium on Information Assurance. Albany: Cal Poly Pomona, 2007: 64-70.
收稿日期:2009-03-10;修回日期:2009-06-19
基金项目:国家自然基金重点资助项目(50335040);北京交通大学校科技基金资助项目(2006XZ011)
通信作者:于加晴(1983-),男,山东郓城人,博士研究生,从事面向服务的协同设计研究;电话:010-51467594;E-mail: 06116256@bjtu.edu.cn
(编辑 赵俊)