《基于FIPA的多Agent系统通信研究.docx》由会员分享,可在线阅读,更多相关《基于FIPA的多Agent系统通信研究.docx(10页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、基于的多系统通信研究 摘要:Agent通信是多Agent系统的核心活动之一,是Agent相互协调、合作的基础。依据FIPA规范,采纳消息传送与CORBA技术相结合的通信方式,实现了MAS中Agent之间的有效通信。通过详细的通信实例探讨了MAS中Agent通信的实现。 关键词:代理;多Agent系统;FIPA 中图分类号:TP311文献标识码:A文章编号:1019-3044(2022)26-1792-03 Research on Multi-Agent System Communication Based on FIPA YU Wei-hua, SHI Jing (Electronic Inf
2、ormation Engineering College, Henan University of Science and Technology, Luoyang 473013, China) Abstract: Agent communication, as one of the core activites in multi-agent systems, is the basis for agent coordination and cooperation. According to Standard of FIPA, efficient communication between age
3、nts in multi-agent system is implemented by using the communication mode combining message transmission and CORBA. The realization of agent communication in multi-agent system is discussed by example. Key words: agent; multi-agent system; FIPA 1 引言 近年来Agent和MAS的理论和技术已经成为分布式人工智能、软件工程等领域探讨的热点。在MAS中,智能
4、Agent通过相互作用实现问题求解和相互间的行为协调,通信是Agent实现相互作用的桥梁。通过通信,Agent可以了解其他Agent的状态,各Agent之间不断进行相互通信,保证了问题求解过程的顺当完成。 FIPA组织是非赢利性的国际标准化组织。FIPA制定了一系列的技术规范,来促进基于Agent的应用、服务和设备的胜利实现1。 2 Agent与FIPA Agent可译为代理或主体,广义上是指具有智能的任何实体,包括人类、智能硬件和智能软件2。智能Agent置身于某种环境之中,通过感知器感知环境,如图1所示。 图1Agent与环境的交互 在实际环境中,单个Agent的实力有限,当利用Agent
5、求解问题时,应当将具有不同实力的Agent个体组成一个为完成某个任务而共同合作的整体,以期获得整体效应大于各部分和的目的,这是导致MAS产生的干脆缘由。与此同时,Internet的快速普及更为MAS中各Agent之间的行为动作、合作交互供应了一个开放的基础环境。 2.1 面对Agent的软件开发 美国斯坦福高校的Shoham教授参考面对对象程序设计思想,提出了面对Agent的程序设计框架。在AOP中,Agent的状态由信念、承诺、实力、行为等组成。他还定义了Agent之间的通信原语,并实现了一种基于AOP思想的Agent程序设计语言3。目前,AOP的含义己经不再局限于把意识看法作为程序的核心,
6、而是泛指将Agent作为原子实体的设计和构建Agent系统的各种软件技术和开发方法,包括各种开发工具。具有代表性的开发方法有:Gaia4,MASCommonkADS5以及其它基于Telescript、AGENT0、PLACA、AgentSpeak、April等Agent编程语言的分析和设计方法6。 2.2 FIPA规范 随着AOP技术的不断发展,应用于不同领域的异构Agent应运而生。最初建立FIPA的目的就是为了提高异构Agent系统之间的交互性,并为此制定了一系列的技术规范,从体系结构、通信语言、内容语言到交互协议。FIPA通过融合言语行为理论、谓词逻辑及公共的本体论,来供应一个标准的方法
7、以理解Agent之间的沟通。 FIPA Agent必需运行在FIPA平台(FIPA Agent Plauform)内,平台为其供应了基本的服务支持,因此在某种程度上也可以称平台为Agent的中间件。平台主要功能是管理Agent的生命周期、使Agent能与平台内或平台外的Agent通信、使之能访问平台供应的服务等。 FIPA的管理模型如图2所示,主要有以下几个功能模块: 1)AMS(Agent Management System),是FIPA管理模型中必需的部分,相当于平台的管理者,它监控着Agent对平台的访问; 2)DF(Directory Facilitator)也是平台的必需部分,它供应
8、平台内的黄页服务; 3)MTS(Message Transport Service)供应了不同Agent之间的消息交互机制,MTS由平台上的Agent Communication Channel(ACC)供应,ACC是平台上为Agent供应消息交互的实体; 4)AP(Agent Platform)是Agent能被部署运行的物理实体,它不仅包括前面的AMS、DF、MTS,还包括底层硬件、操作系统和支撑软件,如JRE等。 FIPA并没有规定AP的实现方式,平台的内部实现由Agent系统的开发者确定。 3 基于FIPA的Agent通信机制 FIPA标准规定Agent系统内部采纳消息传递的通信模式,A
9、gent系统之间基于CORBA IIOP通信。 3.1 消息通信 Agent的通信是它与其环境协调、沟通、合作和竞争等活动的基础。FIPA综合了ARCOL的规范性和KQML的用户友好性和可用性创建了Agent通信语言FIPA ACL。它基于Speech-act理论,其消息本身表达通信动作,也就是说,Agent通过发送消息企图达到或完成某一特定目的或动作。 FIPA-ACL规定消息包含一个或多个参数,依据状况的不同,有效的Agent通信须要不同的参数;全部ACL都必需的一个参数是performative,大多数消息还须要包含sender, receiver和content参数。FIPA ACL的
10、消息示例如下: (inform : sender agent 1 : receiver hpl-auction-server : content (price (bid good02) 150) : in-reply-to round-3 : reply-with bid03 : language fipa-sl : ontology hpl-auctio ) FIPA定义了一整套规范性的通信动作,它们代表了用来构建Agent之间对话行为的集合。每个通信动作由名称和消息参数构成。FIPA ACL中的两个最重要的通信原语是Inform和Request。事实上,FIPA中全部其他的语用词是依据这两
11、个原语定义的。 为完成一个任务,Agent之间要发送多次消息。针对不同的任务,Agent之间的会话常常会遵循固定的模式,消息的发送和接收具有特定的次序,比如一个Agent在向另外一个Agent发送一个恳求的消息,它就会等待对方回复消息。这种典型的消息交换方式就是交互协议。FIPA定义了包括恳求协议(FIPA-Request)、查询协议(FIPA-Query)、建议协议(FIPA- Propose)等。图3给出了FIPA恳求协议的通信行为。 当Agent系统处在分布环境中时,个体Agent很可能分布在不同的物理位置、甚至运行在不同的平台上。这就要求MAS必需满意在不同物理位置和不同操作系统的环境
12、下不变更代码或重新编译仍可运行,包括相互之间的信息的正确通信,即跨平台性、可移植性。选用中间件技术CORBA可以满意分布环境下的MAS的要求。CORBA作为一个通信中间件,通过把应用程序和通信核心细微环节分别,将底层调用API的细微环节隐藏起来,屏蔽困难的网络通信,留给开发者的是较高层次的通用接口。对象恳求代理ORB是整个CORBA结构的核心,也是重要组成部分。ORB的体系结构供应了分布式异步环境中基于C/S模式的通信机制。 Agent通信过程中,消息发送端对应CORBA结构中的客户端,接收端对应CORBA结构中的服务器端。由此组合可以实现Agent之间跨平台的相互通信,而且收发相互不会影响。
13、这种方式使得Agent能有更多的自主性和交互实力,实现更强的功能。 3.2 通信实例 基于FIPA的Agent通信机制使得Agent精确、快速的理解对方的通信意图,实现高效通信。以下通过一个购买CD的通信实例对系统中Agent间的通信状况进行描述。 在此例中购买CD的Agent和出售CD的Agent通过系统平台实现购买CD的交易,双方Agent分别命名为:CDBuyerAgent、CDSellerAgent。首先描述双方Agent的通信细微环节。卖方Agent启动后,响应买方Agent的恳求,告知对方自己拥出名为“Synchronicity”的CD;买方Agent恳求该CD的价格,卖方Agen
14、t告知其价格;买方Agent恳求运用信用卡购买此CD;卖方Agent完成出售CD的动作,并通知买方Agent相关操作已经执行。该实例运用了两个本体元素集合来支持双方通信,它们是musicShopOntology和ecommerceOntology,前者用来描述卖方所拥有CD的信息,后者用来描述买卖双方交易的相关信息。 消息的实现通过一个ACLMessage类中的对象来完成,其中的get和set方法可以访问ACL格式指定的全部域。发送一条消息只需填写一个ACLMessage对象的域,然后调用Agent类中的send()方法。 FIPA定义的ACL 通信动作可以通过良好定义的语义使得当一个消息到来
15、时,一个agent可以自动做出适当的确定。 下面的代码创建了一个消息来通知昵称为Peter的Agent:We have the CD you want。 ACLMessage* msg = new ACLMessage(ACLMessage.INFORM); msgaddReceiver(new AID(Peter, AID:ISLOCALNAME); msgsetOntology(musicShopOntology); msgsetContent(We have the CD you want); CDBuyerAgent和CDSellerAgent都继承自Agent类,在完成通信之前它们都
16、须要进行创建本体、内容语言和内容管理器的工作,涉及代码如下: ContentManager manager = (ContentManager) getContentManager(); Codec*codec = new SLCodec(); Ontologyontology = MusicShopOntology.getInstance(); 发送消息一方重写Agent类中的setup方法,在setup中注册本体和内容语言,并调用addbehaviour方法为Agent添加行为,在添加的行为中,通过action方法创建消息、填写参数、依据运用的本体对消息内容编码以及调用send方法完成消息
17、发送等。接收消息一方通过receive方法从消息队列中取出消息后,解析内容,依据得到的通信动作确定行为,例如CDSellerAgent收到来自CDBuyerAgent的QUERY-REF消息后,发出INFORM消息,告知其所需CD的价格。买方Agent和卖方Agent通过消息传送表达自己的意图,进行协商,从而完成CD购买交易。 4 结束语 通信实力是Agent的一个重要特征。文中探讨了依据FIPA规范将消息传送与CORBA技术相结合的通信机制,实现了MAS中不同Agent间的有效通信。本体在Agent通信中的应用能够保证通信的双方对事物理解的一样性,削减或者避开通信过程中的二义性,有效提高通信
18、效率。Agent间如何在语义层面更加精确的理解彼此的通信意图是下一步工作的重点。 参考文献: 1 董爱兵,王小平,曹立明.基于FIPA ACL和RDF的Agent通信语言J.计算机应用探讨,2022,22(7):24-25. 2 张云勇,刘锦德.移动agent技术M.北京:清华高校出版社,2003. 3 Shoham Y. Agent0: a simple agent language and its interpreterM. In: Proc AAAI-91, 11011:734-739 4 Wooldridge M, Jennings N R, Kinny D. The Gaia Met
19、hodology for Agent-Oriented Analysis and DesignJ.Journal of Autonomous Agents and Multi-Agent Systems,2000,12(3):141-145. 5 Iglesias C A,Garjo M,Gonzlez J C, et al. Analysis and design of multiAgent systems using MAS-CommonKADSC. In:AAA101 Workshop on Agent Theories, Architectures and Languages, Pro
20、vidence, RI, ATAL. An extended version of this paper has been published in INTELLIGENT AGENTS IV: Agent Theories, Architectures, and Languages, Springer-Verlag, 19101 6 刘大有,杨鲲,陈建中.Agent探讨现状与发展趋势J.软件学报,2000,11(3):315-321. 第10页 共10页第 10 页 共 10 页第 10 页 共 10 页第 10 页 共 10 页第 10 页 共 10 页第 10 页 共 10 页第 10 页 共 10 页第 10 页 共 10 页第 10 页 共 10 页第 10 页 共 10 页第 10 页 共 10 页