网络环境中CAD系统协作研究

2023-01-01

随着有线/无线通信技术高速发展,网络逐渐成为了一种无处不在和随时可得的普适计算环境,只有通过高效率的通信、交互和协作,才能减少产品开发时间和成本。利用面向三维实体的多用户同步建模技术与协同交互工具,物理地点上分散的多个设计人员可以突破距离上的限制,直接在共享工作空间中对产品的三维实体模型进行观察、修改和设计,从而使协同设计活动变得直观、简单和高效。因此,人们开始对网络环境中CAD系统协作进行了探索,提出了若干在线集成方法。这些方法总体上可以分为两类。

第一类在线集成技术采用CORBA、DCOM等组件技术和中间件技术[1]。例如,在一个基于agent和CORBA的应用集成平台中,Chan明确地指出需要在该平台中集成现有应用[5]。为此,Chan提出了一个通用结构用于封装遗产系统。该结构中有两类封装器:外封装器(Outside Encapsulation)和内封装器(Inside Encapsulation)。Chan对外封装器进行了清晰的论述,即外封装器靠近ORB(对象请求代理),用于在ORB和内封装器之间传递数据和请求调用,负责把客户端的操作请求翻译成为方法来调用。在对外封装器做了很好的介绍以后,后文却没有对内封装器进行任何解释。外封装器可以按照底层互操作协议(例如CORBA等协议)来构造与ORB的接口。相比之下,内封装器却是千差万别的,需要对各种CAD应用的专有特性进行剖析。这就是为什么Chan没有对内封装器进行具体解释和论述的原因。

第二类在线集成方法没有采用组件技术,而是按照Chan对封装器所进行的分类方法,因此可以在很大程度上可以归为内封装方法。PACT(Palo Alto Collaborative Testbed)项目的相关工作就是这方面的经典案例[6]。PACT采用交互agent来封装和集成四个子系,即NVisage,DMD,Next-Cut,Designworld。按照PACT文献,一个agent包括一个CAD系统和一个封装器。

本文的研究目的是探索一种CAD系统的在线集成方法,从而支持细粒度协作。

1 集成器

本文研究了一种适合单机CAD系统应用的灵活、开放的协作方法,可以形象地称之为集成器。如图1所示,集成器可以细化为三层体系结构,即架构层、中间件层、应用层。其中,架构层包括网络环境、计算机硬件和操作系统。中间件层包括基于服务和设备的远程过程调用,作为客户端应用与服务器端应用之间的互连接口。在应用层中,通过中间件Agent将单机CAD系统应用封装到客户端,而客户端的感知服务(包括群感知、任务管理、协调、组广播)则由服务器端提供。

与传统的两层体系结构(应用层直接与架构层相连接,服务器端与客户端都需要处理底层通讯机制)不同,在集成器的三层体系结构中,底层的通讯机制是由中间件层来处理。

限于篇幅,以下将主要讨论集成器的核心部件的实现,即中间件agent结构及其工作过程以及通讯协议。

2 中间件Agent

如图2所示,中间件agent通过外封装器和内封装器来封装单机CAD系统的应用。此种agent构成方式可以根据不同的计算机软件、硬件环境来集成遗产CAD应用。下面将分别讨论外封装器和内封装器的结构和功能。

外封装器是内封装器和中间件之间联系的纽带,其主要为内封装器意图实现的协同功能和中间件的通讯功能提供接口。外封装器包含了来自于内封装器的操作请求,并将其发送到代理对象;同时,也通过代理对象接收界面感知,并将其发送到内封装器。

即使一个遗产CAD系统没有中间件接口,其仍然能够通过外封装器与中间件通信。这样就使得各类遗产CAD系统都能集成到与任何基于中间件的分布式应用中。

内封装器直接与遗产CAD系统交互,是实现细粒度协作的CAD协同设计的最为重要的部分。内封装器采用的是一种半自动软件Agent结构,来封装遗产CAD系统。主要部件包括交互监视器、命令监视器、协作控制器、模型监视器。

3 基于标准中性宏参命令的通讯协议

在分布式环境中,通过交换信息来实现协同工作,各个站点必需遵守相应的规则,即面向协同设计的通讯协议。除了用于协作任务、会话管理、协同感知、一致性维护和并发控制等之外,该协议的一个很重要的组成方面是如何在各个站点之间进行细粒度的设计意图交互。这就涉及到异构问题及其对应的互操作解决方案。

CORBA等协议的主要贡献是在底层完成了方法调用和方法实现之间的映射(当然CORBA等协议则又要基于更底层TCP协议来解决计算机网络等平台之间的互操作)。为了进一步实现高层(应用语义层)的互操作,就需要对CAD核心API进行标准化,即如何调用和如何实现方法。这方面的主要工作有AIS、SDAI、Djinn API和OMG的CAD Services。但是到目前为止,还没有一种API标准能够把主流CAD系统统一起来。

尽管本文重点内容不是针对互操作问题,但是考虑到对异构CAD系统的集成及其互操作问题,在通讯协议中采用了KASIT向ISO建议起草的标准中性宏参CAD命令。标准宏参命令在STEP标准体系中处在STEP Part 55、Part 108、Part 109层面之上,大致与第二版AP203平行。通过对现有主流CAD系统命令的分析,中性宏参命令被分为草图命令、实体命令、曲面命令和约束命令。

4 原型系统

不同媒体对数据传送的可靠性有不同的要求。在多媒体视频、音频传输过程中,媒体数据的相关性小,数据丢失或者失序不会对协同工作产生严重或者长期影响。但是在本文中,依靠通讯协议中标准宏参命令及其次序来保证的各个站点上三维设计意图的一致性,必须建立可靠性较强的、全局有序的组通讯机制。目前版本的原型系统采用经典的、基于客户/服务器的、多个点到点的通讯转发模式。其优点是通讯转发服务器端程序算法实现简单,可靠性较强;缺点是需要为每一个客户端重复发送数据,适合数目不太多的协同设计小组。在协同控制方面,目前版本的原型系统采用了与上述组通讯模式相适应的发言权控制方法。

通过分别对三维Solid Works和三维MDT进行基于中间件agent的封装,本文初步实现了一个支持细粒度协作的原型系统。

上述系统运行的流程下,两个agent for Solid Works和三个agent for MDT在线集成协作情形。其中,采用标准宏参数命令作为通讯协议,初步实现Solid Works和MDT在协同工作时的互操作。

5 结语

本文在分析了现有集成技术的基础上,对基于中间件agent的在线集成问题进行了探索,研究了CAD系统在线集成的方法、中间件agent的基本结构以及相应的通讯机制和通讯协议,分别以三维Solid Works和三维MDT零件为实验对象,进行了细粒度的协同设计。以下方面值得进一步探索,即如何在协同工作环境中集成更多CAD应用并且保证互操作。

摘要:研究了一种网络环境下CAD系统的协作方法,提出通过中间件agent来封装单机CAD系统应用。设计了细粒度协作的通讯机制,并采用基于标准宏参命令的通讯协议来支持CAD系统的集成。初步实现了一个两种遗产CAD协作的原型系统。

关键词:协作,CAD,细粒度,中间件,Agent

上一篇:大港南部油田套漏井治理工艺技术研究应用下一篇:川渝地区凝析气田集输工艺探讨