移动agent系统互用性的研究*
2010-12-01周阿连
周阿连
(烟台职业学院,山东 烟台 264003)
移动agent系统互用性的研究*
周阿连
(烟台职业学院,山东 烟台 264003)
在多样化的、开放的、分布式环境下的MAS中,agent必须与非同构的agent进行互动,遍历不同的agent平台以获取远程的资源,于是,互用性成了M AS的关键性能。目前提出的解决互用性的方法都缺少必要的柔韧性来提供足够程度的互用性。提出了一种高层方法,该方法基于已明确定义的软件层概念,可以实现M AS之间执行、通信和移植的互用性,解决目前解决方案存在的缺陷,而且安全性保持在MAS相应机制的可控范围。
移动agent系统;互用性;软件层;agent模型;基于语义的通信
0 前言
在过去的几十年中,在具有通用目标的分布式应用的设计实现中,尤其在基于Internet的动态环境下,移动agent范例和技术[1-2]已经表现出很高的潜能和柔韧性。但是,目前的MAS应用仍存在缺少合适的安全机制,缺少互用性,缺少量身定做的软件开发过程和建模语言问题。如果一个系统的agent能够移植到另一个异构的系统,并能够在该系统上执行,与其移动agent进行通信[3],那么认为这两个MAS是互通的。
本文提出了一种基于软件层概念的应用层方法,定义了一种互用性移动agent框架,该框架可以实现现有MAS的互用性,而不需要对其基本结构进行任何更改,从而实现了MAS在执行、移植和通信方面的互用性;通过对现有的MAS应用该方法实现的互用性的实验分析表明,该高层方法提供了很高的功效,而且保持目标计算环境可承受的开销。
1 互用性移动Agent模型
互用性的移动Agent(IMA)用<HLP,LLP>对来表示,其中:LLP是低层部分,依赖于特定的M AS,异构移植后会发生改变;HLP是高层部分,在整个Agent的生命周期中始终保持不变。HLP集中在事件驱动的轻量移动agent模型内,使用基于语义的通信机制。HLP通过一个LLP实现的接口对 HLP提供基本的服务,进而与LLP相适应。
1.1 事件驱动的轻量移动agent模型
事件驱动的轻量移动agent模型表示为元组<Id,S, Beh,Tc,Eq>,其中Id是唯一的agent标识,S是agent的状态,Beh是agent的行为,Tc是与agent相关的控制线程,Eq是接收到的将会被agent处理事件队列。在事件处理的过程中,agent可能执行下面的行为之一:
●计算,该行为直接影响agent的状态,通过调用create方法创建agent,或者通过send方法将事件进行转移。
●通过migrate方法进行移植。
一个实例agent的事件处理和状态演变过程如图1所示。
图1 状态演变及基本行为
事件处理方法代码:
该实例agent能够对move、Reply和Terminate事件作出反应。尤其是对Rep ly事件触发器的处理会执行一系列的行为:通过执行计算方法影响agent的内部状态,创建agent Y,转移事件X给目标agent,并且转移事件发给自身。执行完后,该agent处于状态Xsj,该状态下的agent如果收到move事件,就会移植到目的地。
1.2 桥梁移动agent(BA)
IMA利用移动agent桥在两个异构的MAS之间移动。M AB是一个反应性软件基件,它可以从一个MAS中收到IMA,并将之反射到异构的目标MAS。MAB对于移动agent来说就像LAN桥对网络数据包的作用一样。
实例 假设IMA=<HLP,LLPsource>是一个互用性移动agent,该agent要从一个X类型的源MAS移植到一个Y类型的目标MAS中(X<>Y),移植如图2所示。
第一步,IMA与一个MAB(MABX->Y)联系,该MAB提供从X到Y的桥接。
第二步,收到 HLP之后,M ABX->Y创建一个专门到 Y的新的LLP,调整 HLP到LLPtarget进而获得 IM A*=<HLP,LLPtarget>,异构的把IMA*移植到目的MAS中。
尽管LLP被替代了,保持移动agent的活跃性的 HLP保留下来,使得桥接过程完全透明。
图2 桥接一个MAS的agent到另MAS
2 互用性移动agent框架
创建互用性移动agent框架(IMAF)来隐藏基于java的MAS的异构性,该框架能覆盖在MAS上,而不需要对其下的M AS做任何修改。
2.1 架构
IMAF的架构主要由3个软件层组成。
(1)互用性移动agent层(IMAL):该层根据事件驱动的移动agent模型实现IMA的 HLP与通信部分。
(2)调整层(AL):一个接口,声明了下列方法供 HLP使用:(i)create,创建一个新的 IMA;(ii)m igrate,使用平台独立的移植专用方法来移植IMA;(iii)send,使用平台独立的转移专用方法来发送一个事件到一个具有异构LLP的目标IM A。(iv)lookup,使用平台独立的查找服务来查找一个异构LLP中的某个IMA。
(3)平台独立的移动agent层(PMAL):一个可继承的、具有不同的LLP的移动agent类的集合。
2.1.1 互用性agent之间的通信
IMA之间的相互通信是建立在事件的基础上的,下面是一个IM A将一个外部事件传递给一个目的IM A或转变成自身事件的过程:
(1)通过使用其当前语义组件(URLSender)的URL,接收到的agent(URLReceiver)的语义组件的URL(tag),事件类型和时间参数列表(args)创建事件。
(2)以已经创建好的事件为参数调用send方法。Send方法操作如下:如果URLSender与URLReceiver是相同的,该事件直接插到转移agent自身的队列中;否则,接收到agent的组件通过使用RM I的查找方法进行查找,如果找到agent,语义组件通过调用dispatch方法将事件派遣给该agent;否则,将事件插入agent邮箱队列或激活EventFo rw arder组件来进行转发。
2.1.2 包装agent(WA)实现互用移动agent(IMA)和平台独立的移动agent(PMA)之间的通信
IMA和PMA之间的通信由WA作为中介,发起者是IMA。IMA将其请求发送给WA,WA将其内容通过translate方法转变成平台独立的格式,将该内容合并入一个平台独立的请求中发送到PMA。WA一收到来自PMA的请求,就创建应答事件,并将其发回IMA。
2.1.3 桥接移动agent(MBA):促成异构移植
为了实现移植,每一个M AS至少应该开发并派遣一个M AB。一个带有X类型的LLP的IM A将要移植到一个Y类型agent的服务器,IMA可以发送一个移植请求事件给任何一个 Y类型(X<>Y)的MAB。移植请求包含IMA的HLP和目标agent服务器的位置。被联系的MAB创建一个新的LLP,调整HLP以适应引入的IMA,执行异构的移植过程,将IMA向目标agent服务器移植。
2.2 基于IMA F的应用编程
IMAF[4]的主要问题是如何从远程的数据仓库提取信息(该仓库由操作在异构agent平台上的agent管理),基于IM A F的解决方案依赖于如下内容的定义与实现:
(1)IMA(数据提取器)。在一个既定路线的指导下,漫游在各个异构agent平台之间(这些平台中的数据仓库由数据agent管理),提取想要的数据,然后起程到下一位置。
(2)本地WA集合。每个不同类型的平台都有一个包装agent,它包含在指定路线中,通过包装技术充当通信媒介。在每一条路线上,IM A与基于IMA F的事件进行交互,这些事件带有本地的WA,这些WA通过特定平台提供的交互方法和本地的数据Agent进行交互(数据提取过程见图3)。
图3 基于IMAF的应用
3 结论
如果移动agent系统实现互用性,无疑会极大的促进移动agent技术发展。
(1)编程者可以独立开发任何M AS的移动agent,因此,使得基于移动agent的计算跨越一定范围的基于异构M AS的计算领域。
(2)新的或其他已存在的M AS可以被很容易的实现互用性通过。进一步专攻PMAL来获得新的互用性移动agent的低层部分;为这样的MAS开发移动agent桥。通过包装agent,对平台独立代码的复用是很容易的。
[1]Braun P,Rossak W R.Mobile agents-basic concep t,mobility models and the tracy toolkit[M].San Francisco:Mo rgan Kaufmann Publishers,2005.
[2]Karnik N M,Tripathi A R.Design issues in mobile-agent p rogramming system s[J].IEEE Concurrency,1998,6(3):52 -61.
[3]Pinsdo rf U,Roth V.Mobile agent interoperability patterns and p ractice[C].Proceedingsof 9th Annual IEEE Int’l Conference and Wo rkshop on the Engineering of Computer-Based Systems(ECBS),2002:238-244.
[4]Giancarlo Fo rtino.Achieving moble agent system interoperability through software layering[J].Information and Software Technology,2008,50:322-341.
(责任编辑:肖恩忠)
Research on the In teroperability of M AS
ZHOU A-lian
(Yantai Vocational College,Yantai264003,China)
Interoperability is a key issue fo rmobile agent system s(MASs)in heterogeneousand open distributed environments w here agentsm ust interact w ith non-homogeneous agents and traverse different agent p latform s to access remote resources.To date,w hile several app roaches have been p roposed to deal w ith different aspects of MAS interoperability,they all lack the necessary flexibility to p rovide an adequate degree of interoperability among the currently available MASs.In this paper,we p ropose a high-level app roach grounded in the softw are layering concep t,w hich enables execution,migration and communication interoperability between Java-based mobile agent system s.Thisapp roach overcomes the sho rtcomings of the available solutions.Mo reover security remains under the control of specific mechanism s of the MASs w hich are made interoperable.
mobile agent system,interoperability,software layer,agentmodel,p roxy-based communication
2010-01-26
周阿连(1979-),女,山东烟台人,烟台职业学院信息工程系讲师,硕士。研究方向:数据库、人工智能。
TP311 文献标识码:A 文章编号:1671-4288(2010)02-0050-04