??xml version="1.0" encoding="utf-8" standalone="yes"?>
***
Q?*大学|络计算实验?/span>Q?/span>
伴随着WEB服务技术的出现Q不同应用系l之间的集成变ؓ现实。遵循松耦合的结构模型以及公共服务调用规范,WEB服务技术得异构系l之间的集成问题变得更容易。但是,如何实现WEB服务的自动发玎ͼl合Q调用等一pd问题急需q一步研I。Y?/span>Agent技术以其自w的优点Q被q泛视ؓ一U解决上q相关问题的良药。不q的是,WEB服务技术与Agent技术都是各自遵循相应的规范和标准发展v来的Q不仅体pȝ构不相同,通信协议也完全不同。因此,WEB服务?/span>Agent技术的集成问题备受业界x?/span>
本h的研I关注的?/span>WEB服务技术与Agent技术集成众多方面中的一个,卛_何将一个具有移动性质的Y?/span>Agent服务发布成一?/span>Web Service。除非特别申明,否则下文所指的Agent即ؓhUd性质的Y?/span>Agent?/span>
q个领域的研I工作主要有Q?/span>
文献?/span>1】里提出了一U?/span>WEB服务与遵?/span>FIPA规范?/span>Agentpȝ之间的集成架构徏议?br />
图表 1 WEB服务?/span>Agent集成架构
从图中我们可以看出,一?/span>FIPA Agent 服务?/span>WEB服务|关在两个环境的边界Q通过?/span>ACL消息转换?/span>WEB服务调用Q?/span>FIPA Agent可以讉KWEB服务。相反的另一方,WEB服务?/span>FIPA Agent|关?/span>Agent服务注册?/span>UDDI注册服务器中Q方便其?/span>WEB服务客户端调用?/span>
或许是受Cq个集成架构的启C,两个先锋l织分别设计q实C集成架构中的两个重要斚w问题Q文献?/span>2】能够让Agent调用现有?/span>WEB服务Q文献?/span>3】能够将Agent发布?/span>WEB服务。文献?/span>3】的软g实现产品WSAIQ?/span>Web Service Agent IntegrationQ从W一个版本便被开放ؓ开源项目?/span>
本h的研I方向和文献?/span>3】相同,卛_Agent所提供的服务发布ؓWEB服务。经q分?/span>WSAI的理论方法及技术方法发玎ͼ发现由如下不的地方Q?/span>
1、仅局限于静态的AgentQ不能解?/span>AgentUd后,WEB服务的可用性,限制?/span>Agent的最大特?/span>-Ud性?/span>
2、限?/span>JADE Agentpȝq_Agent单线E的Ҏ,使得Agent异步、有状态通信?/span>WEB服务的通信模型不能很好的集成?/span>
3、被发布?/span>WEB服务?/span>Agent仅仅局限于遵@FIPA Agent规范?/span>Agent。事实上Q?/span>Agent界有主要有两大规范,其一?/span>FIPAl织制定的,其二?/span>OMGl织下的Agent组?/span>
4、从技术的角度ԌWSAI设计的网关以?/span>WSDL接口均需要开发h员手工安装、编写,未实现自动化?/span>
鉴于以上U种不Q本人希望在WSAI的基上,提出一U更健壮、支持面更广的,能将Agent发布?/span>WEB服务的框架?/span>
图表 2 Agent?/span>WEB服务集成框架
Agent?/span>WEB服务集成框架的核心是WAGQ?/span>Web Service Agent GatewayQ,它负责将Agent发布?/span>WEB服务。?/span>WAG的实际工作全部由GAQ?/span>Gateway AgentQ来承担。初步设计的GA主要l构如下图所C:
在接下来的时间里Q这一部分的主要工作包括:
描述?/span>WEB服务客户端调用开始,到调用目?/span>Agent服务后,最l返回结果的整个q程?/span>
当目?/span>Agent发生Ud以后Q该机制负责WEB服务的可用性,也即WEB服务调用可达到目?/span>Agent服务?/span>
负责接收来自WEB服务客户端的调用Qƈ其SOAP消息转换?/span>JAVAcȝWeb Service接口。此外,所有的AG在该引擎中注册?/span>SOAP引擎可采用现有的开源项目?/span>
负责AG的加载,q发布ؓWeb服务或者将AG?/span>UDDI注册中心中注册?/span>
接下来的研究工作围l?/span>WAG的几大组件展开。目前暂时设计了整体框架l构Q当焉着研究工作的进一步深入,现有框架的结构需要进一步完善?/span>
【?/span>FIPA specification. http://www.fipa.org/specifications/index.html
【?/span>Sommers, Frank: Publish and find UDDI tModels with JAXR and WSDL
【?/span>Agenticities Web Services Working Grroup. Integrating Web Services into Agentcities Technical Recommendation, Http://www.agentcities.org/Srec/00006/
【?/span>Globus Alliance, IBM, and HP,”Web service Resource Framework”, http://www.golubs.org
【?/span>Whitestein Information Techology Group. Web service agent Integration Project
http://wsai.sourceforge.net/index.html
【?/span>Thang Xuan Nguyen. WS2JAE: Integrating Web Service With Jade Agents.
Q?*大学**实验室,**
Q?/span>
摘要Q?/span>
Ud
Agent
q_的异构性,使得不同q_间难以实行互操作。文章浅层次的分析了Ud代理pȝ互操作性有关的
CORBA
Q?/span>
MASIF
?/span>
FIPA
规范?/span>
关键词:
Ud
Agent
Q互操作性,
CORBA
Q?/span>
MASIF
Q?/span>
FIPA
Ud Agent 是结合了 Agent 的一U新型分布计技术,׃它的性、移动性、自L和协作性,已在信息索、移动计、电子商务及|络理{方面得C定的应用。许多公司和研究机构都发布了各自的移?/span> Agent q_Q如 IBM ?/span> Aglets Q?/span> Dartmouth College ?/span> AgentTcl, Stuttgart University ?/span> Mole, ObjectSpace ?/span> Voyager {等。由于这些^台在体系l构和实C有较大差异,无法实现互操作,已成为限制移?/span> Agent q泛应用的主要原因之一。ؓ此, OMG l织已经开展有关移?/span> Agent 的标准化工作Qƈ提出Ud Agent 互操作机制标?/span> MASIF 。本文分析了在解决互操作问题上的相关技术?/span>
软g Agent是运行于动态环境的、具有高度自治能力的实体Q它能够接受其它实体的委托ƈZ服务。不隄出,软gAgent首先hҎ,它对环境有响应性、自L和d性;同时QY件Agentq具有社会特性?o:p>
自主?Autonomy)QY件Agent在运行过E中不直接由人或其它M控制Q它能在没有与环境相互作用的情况下自L行Q务,对自q行ؓ和内部状态有一定的控制权。自L是软gAgent区别于普通Y件程序的基本特征?o:p>
响应性(ReactivityQ:软gAgent能对来自环境的信息做出适当的响应,它能感知所处的环境Qƈ能通过自己的行为改变环境?o:p>
自动性(ProactivityQ:传统应用E序接受用户指o被动执行Q而Agent不仅能对环境变化做出反应Q更重要的是能在特定情况下采取主动行为?o:p>
推理性(ReasoningQ:软gAgent可根据已有的知识和经验,以推理的方式q行推理。Y件Agent的智能由3个主要部件来完成Q即内部知识库、自适应能力以及Z知识库的推理能力?o:p>
通信/合作/协作QCommunication/CooperationQ:q是在Y件Agent体中应该具有的C会属性?/span>
Ud Agent 技术是目前计算机科学领域中非常重要的研I技术之一。移动代理( Mobile Agent Q是一个代替h或其它程序执行某UQ务的E序Q它在异构网l环境中自主C一C到另一C机,q可以和 Agent 或其它Y件资源交互的实体?/span> UdAgent是一U特D类型的软gAgentQ它除了h软gAgent的基本特?自主性、响应性、主动性和推理性外Q还hUd性。在Udq程中能够根据要求挂P然后转移到网l的其它地方重新开始或l箋其执行,最后返回结果和消息Q代表用户完成指定Q务。由于移动Agent可以在异构Y、硬件网l环境中自由UdQ因此,q种新的计算模式能有效地降低分布式计中|络负蝲、提高通讯效率、动态适应变化的网l环境,q具有很好的安全性和定w能力?o:p>
全球性网lɾU上的所有设备和软g成ؓ全球׃n的浩瀚的资源Q计机环境也从集中式发展到分布式环境,开攑ּpȝ的发展用户能够透明地应用由不同厂商刉的不同机型不同q_所l成的异构型计算资源Q因此,分布式处理和应用集成自然而然地成Zh们的共同要求Q那么什么是分布式处理和应用集成呢?它们的功能和关键技术是什么呢Q简单地Ԍ分布式处理和应用集成是指在异构的、网l的、物理性能差别很大的、不同厂商的、不同语a的信息资源的基础上构Z息共享的分布式系l,q且能够有效地进行应用系l和分布式处理的集成。分布式处理的关键在于定义可理的Y件构Ӟ即面向对象技术中?/span> ?/span> 对象 ?/span> 。应用集成的关键在于q_、跨机种、跨~程语言的品提供统一的应用接口。OMGl织针对当今信息产业的要求,公布了CORBA标准Q即公共对象h代理体系l构QCommon Object Request Broker ArchitectureQ,q是一个具有互操作性和可移植性的分布式面向对象的应用标准?o:p>
CORBA的核心是对象h代理ORBQ它提供对象定位、对象激zd对象通讯的透明机制。客户发求服务的hQ而对象则提供服务QORB把请求发送给对象、把输出D回给客户。ORB的服务对客户而言是透明的,客户不知道对象驻留在|络中何处、对象是如何通讯、如何实C及如何执行的Q只要他持有Ҏ对象的对象引用,可以向该对象发出服务请求。CORBA允许用户以两U不同的方式提出对象hQ?o:p>
1Q静态调用:
通过l定接口的存根,在编译了对象代码后,q入客户端的E序。因此,静态调用必d~译时就知道对象及其cd?o:p>
2Q动态调用:
通过ORB的动态调用接口DIIQ在q行时生成访问对象的代码。不客户以哪一UŞ式提求,ORB的Q务是Q找出所要对象的位置Q激z该对象Q向对象传递此h。对象执行所h的服务后Q把输出D回给ORBQ然后再由ORBq回l客戗?o:p>
Ud代理技术和 CORBA 技术在许多斚w不同Q最显著的是 CORBA 采用对象一旦被分配׃直停留在固定位置直到它在 ORB 中注册,而移动代理可以动态、自d在执行期间移动?/span>
W二个不同点是移?/span> Agent 明确自己目前的位|,而且知道所需资源的位|,h丰富的信息来动态地军_q移。对 CORBA 来说Q当它回{客戯求时Q试N藏服务器对象的物理位|。很昄Q?/span> ORB 知道注册对象的分配,但是q个信息对客户和应用开发者来说是隐式的?/span>
另一个不同点在于融合性( diffusion Q, CORBA 拥有一个普遍被接受的规范,有许多的资源、系l和业务遵从q个规范。相反,Ud Agent 可编E范例的Ҏ导致生了各种不同的、不能互操作的代理^台?/span>
1. 然?/span> CORBA 与移?/span> Agent 技术的l合Q可以完全实现异构移?/span> Agent q_之间的互操作性。当 MASIF ?/span> FIPA 都采?/span> CORBA 作ؓ标准桥梁Ӟ可以克服两U规范之间的异构性?/span>
不同 Agent 之间的互操作性是使基于不同移动代理^台的商业化融合的关键因素。互操作性要求移动代理技术能够趋于规范化?/span> OMG 提出?/span> MASIF Q?/span> Mobile Agent System Interoperability Facilities Q规范,q是一个代理的互操作性标准,它是?/span> CORBA 体系中构建的Q支持代理的Ud和管理?/span> MASIF 的目标是不需要对现有各种代理q_q行大量的修改,而仅通过?/span> ”add-on?/span> 模块来扩展,以实现现存不同结构的Ud代理q_之间的互操作性?/span>
MASIF 提出对代理和代理pȝ命名、系l种cd位置语法的标准化?/span> MASIF 定义了两个标准架构: MAFAgentSystem ?/span> MAFFinder Q通过接口定义语言对它们的属性、操作和q回g了明的规定。前者定义对 Agent 的操作,包括接受、创建、挂起和l止 Agent 的执行,后者定义了 Agent 的注册(L册)以及 Agent ?/span> place ?/span> Agent pȝ的定位。这些接口在 Agent pȝ层上定义Q因?/span> Agent 只能在支持同c?/span> Agent ?/span> Agent pȝ间流动,无需?/span> Agent 的接口进行定义。?/span> MASIF 中定义的标准?/span> Agent 理操作实现 Agent 在系l间q行动。针?/span> CORBA 命名服务只支持静态对象的情ŞQ?/span> MAFFinder 则是必要的补充,它提供了动态的名址数据库接口?/span> MAFAgentSystem ?/span> MAFFinder 接口分别提供 15 ?/span> 9 个操作支?/span> Agent 的管理和名录服务?/span> OMG 的目标是使不同Y件开发商所开发的产品可以在一致的分布式对象环境下协同工作Q?/span> CORBA 对于 Agent pȝ的支持通过上述两类接口实现。基?/span> MASIF 标准的移?/span> Agent 分布式体pȝ构如?/span> 1 所C?/span>
?/span>
1
Z
MASIF
标准的移?/span>
Agent
分布式体pȝ?/span>
FIPA 明确了服务于代理与其他实体(理员、其它代理、非代理软g和物理世界)交互的不同组件的接口。因Z要涉及到代理领域Q?/span> FIPA 把重Ҏ在代理间通信的标准化问题上, FIPA 提出一个专门的代理通信语言Q?/span> Agent Communication Language Q?/span> ACL Q来解决遵从 FIPA 的所有代理之间的通信问题?/span>
FIPA 定义了ؓ代理q_服务的三U基本业务:代理理pȝQ?/span> Agent Management System,AMS Q?/span> Directory Facilitator(DF) 和代理通信信道 (Agent Communication Channel,ACC) ?/span> AMS 提供cM MAFAgentSystem 的管理功能,但是Q不同点在于 FIPA ?/span> AMS 不能解决在异构移动代理^C间代理的Ud问题?/span>
FIPA 代理可以为其它代理提供服务,而且它们的服务内容可以在|络黄页上通过 DF 搜寻到。在一个代理^CQ在 DF 中的注册是Q意的Q而在 AMS 中的注册则是必须的?/span>
ACC 能够促在同一个代理^C代理之间的通信Q也可以通过提供一个消息{发机制来使代理在异构q_之间通信?/span>
q_之间的互通性通过 CORBA ORB 的{发业务可以实玎ͼ?/span> CORBA 的结合对遵从 FIPA 的移动代理^台来说是必需的,代理的消息传递通过 CORBA IIOP 实现?/span>
因ؓ AMS ?/span> DF 业务提供cM?/span> MASIF MAFAgentSystem ?/span> MAFFinder 的功能,对于 FIPA 标准化的是提出通过一个共同用的 ACL 来实C理之间的通信?/span>
已经有h研究发现Q?/span> MASIF 制定的移?/span> Agent q_之间的互操作性,没有定义域间Ud Agent 的定位操作。对于移?/span> Agent q_之间的互操作斚wQ还有很多问题,有待研究Q解冻I完善。在接下来的两周里,着重对 MASIF ?/span> FIPA 的关于通信语言Q互操作规范q行研读Qƈ了解 CORBA 在解军_?/span> Agent q_斚w?/span> Solutions ?/span>
[1]
张颖江,吴珊
Ud代理在分布式计算中的应用和实现?/span>
[2]
偶晓娟,雷霖Q李建华
Ud代理互操作性研I?/span>
[3]
Ƨ阳晔,姜浩Q潘?/span>
Ud
Agent
域间发现机制研究?/span>
[4]
Object Management Group TC Document Orbos Mobile Agent System Interoperability Facilities Specification.
q两个星期以来,我所ȝ材料Q主要是关于
Agent
方向的。读了几综q性的文章Q对
Agent
概念和相关知识,有了初浅的认识。现先前读q的材料q行个回֒结Q?/span>
读过的文章如下:
Ud
Agent
pȝ的研I、移?/span>
Agent
研究、移?/span>
Agent
在分布式计算中的应用、移?/span>
Agent
lD、多
agent
协同pȝ的分布式数据讉K、基于多Ud代理的分布式协同控制研究、移动多
agent
在移动电子商务系l中的应用、移动代理在分布式计中的应用和实现?/span>
记录自己觉得比较重要的点Q?/span>
1
?/span>
Mobile agent
是一个代替h或其他程序执行某UQ务的E序Q它在异构网l环境中自主C一C到另一C机,q可以和
agent
或其他Y件资源交互的实体。移?/span>
agent
的基本特性:自主性(
autonomy
Q、响应性(
reactivity
Q、自动性(
proactivity
Q和推理性(
reasoning
Q外Q还hUd性。在Udq程中能够根据要求挂P然后转移到网l的其他地方重新开始或l箋其执行,最后返回结果和消息Q代表用户完成指定Q务?/span>
2
、分布式环境下,Z完成共同的目标,多个Ud
Agent
在自ȝ基础上需要相互协同、实时交互和通信Q它们之间既竞争又合作,表现L、社会性和动态性等属性。有兛_布式计算环境中多Ud
agent
的协同、交互和q行控制{问题的研究和实现方法很见?/span>
3 、移?/span> Agent 的效率很大程度决定于路由{略的优化。目前,在\q略中引入 Qos 是一个研I?/span> ?/span>
4
、移?/span>
Agent
天生具有分布式的特点,一个基于移?/span>
Agent
的应用由一l移?/span>
Agent
构成Q每一?/span>
Agent
Ҏ自n的目标和环境的状늧动到拥有计算所需资源的节点上q行计算。在q行计算时可能需要与其他
Agent
q行通信协作Q而整个计过E则可能会分成多个步骤进行,每一步完成之后,Ud
Agent
都将自主地决定下一步的动作Q直臛_d全部完成后才自动消亡?/span>
5
、移?/span>
Agent
技术,用户可以整个Q务而不是单个请求提交给多个
Agent
L行,q些
Agent
被发送到|上之后Q可以独立于发送它们的E序Q异步地、自d、协作地完成dQ它们的生命周期可以长于创徏它们的程序?/span>
6
、目前移?/span>
Agent
技术的研究热点包括Q将Ud
Agent
技术和已有实现pȝq行集成的集成框架研I、移?/span>
Agent
的编E模型的研究、移?/span>
Agent
的应用系l开发方法的研究{?/span>
7
、移?/span>
Agent
pȝ是一U中间gQ位于操作系l和应用E序之间Q封装了低层|络协议Q提供移动、通信、容错和安全{基本功能,开发h员无M解低层实现即可开发网l应用?/span>
思考的问题Q?/span>
1?span style="FONT: 7pt 'Times New Roman'">
Ud
Agent
易于定制个性化服务Q服务提供可以只提供一些基本的底层的服务,服务h者根据自q需求将高层的功能代码发送到服务提供者,实现个性化服务的定Ӟ增加了分布式应用的可伸羃性。定制服务和
Webservices
有什么区别?都可以采用哪些服务定制机Ӟ
2?span style="FONT: 7pt 'Times New Roman'">
通常情况下,一?/span>
MAE
Q?/span>
MA
环境Q只位于|络中的一CZQ但如果L间是以高速网l进行互联的话,一?/span>
MAE
也可以跨多C不影响整个pȝ的运行效率。一?/span>
MAE
也可以分布在不同机器上,来完成一U协作式?/span>
MAE
Q?/span>
3?span style="FONT: 7pt 'Times New Roman'">
Ud
agent
q移到网l目的节点,自主完成dQ执行结果异步返回,使得分布式用户可以不必持l在U联|,实现断箋的异步通信Q有效地节约了带宽。当
Agent
完成d之后Q通过转接机制Q?/span>
Docking
Q监视用h否在U,当它发现用户在线Ӟp回计结果。那么,?/span>
Agent
q回l果集时Q用LU时如何处理q些l果集呢Q?/span>
4?span style="FONT: 7pt 'Times New Roman'">
文章Q基于多Ud代理的分布式协同控制研究Q提刎ͼd{待队列Q?/span>
wait-list
Q是{待执行d的移?/span>
Agent
事务列表Q它与共享区中的工作片具有一一对应的关pR?/span>
Wait-list
中的Ud
Agent
事务Ҏ优先U降序排列;对具有相同优先的事务,Ҏ到达的先后顺序进行排列。移?/span>
Agent
调度lg每次?/span>
Wait-list
中取Z先最高的Ud
Agent
事务Q进入执行状态。移?/span>
Agent
׃n工作区里Q如果此旉要几?/span>
Agent
一起协作,优先U如何处理?
5?span style="FONT: 7pt 'Times New Roman'">
文章Q移?/span>
Agent
pȝ的研IӞ提到Q在一个网l节点失效之前,在其上工作的Ud
Agent
可以立即感知Qƈ完成相应的备份工作,然后Ud到其他节点,l箋原来的工作。只有原来的节点上才有所需要的资源Q如何应对呢Q尽移动到了其他节点上Q可没有执行所需要的资源Q这?/span>
Agent
q有作用Q?/span>
以上遇到的一些问题,昑־比较初。就M以上文章的感觉,Ud
AGENT
是个很大的方向,里面有很多东西可以挖Q可I竟要挖什么点Q还是没有头l,我想Q原因更多的可归lؓ文章q读的不够多Q资料还看的不够l致。所以,在接下来的时间里Q还需要大量的阅读相关资料。同Ӟ学习Ud
AGENT
Q需不需要掌握一些h工智能方面的知识Q此外,对于?/span>
3D image retrieval
”,q是没查到有价值的资料Q而对于“数据和文档理pȝ”,L觉很宽泛Q不知道I竟该怎么入手Q究竟是研究Q还是做实际的系l?模糊不清?/span>