没有合适的资源?快使用搜索试试~ 我知道了~
首页jade平台下的多agent应用指南
资源详情
资源评论
资源推荐
JADE 程序员指南
最近更新:2005 年 11 月 22 日。JADE3.3
作者:Fabio Bellifemine, Giovanni Caire, Tiziana Trucco (TILAB,原来的CSELT)
Giovanni Rimassa (帕尔马大学)
目录
1 简介 4
2 JADE 特点 6
3 使用JADE创建多AGENT系统 7
3.1 Agent平台 7
3.1.1 FIPA-Agent-Management本体 8
3.1.1.1 本体的基本概念 8
3.1.2 简化的API来访问DF和AMS服务 9
3.1.2.1 DF服务 9
3.1.2.2 AMS服务 9
3.2 Agent类 10
3.2.1 Agent生命周期 10
3.2.1.1 启动agent执行 11
3.2.1.2 停止agent执行 11
3.2.2 交互agent的通信 11
3.2.2.1访问私有消息队列. 12
3.2.3 具有图形用户界面(GUI)的Agent 12
3.2.3.1 Java GUI并行模式 12
3.2.3.2 对应一个GUI事件执行一条ACL消息交换 13
3.2.3.3 当一条ACL消息被接收时修改GUI 14
3.2.3.4 支持构建在JADE里能够使用agents的GUI 15
3.2.4 具有参数的agent和如何启动agent 18
3.3 Agent通信语言(ACL) 消息 18
3.3.1 支持响应一个消息 18
3.3.2 支持Java序列化以及发送字节序列 18
3.3.3 ACL编码器 19
3.3.4 消息模板类 19
3.4 agent任务. 实现Agent行为 20
3.4.1 Behaviour类 22
3.4.2 SimpleBehaviour类 23
3.4.3 OneShotBehaviour类 23
3.4.4 CyclicBehaviour类 23
3.4.5 CompositeBehaviour类 23
3.4.6 SequentialBehaviour类 23
3.4.7 ParallelBehaviour类 24
3.4.8 FSMBehaviour类 24
3.4.9 SenderBehaviour类
3.4.10 ReceiverBehaviour类
3.4.11 WakerBehaviour类 24
3.4.12 范例 24
3.4.13 在一个专用的Java线程里执行行为 27
3.5 交互协议 28
3.5.1 AchieveRE(Achieve Rational Effect) 29
3.5.1.1 AchieveREInitiator 30
3.5.1.2 SimpleAchieveREInitiator 30
3.5.1.3 AchieveREResponder 31
3.5.1.4 SimpleAchiveREResponder 31
3.5.1.5 使用这两个通用的类来实现一个具体的FIPA协议的范例 31
3.5.2 FIPA-Contract-Net 32
3.5.2.1 ContractNetInitiator 32
3.5.2.2 ContractNetResponder 33
3.5.3 FIPA-Propose 33
3.5.3.1 ProposeInitiator 33
3.5.3.2 ProposeResponder 34
3.5.4 FIPA- Subscribe 34
3.5.4.1 Subscription Initiator 35
3.5.4.2 Subscription Responder 36
3.5.4.2.1 Subscription 36
3.5.4.2.2 Subscription管理器 36
3.5.5 交互协议的一般状态 36
3.5.5.1 HandlerSelector类 36
3.5.5.2 MsgReceiver类 37
3.6 应用程序定义的内容语言和本体 37
3.7 支持Agent可移动性 37
3.7.1 支持agent可移动性的JADE API 37
3.7.2 JADE可移动性本体. 38
3.7.3 为agent移动性访问AMS 39
3.8 从外部Java应用程序使用JADE 41
4 一个AGENT系统范例 43
5 缩写语列表 44
1 简介
这篇程序员指南是管理员指南和 HTML 文档的补充,HTML 文档在 jade/doc 目
录下。如果这篇指南 HTML 文档有冲突,以 HTML 文档为准,因为 HTML 文档更
新的更快。
JADE(Java Agent Development Framework)是一套软件开发框架,目的在于
开发多 agent 系统以及遵循 FIPA 标准的智能 agent 应用程序。它包括两个主要部分:
一个遵循 FIPA 的 agent 平台和一个开发 Java agent 的软件包。JADE 是完全用 Java
编写的,要使用这个框架,agent 程序员应该遵守这篇程序员指南描述的规范,用
Java 编写他/她的 agents。
这篇指南假设读者已经熟悉 FIPA 标准
1
,至少熟悉 Agent 管理规范(FIPA
no.23), Agent 通信语言以及 ACL 消息结构(FIPA no.61)。
JADE 是用 Java 语言编写的,是由各种 Java 包组成的,这些软件包为应用程序员
提供了现成的函数和抽象接口,独立的应用程序。选择 Java 作为编程语言是因为
它具有很多有吸引力的特点,尤其是适合在分布式异类环境下的面向对象编程;其
中的一些特点是对象序列化,API 映射和远程方法调用(RMI)。
JADE 主要由如下包组成。
jade.core实现了系统的核心。它包括必须由应用程序员继承的Agent类;除此
之外,Behaviour类是包含在jade.core.behaviours子包里。行为实现了一个agent的任
务或者意图。他们是逻辑上的活动单元,能够以各种方式组成来完成复杂执行模式,
并且可以并行执行。应用程序员通过编写行为和使它们相互连接的agent执行路径
来定义agent操作。
jade.lang.acl子包可以根据FIPA标准规范来处理Agent通信语言。
jade.content包含了一些类来支持用户定义的本体和内容语言。有一个单
独的指南来描述如何使用JADE来支持消息内容。特别地,
jade.content.lang.sl包含了SL编码
2
,既有解码器也有编码器。
jade.domain包含了由FIPA标准定义的描述Agent管理实体的所有Java类,尤其
是AMS和DF agents,它们提供生命周期,白页服务,黄页服务。
jade.domain.FIPAAgentManagement子包包含了FIPA-Agent-Management本体和所有
描述它的概念的类。 jade.domain.JADEAgentManagement包含了为Agent管理
的JADE扩展(例如为了监测消息,控制agents的生命周期等等),包括本体和所有
描述它的概念的类。jade.domain.introspection包含了用于在JADE工具(例如监测器
和检查器)与JADE内核之间交互域的概念。jade.domain.mobility包含了全部用于通
信有关移动性的概念。
jade.gui包含了一套通用的创建图形用户界面(GUIs)以显示和编辑
AgentID,Agent描述,ACL消息(ACLMessages)的类。
jade.mtp包含了一个每个消息传输协议都应该实现的Java接口,这样就可以
容易地与JADE框架,这些协议的实现集成。
jade.proto包含了一些用来构造标准交互协议(即fipa-request, fipa-query,
1
详见 http://www.fipa.org/
2
参考 FIPA no.8 文档有关 SL 内容语言的规范
fipa-contract-net, fipa-subscribe以及其他一些由FIPA定义的协议)的类,以及一些
帮助应用程序员创建他们自己协议的类。
FIPA包包含了为基于IIOP消息传输由FIPA定义的IDL模块。
最后,jade.wrapper包提供了JADE高层函数的封装,这些函数允许把
JADE作为一个库使用,外部的Java应用程序可以启动JADE agents和agent容
器。(见3.8节)。
JADE和某些简化平台管理和应用程序开发工具绑定在一起。每个工具都包含
在jade.tools里一个独立的子包。通常,可使用如下工具:
远程管理Agent(Remote Management Agent,简写RMA),作为一
个平台管理和控制的图形控制台。RMA的首个实例能够以命令行选项(“-
gui”)开始,但是可以启动超过一个GUI。JADE通过在多RMAs中简单地
多点传送事件给它们来维护一致性。而且,RMA控制台可以启动其他JADE
工具。
虚拟Agent(Dummy Agent)是一个监测和调试工具,由图形用户界面
和内在JADE agent组成。使用GUI,就可以构成ACL消息,然后把它们发
送给其他agents;还可以显示全部已发送或者已接收的ACL消息列表,这
些消息以时间戳信息结束,可以允许agent对话记录和排演。
监测器是一个可以在ACL消息传递时截取它们并使用类似UML顺序图的符
号图形化地显示它们的agent。它在调试你的agent时非常有用,可以观
察它们如何交换ACL消息。
检查器是一个允许监测一个agent生命周期,它所交换的ACL消息以及执
行时行为的agent。
DF GUI是一个完全的图形用户界面,被JADE的默认目录服务器
(DF,Directory Facilitator)以及用户可能需要的每个其他的DF所使用。
以这样一种方式,用户可能创建一个黄页的域或者子域的复杂网络。GUI
允许以一种简单和直观的方式控制一个DF的知识库,把一个DF与其他DF
联合起来,以及远程控制(注册/注销/修改/搜索)上层DF和下层DF(实现
了域和子域的网络)的知识库。
日志管理Agent是一个可以设置运行日志信息的agent,例如在日志层次,
针对JADE和应用程序具体指明的使用Java日志的类。
套接字代理Agent(SocketProxyAgent)是一个简单的agent,做为一
个在JADE平台和平常的TCP/IP连接之间的双向网关。遍历了JADE所拥有
的传输服务的ACL信息被转化成简单的ASCII字符串,通过套接字连接被发
送出去。Viceversa,ACL消息经过TCP/IP连接,通过隧道技术传给JADE平
台。这个agent非常有用,例如,要处理网络防火墙或者向平台交互提供在
网络浏览器中的Java applets。
JADE
TM
是由CSELT
3
注册的商标。
3
3
从 2001 年 3 月起,公司的名字改为 TILab
剩余53页未读,继续阅读
liuyatao_
- 粉丝: 3
- 资源: 12
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- 2022年中国足球球迷营销价值报告.pdf
- 房地产培训 -营销总每天在干嘛.pptx
- 黄色简约实用介绍_汇报PPT模板.pptx
- 嵌入式系统原理及应用:第三章 ARM编程简介_3.pdf
- 多媒体应用系统.pptx
- 黄灰配色简约设计精美大气商务汇报PPT模板.pptx
- 用matlab绘制差分方程Z变换-反变换-zplane-residuez-tf2zp-zp2tf-tf2sos-sos2tf-幅相频谱等等.docx
- 网络营销策略-网络营销团队的建立.docx
- 电子商务示范企业申请报告.doc
- 淡雅灰低面风背景完整框架创业商业计划书PPT模板.pptx
- 计算模型与算法技术:10-Iterative Improvement.ppt
- 计算模型与算法技术:9-Greedy Technique.ppt
- 计算模型与算法技术:6-Transform-and-Conquer.ppt
- 云服务安全风险分析研究.pdf
- 软件工程笔记(完整版).doc
- 电子商务网项目实例规划书.doc
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论5