设计应用

电子产品分布式协同设计实现技术

作者:王经卓1,马 超2
发布日期:2009-12-17

摘   要: 针对复杂电子产品在分布式异构环境下协同设计的特点,提出应用Multi-Agent技术构造协同设计单元、实现协同设计的方法。分析了支持分布式处理的CORBA规范的特点,提出应用CORBA实现分布式应用集成的方法。
关键词: 分布式异构环境  Multi-Agent技术  协同设计单元  CORBA规范

  复杂电子产品的设计任务往往需要由分布在不同部门或不同场所的具有不同领域知识的专家群组协同合作完成。在计算机网络环境下,模拟人类专家群组合作工作的自然属性、开发具有网络协同作业功能的系统是当前电子线路设计技术研究的前沿课题之一。Internet/Intranet提供了完成这种分布式异地协同设计的物质基础,Web技术和Multi-Agent技术则构成了协同设计环境的底层支撑技术,但协同工作系统的协同机理、进程协调、设计信息的集成等关键技术目前还没有得到有效解决[1]。因此针对复杂产品设计和协作的需要,研究Internet/Intranet模式下电子产品设计任务协同求解的原理和实施方法具有重大的理论价值和实际应用意义。
  代表了分布式对象技术的CORBA规范的出现,为问题的解决提供了一种可能的途径[2]。
1  应用Multi-Agent实现分布式协同设计
1.1 Multi-Agent的概念与应用
  目前Agent领域的研究主要是针对软件Agent展开的,将它作为软件工程开发的一种规范。一个软件Agent即为一个独立自主的计算实体,能在无法事先建模的、动态变化的信息环境中,独立规划复杂的操作步骤,解决实际问题;在用户不参与的情况下,独立发现和索取符合用户需求的可利用资源与服务。
  人作为一类特殊的Agent,在协同工作系统中占有相当重要的地位。软件Agent的主要思想即是人格化。在协同工作这类松耦合式、动态变化的系统中,人类的知识、经验以及面对新环境的主动性、适应性是软件Agent无法比拟的。因此将人本身作为Multi-Agent系统的一部分来构建Muti-Agent系统也是未来Agent技术研究的一个重要方向。
1.2 协同设计单元的构建
  协同设计单元(Cooperative Design Cell,CDC)由设计者、多个软件Agent以及设计工具等构成,如图1所示。CDC本身就是一个Multi-Agent系统。在这个Multi-Agent系统中,人占有主导地位,而软件Agent主要用来辅助人管理节点上的各种资源和设计工具。软件Agent的辅助管理使得设计者(即自然Agent)将更多的注意力集中在设计任务上,从而提高设计的效率。设计者通过软件Agent的帮助,理解节点上一些动作含义,而软件Agent则通过与设计者的交互不断获取新的知识和经验。

1.3 CDC之间的协同工作原理
  单个协同设计单元不能完全体现网络协同工作系统中的协作性,由这些设计单元互相连接构成的更高层次的Multi-Agent系统才是一个有意义的协同工作环境。这种Multi-Agent系统的协同工作不仅仅是人-机之间的协作,更是人-人之间的协作。它使Multi-Agent系统突破了时空上的限制,具有更高的智能性和协作性,它提供了下述几个层次的协同应用。
  (1)人与人的协同。协同设计系统的目的是提供一个使设计者和专家们能够协同合作的环境,这与传统的专家系统有所不同。专家系统追求的目标是让普通的、非专家的设计者能完成专家才能完成的任务,并达到专家的水平。而协同工作系统让异地、分布的专家们协同合作,完成单个专家难以完成的工作。它强调的是具有一定领域知识的设计者之间的协同。
  (2)设计界面的协同。支持网络协同设计的交互界面是对传统人机交互界面的继承和发展,它是群体合作的联系纽带。单机上人机交互时,用户面对的是机器,而网络上的交互,用户面对的是人,交互过程中,他们要互相感觉到彼此的存在。因此,一个支持网络协同设计的交互界面对传统人机交互界面进行了延伸。
  (3)设计信息的协同。协同设计过程中,全域的产品信息共享是协同的核心。随着设计过程的深入,产品信息模型是动态演进的。因此在任何时刻,当某一CDC提交设计结果,对产品信息模型进行修改时,与此信息相关的其他CDC应该能及时得到一个合适的信息跟随。所谓合适的信息跟随的含义是将同一信息在不同的用户那里以用户需要的方式反应出来。
  (4)设计工具的协同。设计工具的共享具体体现在应用的共享上,其主要目标是:①同一应用同时受控于参与共享的所有CDC。②应用的输出结果同时提供给参与共享的所有CDC。③同一时刻,只有一个CDC的应用操作有效。
  (5)设计方法的协同。设计方法的共享是指设计者之间通过在线演示,互相交流设计过程中使用的一些方法。具体方式可以采用远程控制接管某一节点,进行手把手式教授,或者通过视频会议进行现场直播。
  (6)网络通信的协同。网络协同工作系统中,各个CDC所处的网络环境是不同的,因此提供一个异构的网络环境集成方式是实施网络协同工作的基础。Internet/Intranet的广泛发展和应用,提供了一个天然的网络互联的物质基础,而Internet/Intranet上普遍采用的Web技术提供了异构网络集成的技术基础[3]。
