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

时间:2011-09-01

  复杂电子产品的设计任务往往需要由分布在不同部门或不同场所的具有不同领域知识的群组协同合作完成。在计算机网络环境下,模拟人类群组合作工作的自然属性、开发具有网络协同作业功能的系统是当前电子线路设计技术研究的前沿课题之一。Internet/Intranet提供了完成这种分布式异地协同设计的物质基础,Web技术和Multi-Agent技术则构成了协同设计环境的底层支撑技术,但协同工作系统的协同机理、进程协调、设计信息的集成等关键技术目前还没有得到有效解决。因此针对复杂产品设计和协作的需要,研究Internet/Intranet模式下电子产品设计任务协同求解的原理和实施方法具有重大的理论价值和实际应用意义。

  Multi-Agent系统(MAS)是多个Agent组成的集合,其多个Agent成员之间相互协调,相互服务,共同完成一个任务。它的目标是将大而复杂的系统建设成小的、彼此互相通信和协调的,易于管理的系统。   各Agent成员之间的活动是自治独立的,其自身的目标和行为不受其它Agent成员的限制,它们通过竞争和磋商等手段协商和解决相互之间的矛盾和冲突。MAS主要研究目的是通过多个Agent所组成的交互式团体来求解超出Agent个体能力的大规模复杂问题。

  代表了分布式对象技术的CORBA规范的出现,为问题的解决提供了一种可能的途径。

  1  应用Multi-Agent实现分布式协同设计

  1.1 Multi-Agent的概念与应用

  目前Agent领域的研究主要是针对软件Agent展开的,将它作为软件工程开发的一种规范。一个软件Agent即为一个独立自主的计算实体,能在无法事先建模的、动态变化的信息环境中,独立规划复杂的操作步骤,解决实际问题;在用户不参与的情况下,独立发现和索取符合用户需求的可利用资源与服务。在Multi-Agent系统中,每个Agent具有独立性和自主性,能够解决给定的子问题,自主地推理和规划并选择适当的策略,并以特定的方式影响环境。

  在Multi-Agent系统中,每个Agent具有独立性和自主性,能够解决给定的子问题,自主地推理和规划并选择适当的策略,并以特定的方式影响环境。在Multi-Agent系统的实现过程中,不追求单个庞大复杂的体系,而是按面向对象的方法构造多层次,多元化的Agent,其结果降低了系统的复杂性,也降低了各个Agent问题求解的复杂性。 Multi-Agent系统是一个讲究协调的系统,各Agent通过互相协调去解决大规模的复杂问题;Multi-Agent系统也是一个集成系统,它采用信息集成技术,将各子系统的信息集成在一起,完成复杂系统的集成。多Agent技术打破了人工智能领域仅仅使用一个系统的限制,在MAS环境,各领域的不同可能协作求解某一个无法解决或无法很好解决的问题,提高了系统解决问题的能力。

  人作为一类特殊的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。

  (5)设计方法的协同。设计方法的共享是指设计者之间通过在线演示,互相交流设计过程中使用的一些方法。具体方式可以采用远程控制接管某一节点,进行手把手式教授,或者通过视频会议进行现场直播。

  (6)网络通信的协同。网络协同工作系统中,各个CDC所处的网络环境是不同的,因此提供一个异构的网络环境集成方式是实施网络协同工作的基础。

  2  应用CORBA规范实现分布式应用的集成

  2.1 公用对象请求代理结构CORBA

  CORBA是为实现分布计算环境下的应用集成而制定的分布对象规范,是新一代客户/服务器模式,其是接口定义语言和对象请求代理。服务器对象包括界面和对象实现两部分,界面是用IDL定义的,它描述服务器对象所能提供的操作及这些操作所需要的参数,对象实现具体完成这些操作的代码和数据。ORB为系统提供了软件总线机制,任何对象只要用IDL对其界面进行描述,就可连接到ORB上,为其他对象提供服务或向其他对象请求服务,实现即插即用。

  2.2 基于CORBA的分布式应用的集成

  基于CORBA的分布式应用系统结构如图2所示,由应用层、开放式分布处理层和系统支持层构成。

  系统支持层为具体应用的开发提供了必要的软件环境和工具。企业的计算机系统、网络系统中一般存在异种机、异种网、异种数据库和异种协议,是典型的异构计算环境。

  开放式分布处理层是基于CORBA的开放式分布平台,实现分布异构计算环境下各具体应用之间以及它们与多种数据库服务器之间的透明访问。

  应用层上汇集了各种具体设计、仿真工具和数据库系统,它们以插件的形式连接到ORB软件总线上,实现各种应用服务的分布式集成。

  各应用模块之间和应用模块与数据库之间没有直接的联系,它们通过ORB通信。这样,只要应用服务或数据库的界面定义不变,为适应环境而对其中任意应用服务进行修改,增加新的应用服务模块或更换数据库系统,都不会影响其他部分,因而系统具有更好的柔性和可重构性。当然在充分研究已有设计工具的功能和数据结构的基础上,也可以直接利用现有设计、仿真工具的功能,当有新的功能需求时,可以进行补充和扩展。

  3  分布式协同设计系统的实现

  目前市场上支持电子产品开发过程的商用软件品种繁多,各个企业、各个具体的设计部门出于自身的需要,可能选用不同的产品开发仿真平台或开发基于CORBA的应用服务。因此,协同工作系统中,应该让参与协同过程的设计者能够共享设计工具。从图3中可以看出,二个协同设计单元基于Web技术可共享成熟的产品结构设计工具、电路原理设计与仿真工具或利用CORBA技术实现各种专门应用服务的集成。

  4  结  论

  本文采用Multi-Agent技术构建了与电子产品结构设计和电路原理设计仿真有关的网络协同工作系统,提出了异构环境下基于Web技术的设计工具的集成策略和基于CORBA规范的应用服务的集成方法。此方法可以应用于电机、复杂电子仪器等协同设计系统中,使其实现分布式环境下的协同设计。将本系统的方法和原理进一步扩展,可以实现网络环境下的复杂电子产品的分布式协同设计和制造,具有一定的应用价值。


  
上一篇:探讨现场总线网络在DCS系统中的应用
下一篇:解析异构应用系统业务协同工作流平台设计与实现

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料