论文部分内容阅读
多Agent系统(Multi-Agent System,MAS)中的多个Agent成员之间相互协调,相互服务,共同完成一个任务,且各Agent成员之间的活动是自治独立的,不受其它Agent成员限制,它们通过竞争和磋商等手段解决相互间的矛盾和冲突。随着多Agent系统应用规模不断增大,实时通信的需求增多,多Agent间实时通信成为Agent工作的重要基础。传统实时通信解决方案通常建立在C/S模式下的小范围里的网络环境中,随着互联网技术发展,WebSocket协议被用来实现基于互联网的实时通信,从而打破了区域的限制,使得多个Agent成员之间能够跨地域的实时通信,实现跨地域的协同工作。因此将多Agent系统建立在互联网B/S模式下,结合WebSocket协议构建轻量、兼容性强的多Agent间实时通信机制,对解决多Agent系统中Agent间的实时通信,提高协同工作效率具有重要意义。WebSocket技术能够完成全双工通信,可以满足互联网中的实时通信需求。以WebSocket技术为基础建立的通讯方式,一般包含有点对点通信、广播通信及黑板通信等三种方式。本文首先围绕点对点通信、广播通信及黑板通信,设计了一套完整多Agent通讯机制,能够实现服务器端与客户端、客户端与客户端之间的实时通讯。在服务器端功能设计中,完成包括系统关键类设计、信息表功能设计、信息状态监控设计以及通信管理器等设计工作,其中在通信管理器中实现了消息的接收、解析与封装、分类及推送等重要模块。在客户端的设计中,完成了 Agent注册/注销及信息管理模块的设计。同时,为防止意外网络故障导致的连接断开,设计了心跳检测及重连。其次,实现服务器端和客户端的功能模块,使用Java WebSocket API完成服务器端功能的实现,使用JS脚本完成客户端Agent功能的实现。最后,选择某集装箱港口的装卸实时调度作业为应用背景,把基于WebSocket的多Agent通信机制应用在调度中,在服务器端完成了作业任务发布、各Agent体状态信息的收集,实现了调度指令的发布与到客户端指令执行结果状态的反馈等一系列操作。结果说明,该通信机制满足多Agent间的多种实时通信需求,稳定性好和效率高。在互联网模式下构建多Agent实时通信机制,克服了传统多Agent系统局域网限制,弥补了传统多Agent间互不兼容互不识别的缺陷。其应用价值在于系统通信不受地域限制,不仅可以在固定区域内的多Agent系统进行通信,也可以在跨地域的多Agent系统进行通信。为跨地域系统调度及协作提供了一个解决方法。