分布式协同设计系统研究
2011-10-26郑州牧业工程高等专科学校孔素真
郑州牧业工程高等专科学校 孔素真
河南省委省政府机关事务管理局 余 彬
分布式协同设计系统研究
郑州牧业工程高等专科学校 孔素真
河南省委省政府机关事务管理局 余 彬
随着全球信息网络技术的发展,全球化市场的形成和技术变革的加速,围绕新产品的市场竞争也日益激烈,因此,缩短新产品开发的周期、提高新产品开发的技术水平、降低新产品开发的成本,并保证上市后产品的上市周期,就成为企业形成竞争优势的重要因素。产品整个设计制造的全过程,各方的协同工作变得极为重要。
本文,笔者提出并实现了一个基于Agent代理的分布式协同设计系统,Internet/Intranet提供了完成这种分布式异地协同设计的物质基础,Web技术和Multi-Agent技术构成了协同设计环境的底层技术支撑。系统充分利用了Web的优点,实现了客户端的零安装,访问和使用简便,同时将设计中的协同控制交给Agent代理来完成。
一、系统的体系结构
分布式协同设计系统中的分布式是指用户可以分布在不同时间和空间上,而协同设计中的协同即包括设计人员之间、设计人员同设计环境之间的通讯与交流,还包括设计过程中各设计阶段、各设计小组之间的模型信息一致性要求进行产品开发的协同,其最终目标是充分利用现有网络资源与技术,实现协同作者之间的并行工作机制,因此提出了如图1所示的协同设计结构。该系统对用户来说是纯B/S结构,只需要使用浏览器,协同用户间就可以通过系统进行协同工作和信息的沟通。
该结构可以分为3层:协作应用层、协作通信层和应用服务器层。最上层为协作应用层包括各个不同的协同设计小组,每个小组承担不同的任务,每个小组及小组成员之间通过系统进行交流和协同设计。最下层为应用服务器层,主要是提供智能体的Agent代理、产品数据管理、协同设计系统、视频会议、电子白板等多种协同交流工具。中间层的协作通信层作为应用层和应用服务器层的中介,主要是Web服务器和Internet/Intranet网络环境等基本条件。
二、智能体Agent代理
基于Agent代理的分布式协同设计系统的智能体Agent代理由协同设计Agent和协同通信Agent这2部分组成。协同设计Agent主要是提供用户在对产品设计时产生并发控制及设计规则的控制。协同通信Agent的作用主要是用户使用协同工具交流时进行控制。
1.协同设计Agent。协同设计Agent主要是提供多用户同时操作同一个零件和多用户对多个零件同时进行参数化设计时的控制机制。把用户提交申请对零件操作定义为任务,记为R,同时我们定义了一个5元组(Ul、Up、Ua、Uf、Ut)表示用户当前的状态,记为U。Ul表示任务的执行状态是加锁还是没有加锁,Ul=0表示任务未锁死,Ul=1表示任务已经锁死。Up表示用户对任务的操作权限,Up=0表示没有权限,Up=1表示有权限。Ua表示任务是否完成,Ua=0表示没有完成,Ua=1表示已经完成。Uf表示任务的优先权,它的数值越大表示优先权越高。Ut代表任务锁的实效性,Ut=0表示用户操作权限过期,Ut=1表示用户拥有操作权限。
(1)多对一。用户Ui和用户Uj(i≠j)在申请同一个任务时,如果Ul=0andUa=0,且Ui.Up=1,Uj.Up=0,这时用户Ui将获得任务的操作权,同时Ul=1,若Ui.Up=1,Uj.Up=1,Ui.Uf>Uj. Uf则用户Ui获得任务的操作权,否则相反,同时Ul=1。当任务完成时,Ua=1,这时Ul=0,用户Ui释放任务锁后,Ua也置0,其他用户可以提出新的任务申请。元素Ut是对用户操作任务时间作出限制,防止死锁的发生,Ut=0时用户Ui被迫释放任务锁,Ul=0andUa=0进行初始化。
(2)多对多。用户Ui在申请Ri和用户Uj在申请Rj(i≠j)任务时,如果Ri.Uf>Rj.Uf.Ri.Ul=0andRi.Ua=0,且Ui.Ri.Up=1,这时用户Ui将获得任务的操作权,否则,若Rj.Ul=0andRj.Ua= 0,且Uj.Rj.Up=1用户Uj将获得任务的操作权。其他元素的变换同多对一的规则一样。
2.协同通信Agent。在协同设计过程中,协同用户间的沟通交流是协同通信Agent同各个协同工具协调来完成的,此部分的可靠性直接影响到整个系统的运行效率。在网络协同工作系统中,各个协同用户所处的网络环境是不同的,因此协同通信Agent主要协调各个用户之间的协同交流。当一个用户发起呼叫组织实时协同时,若协同设计平台上没有要合作的伙伴,协同通信Agent就会发布消息,呼吁有关的设计小组成员响应其合作请求。
3.应用实例。仪表是一种典型的多品种、小批量的产品,其应用场合广泛,用户需求也不尽相同。因此,将基于Agent代理分布式协同设计原型系统应用于仪表中具有一定的现实意义。本文构建的仪表协同设计系统的流程图如图2所示。在不同地点的用户利用基于Agent的分布式协同设计系统,申请设计任务,智能体Agent及时协调任务设计过程中产生的各种冲突,用户可以利用各种协同交流工具及时地进行设计思路和设计方法的沟通,以达到最优化的设计。
图3给出了系统运行时的一个界面。可以看出,系统把仪表整机设计分为前面板和后面板等多个子任务,设计人员利用系统来申请子任务,设计人员在设计初期便可以利用协同交流工具及时地进行设计思路的沟通和交流。进入设计后期,设计人员可以一边利用协同工具交流,一边进行任务设计,实现实时的交流和设计。当设计完成后,提交修改意见及修改设计请求。当修改设计完成后,智能Agent升级子任务的数据库,同时通知其他设计人员查看设计结果。当所有的子任务都完成后,智能Agent升级整机的设计数据,利用这种“集中升级,分散设计”的思路可以减少网络通讯及数据传输的工作量。
三、结论
随着Web技术的发展,制造业在协调化、分布式、敏捷化、智能化等方面的要求越来越高,基于Agent技术为解决产品设计、制造及产品整个生命周期的协同工作提供了一种全新的方法和手段。本文提出了基于Agent代理的分布式协同设计系统的体系结构,并讨论了主要Agent的工作原理,为产品的协同设计提供了一种有效和可行的方案。