摘要文章探讨了XML在多Agent系统中的应用。利用Java实现包含XML对象的Agent称为XMLAgent,它允许应用程序接收、发送和携带XML文档,可以将逻辑和数据封装在一起从一个节点移动到另一个节点,XMLAgent能够智能地保存、查询、交换信息。它为解决Agent间的通信提供了一种新的思路。

关键词AgentXMLJava

近年来,人们对多Agent系统的研究正越来越深入,已开始利用多Agent系统构建智能搜索引擎和灵活的电子商务系统。其中,如何有效地提高Agent间的协作和通信是系统的一个难点。

1Agent理论

和GUI技术一样,Agent技术的应用将会十分普遍,如今它正日益引起人们的研究兴趣。简单地讲,Agent可被看成是运行在计算机上的一个软件程序。它具有以下几方面的特征:

?Agent是一类自治实体。

一个自治实体的计算机程序是指它能依据自己的规则运行,并能初始化自身的操作。

?Agent具有通信的能力。

Agent之间应能互相通信,发送信息。

?Agent具有目标和意图。

Agent具有一定的功能。因此,它具有实现的目标,在这个意义上,它具有实现其目标的意图。

?Agent具有知识。

Agent为了实现目标,它必须具备实现自身目标的一些知识。

?Agent具有智能。

Agent具有一定的智能,能自主地适应环境的变化,通过学习来提高自身能力。

2XMLAgent

XML以其良好的数据存储格式、可扩展性、高度结构化、便于网络传输等特点,已经被业界倡导作为电子商务的通用描述语言。XML提供了丰富的语法来存储数据、携带数据和交换数据,能方便地在独立的平台之间交换数据和针对特定的应用定义自己的标记语言。

在Java2平台里,增加了处理XML文档的API函数—CommonDOMAPI和SimpleAPIForXMLParsing(SAX)等,它符合W3C提供的文档对象模型(DOM—DocumentObjectModel)等接口规范。

因为Java的安全性和可移植性,Java简化了Agent的开发,Java字节码能够在任何具有Java虚拟机的硬件环境和操作系统平台上运行。

Agent采用Java实现并且包含XML对象因此称为XMLagent。它具有以下特征:智能性,通用、简单的数据交换等。XMLAgent将逻辑和数据封装在一起,在网络间移动,能在具有Java运行环境的目的节点直接处理。

3分布式多Agent系统的结构

根据其是否移动,XMLAgent可简单地分为:移动XMLAgent,固定XMLAgent(本地和远程)。Java包包含很多类,我们可以对其进行扩展增加Agent通信时的智能性。

在分布式系统中,应用程序分布于网络的不同计算机上。当Agent移动到目的节点时,它会携带自身的程序、数据和状态一起移动,这是与CORBA、DCOM等分布式计算解决方案的主要区别。CORBA和DCOM提供了分布式对象相互通信的方法标准,规定了组件和应用程序如何建立在一个分布的有组织的体系结构里,依据其标准能构建复杂的分布对象应用。将这些标准与XMLAgent结合起来,在具体的开发中将十分有用。

3.1系统的描述

在多Agent系统中,我们采用FIPAACL通信语言。为了实现Agent间的协作,我们使用XML来对Agent请求、提供的服务进行描述。分布式多Agent系统的结构如图1所示:

图1分布式多Agent系统的结构

用户通过接口Agent能够进行注册,给出反馈,查看信息,创建Agent,查看结果以及系统的状态、性能等。通过调度Agent通过AgentServer选择合适的Agent执行服务请求。DBAgent能够从数据库中接收具体的控制信息。

固定Agent(DBAgent)管理各数据库的状态,当需要时就调用它们。固定Agent接收和转换来自于移动Agent的请求。我们可以认为固定Agent涉及各数据库的本地字典,而移动Agent涉及到了全局字典。这样,固定Agent通过接收、执行移动Agent传送过来的请求最终完成应用程序之间的协作。移动Agent从一个节点移动到另一个节点,通过与固定Agent交换信息(发送和接收XML信息),实现服务请求。固定Agent和移动Agent都是用包含XML对象的Java实现的,即所谓的XMLAgent。