2  应用CORBA规范实现分布式应用的集成
2.1 公用对象请求代理结构CORBA
  CORBA是为实现分布计算环境下的应用集成而制定的分布对象规范,是新一代客户/服务器模式,其核心是接口定义语言(Interface Define Language,IDL)和对象请求代理(Object Request Broker,ORB)。服务器对象包括界面和对象实现两部分,界面是用IDL定义的,它描述服务器对象所能提供的操作及这些操作所需要的参数,对象实现具体完成这些操作的代码和数据。客户通过IDL界面,确定各对象实现所能完成的操作以及调用它们的方法。客户不必知道对象实现在小网络上的具体位置,而是由ORB为客户请求寻找相应的对象实现,向对象实现传递客户请求,并将对象实现的执行结果送给客户。ORB为系统提供了软件总线机制,任何对象只要用IDL对其界面进行描述,就可连接到ORB上,为其他对象提供服务或向其他对象请求服务,实现即插即用。
2.2 基于CORBA的分布式应用的集成
  基于CORBA的分布式应用系统结构如图2所示,由应用层、开放式分布处理层和系统支持层构成。
系统支持层为具体应用的开发提供了必要的软件环境和工具。企业的计算机系统、网络系统中一般存在异种机、异种网、异种数据库和异种协议,是典型的异构计算环境。

  开放式分布处理层是基于CORBA的开放式分布平台,实现分布异构计算环境下各具体应用之间以及它们与多种数据库服务器之间的透明访问。
  应用层上汇集了各种具体设计、仿真工具和数据库系统,它们以插件的形式连接到ORB软件总线上,实现各种应用服务的分布式集成。
  各应用模块之间和应用模块与数据库之间没有直接的联系,它们通过ORB通信。这样,只要应用服务或数据库的界面定义不变,为适应环境而对其中任意应用服务进行修改,增加新的应用服务模块或更换数据库系统,都不会影响其他部分,因而系统具有更好的柔性和可重构性。通过CORBA,将各应用服务模块与具体的计算机系统环境隔开,使得各个应用模块不必直接与底层环境交互,实现了应用模块相对于计算机系统的独立性。因此,在分布式电子产品协同设计系统的构建中,可以对各种电子产品的共性进行抽象,按照不同种类或不同功能的应用服务模块进行开发,以CORBA为基础平台进行集成。当然在充分研究已有设计工具的功能和数据结构的基础上,也可以直接利用现有设计、仿真工具的功能,当有新的功能需求时,可以进行补充和扩展。
3  分布式协同设计系统的实现
  目前市场上支持电子产品开发过程的商用软件品种繁多,各个企业、各个具体的设计部门出于自身的需要,可能选用不同的产品开发仿真平台或开发基于CORBA的应用服务。因此,协同工作系统中,应该让参与协同过程的设计者能够共享设计工具。从图3中可以看出,二个协同设计单元基于Web技术可共享成熟的产品结构设计工具、电路原理设计与仿真工具或利用CORBA技术实现各种专门应用服务的集成。

  在产品结构设计过程中,CDC1共享CDC2的设计工具SolidWork的过程为:首先设计者1提出设计任务,通过人机交互Agent、知识理解Agent等将其分解成设计数据,通信Agent通过Web服务器将设计数据提交给CDC2,CDC2通过相应的软件Agent将设计数据转换成自己能接受、能理解的格式;设计者2在协调工具的协作下,接受设计任务,使用SolidWork进行设计,并将设计结果通过Web服务器传回CDC1,CDC1内部通过软件Agent对设计结果进行相应处理提交给设计者1。这一过程实现了CDC1透明共享CDC2的设计工具SolidWork。
  同理,在电路原理设计过程中,CDC2也可以共享CDC1的仿真工具Multisim。其过程与上述过程类似,不再遨述。
  将二个CDC协同设计进行扩展,可以形成多个CDC构成的协同工作系统的设计工具和应用服务共享的集成环境。
4  结  论
  本文采用Multi-Agent技术构建了与电子产品结构设计和电路原理设计仿真有关的网络协同工作系统,提出了异构环境下基于Web技术的设计工具的集成策略和基于CORBA规范的应用服务的集成方法。此方法可以应用于电机、复杂电子仪器等协同设计系统中,使其实现分布式环境下的协同设计。将本系统的方法和原理进一步扩展,可以实现网络环境下的复杂电子产品的分布式协同设计和制造,具有一定的应用价值。
参考文献
1   殷国富,陈永华.基于Intranet的企业信息化系统技术与应用.计算机科学,1999;26(3)
2   谢友柏.分布式设计知识资源的建设和运用.中国机械工程,1998;9(2)
3   Eddy M R.Developing Web-centric Systems for Collaborative Engineering.Computing in Civil Engineering,ASCE,1997;46(1)

此内容为AET网站原创,未经授权禁止转载。
分布式异构环境 Multi-Agent技术 协同设计单元 CORBA规范