3.2通信框架

在多Agent系统中,Agent间的通信采用ACL通信语言。我们使用多层的ACL通信语言:一个外部的“Agent交互协议”AIP层和一个内部的内容体层。AIP层提供了一个可扩展的原语集,它能控制Agent间的基本交互。另外,原语集并非闭集,实际应用中设计者能对其进行扩展以满足通信的能力。为了实现目标,我们可使用如下原语,如表1所示:

Requiredperformatives:RequestReplyError

Additionalperformatives:InformFailureUnderstand

表1原语

AIP描述Agent的交互过程,如信息的交换过程,它允许通过不同的系统组件解决问题。每个AIP组件既能进行全局处理也能进行局部处理。移动Agent检索可用的应用程序来执行服务,当初始服务失败时,它应能提供必要的反馈结果。它携带自身的程序,数据与本地的应用程序通信。而本地处理的过程是由固定Agent以分布的方式实现的。因此,全局问题的解决过程和本地问题的解决过程是可以相互独立修改的。

在应用中,我们首先根据需要使用DTD(文档类型定义)定义Agent通信信息的XML文档模板,然后将具体的XML文档嵌入到FIPA-ACL框架的内容体中,ACL可被称为XML-ACL。

由于XML描述数据和元数据的能力,Agent能够十分容易地理解基于XML的描述信息。FIPAXML-ACL格式请求信息的例子如下:

(request

:senderMobileAgent

:receiverStaticAgent

:languageXML

:interaction-protocolagent-request

:ontologyagent-management-ontology

:content<?xmlversion =”1.0”>

register

StaticAgent

null

Request-inform

Hello!

default

)

CORBA,DCOM等标准和方法都是为了解决分布对象应用问题的,能确保应用程序交换数据并能跨平台的远程调用。

把这些标准和XMLAgent技术结合起来,将极大地提高系统的可扩展性和智能性。

4结论

随着分布式应用程序的增多和Agent技术的兴起,人们研究的难点大多集中于应用程序的交互和Agent间的协作上,我们探讨了XML在多Agent系统中的应用,为解决此问题提供了新的思路。

5参考文献

[1]FIPA.FIPAInteractionProtocolLibrarySpecification./specs/fipa00025/XC00025D.html[J/OL],2001

[2]殷兆麟等.Java网络编程[M].国防工业出版社,2001

[3]FIPA.FIPAACLMessageStructureSpecification./specs/fipa00061/[J/OL],2001

[4]DistributedCommonObjectModel

,2002

[5]黄理,曹林有等.全面引爆XSP网站开发——XSP/Cocoon/XML核心技术内幕[M].北京希望电子出版社,2002.

计算机毕业论文框架介绍重复,计算机毕业论文:ML在多Agent系统中的应用相关推荐

  1. 计算机专业自我介绍结尾,计算机专业面试自我介绍怎么结尾

    计算机专业面试自我介绍怎么结尾 现在大专毕业生因为实际操作优势越来越被企业所青睐,现在和大家分享一个计算机专业学生面试自我介绍. 计算机专业自我介绍. 回顾大学三年,通过良师的教导和自身的刻苦学习,我 ...

  2. 计算机基础知识介绍pdf,计算机基础知识整理.pdf

    <计算机基础知识整理.pdf>由会员分享,提供在线免费全文阅读可下载,此文档格式为pdf,更多相关<计算机基础知识整理.pdf>文档请在天天文库搜索. 1.全国计算机一级 b ...

  3. xp系统打开计算机硬盘分区,如何对XP硬盘进行分区? xp系统中的硬盘分区方法...

    用户购买新计算机时,经常会遇到计算机硬盘分区问题. 通常情况下,XP系统用户对默认硬盘分区不是很满意. 如今,有一些工具可以直接对硬盘进行分区,但是大部分用户不知道如何使用它. 那么,我们可以在不使用 ...

  4. 计算机发展历史介绍英文版,计算机发展历史英文PPT The history of computer

    <计算机发展历史英文PPT The history of computer>由会员分享,可在线阅读,更多相关<计算机发展历史英文PPT The history of computer ...

  5. 计算机专业本科开题报告,计算机本科毕业论文开题报告

    计算机专业的学生也由之前对计算机的好奇.兴趣而感觉空虚,就业形势严峻.为此我们更要引导好学生,要让他们真正地学习到计算机科学.下面是小编为大家整理的计算机本科毕业论文,供大家参考. 计算机本科毕业论文 ...

  6. 湘潭计算机职业技术学校专业介绍,湘潭计算机职业技术学校介绍

    原标题:湘潭计算机职业技术学校介绍 湘潭计算机职业技术学校建立于1993年,是一所经湘潭市教育局批准创办的中等职业学校.学校教学区位于湖南省湘潭市九华经开区吉利西路28号,交通便利,环境幽雅.学校是一 ...

  7. 英语介绍计算机,计算机英语自我介绍

    计算机英语自我介绍 发布时间:2019-11-26 对于求职者来说,英语的自我介绍最好开门见山的切入到主题,因为毕竟是有时间限制的.而且对于英语不怎么样的朋友来说,用英语自我介绍也是一种挑战.接下来第 ...

  8. 学计算机主修,大学计算机专业自我介绍(精选5篇)

    大学计算机专业自我介绍(精选5篇) 当来到一个陌生环境中,时常要进行自我介绍,用自我介绍往往可以让他人有一定的了解.如何写出一个与众不同的自我介绍?下面是小编帮大家整理的大学计算机专业自我介绍(精选5 ...

  9. 计算机如何自我介绍教程,2020计算机专业自我介绍4篇

    <2020计算机专业自我介绍4篇>由会员分享,可在线阅读,更多相关<2020计算机专业自我介绍4篇(6页珍藏版)>请在人人文库网上搜索. 1.2020计算机专业自我介绍4篇本文 ...

最新文章

  1. ALDownloadManager 基于Alamofire封装的下载器
  2. Web 静态文件版本升级代码
  3. dubbo图形化界面搭建_使用 JMeter 进行 Dubbo 性能测试
  4. 2019 最烂密码排行榜大曝光!网友:已中招!
  5. 经典领导选举算法:Bully 算法
  6. Linux jdk 环境变量配置
  7. 给定一段IP地址172.18.18.128/26,试为该网络做一个IP地址规划,要求开 发室1、开发室2以及制造部各为一个VLAN。
  8. Sigmastar平台_锐化调试思路
  9. 踩坑NVIDIA Jetson TX2、Ubuntu16.04、ROS Kinetic安装
  10. 大数据系列(一)之hadoop介绍及集群搭建
  11. gg修改器偏移量修改_烧饼修改器地址偏移计算器功能使用说明
  12. 深度CTR之AFM:基于Attention网络的FM模型
  13. 小程序仿朋友圈、表白墙应用实现简单的发表功能
  14. 2020年第十一届蓝桥杯A组省赛
  15. vue3 baseCss 初始化
  16. VC++2010组件安装失败解决办法
  17. ue4 项目模板_Unreal 学习和使用UE4的第二步——创建项目和模板试玩 - 游戏编程 ️...
  18. linux测试ftp上传速度,Linux通过trickle对FTP Client限速
  19. Python_xlwings小技巧(range,带格式复制粘贴)
  20. 宋晓丽20190919-4 单元测试,结对

热门文章

  1. 一周搞定期末考系列之《算法分析与设计》
  2. 【Golang面向对象编程-第一节】
  3. 智能网卡-提升网络性能的新选择
  4. JS中‘${}‘什么意思
  5. 计算机管理里面的用户名是否可以导出,360浏览器管理保存过的账号和密码步骤教程...
  6. 程序员都该看的剧——《恋爱的犀牛》剧评
  7. 文章评论回复的设计思路
  8. JavaScript 国庆倒计时小案例
  9. 【C++】类和对象1:初识类+this指针
  10. python实现月食效果实例代码