JADE学习笔记1:JADE简介与配置

来源:互联网 发布:移动工作站推荐 知乎 编辑:程序博客网 时间:2024/05/29 16:27

1.1 JADE简介

JADE(Java Agent Development Framework)是一套软件开发框架,目的在于开发多Agent 系统以及遵循FIPA 标准的智能agent 应用程序。

1.1.1 关于Agent

Agent,是代理的意思,在这里指智能体。Agent本质上时一类特殊的软件构件,这种构件是自主的,它提供与任意系统的接口,类似人类行为,按照自己的规划为一些客户端提供应用服务。
区别与其他事物,Agent的特征主要包括自主性、主动性和通信能力。基于自主性,它们能独立执行复杂的、长期的任务;基于主动性,它们可以主动执行赋予的任务;基于通信能力,Agent可以与其他实体进行交互,协作实现自身和其他实体的目标。
科学界已经对Agent技术进行了多年的讨论和研究,但最近它才在商业领域得到一些具有标志意义的作用。多Agent系统应用日益广泛,从较小的个人辅助系统,到大型开放的、复杂的、工业应用的关键业务。多Agent系统得到成功应用的工业领域包括过程控制、系统诊断、控制、运输物流和网络管理等。

1.1.2 FIPA标准简介

FIPA是1996年建立的,作为一个国际性非营利组织,它主要负责制定和软件Agent技术相关的一系列标准。FIPA标准提出的核心观念是Agent通信、Agent管理和Agent体系结构。这里简单介绍,之后用到在具体说明。
1)Agent通信。Agent之间是使用Agent通信语言(ACL)进行交互的。FIPA-ACL是基于言语行为理论的,强调消息代表了一种行为或者说通信行为,同时,根据消息的目的、表达方式等不同,定义消息行为有通知、请求、同意、拒绝等,其涵盖了基本通信中最常用的行为方式。
2)Agent管理。Agent管理框架中,兼容FIPA的Agent是可以存在、进行操作和有效管理的,其为Agent的创建、注册、定位、通信、迁移和操作建立了逻辑参考模型。
3)抽象体系结构。抽象体系结构允许建立具体实现,同时提供它们之间的互操作机制,包括传输和解码的网关转换。这种结构详细定义了ACL消息结构、消息传输、Agent目录服务,并将目录服务指定为强制性的服务。

1.1.3 JADE简介

JADE是基于Java 语言的Agent开发框架,是由TILAB 开发的开放源代码的自由软件。JADE是多Agent开发框架,遵循FIPA规范,它提供了基本的命名服务,黄业服务,通讯机制等,可以有效地与其它Java开发平台和技术集成。 JADE架构适应性很强,不仅可以在受限资源环境中运行,而且与其他复杂架构集成到一起,比如:Net和Java EE。它包括一个Agent赖以生存的运行环境,开发Agent应用的类库和用来调试和配置的一套图形化的工具,简化了一个多Agent系统的开发过程。
JADE主要由3部分组成: 智能体赖以生存的一个运行时环境;程序员用来开发智能体应用的一个运行时库 ;一系列图形工具,帮助用户管理和监控运行时智能体的状态 。
JADE网站:http://jade.tilab.com。这个网址中提供了JADE的下载软件以及API帮助文档、实例代码和使用方法等大量有用信息。也可以在下载后的jade/doc/index.html中查找相应的文档。

1.1.4 JADE核心功能

1)提供了在固定和移动环境中实施分布式点对点应用的基本服务。
2)允许Agent动态的发现其他Agent以及与其他Agent通讯。为了适应复杂对话,JADE提供了一系列执行特定人物的交互性为的典型框架,比如协商,拍卖,任务代理等(用Java抽象类来实现)。消息内容可以在xml和rdf格式间互相转换。
3)通过认证和为Agents分配权限实现安全机制。
4)简单有效的Agent生命管理周期。
5)灵活性强,用Java线程实现多任务。
6)提供命名服务和黄页服务。
7)支持图形化调试和管理/监控工具。
8)整合各种基于Web的技术,包括JSP、servlets、applets和Web服务技术等。

1.2 JADE结构

1.2.1 Agent平台

由FIPA定义的标准agent平台模型,如下图所示:
一个FIPA标准Agent平台的参考结构

Agent管理系统(Agent Management System,简称AMS),负责控制平台内Agent的活动、 生存周期及外部应用程序与平台的交互,Agent的身份标识包含在Agent标识符AID中。
目录服务器(Dilectoly Facilitatol,简称DF),负责对平台内的Agent提供黄页服务,注册服务类型以供查找。
消息传输服务(Message Transport System,简称MTS),是Agent平台提供的一种服务,主要是用来在指定的不同Agent平台上的Agent之间传递FIPA-ACL消息。

1.2.2 JADE体系结构


JADE平台由分布在网络上的若干个Agent容器组成。Agent生存与容器(Container)中,容器是提供JADE运行支撑和管理执行Agent所需服务的Java进程。其中有一个是主容器,它是一个平台的切入点。它必须是第一个启动的容器,并且其他所有容器必须通过与其注册来加入到主容器中。
当主容器启动时,由JADE同时启动两个特殊Agent自动实例化。一个是Agent管理系统AMS,监督整个平台运行的Agent。另一个是目录服务器DF,用于实现黄页服务。

1.3 JADE环境配置

1.3.1 下载

下载jade,下载站点为jade官网。安装前需安装好jdk并配置好环境变量。

1.3.2 配置

右击计算机->属性->高级系统配置->环境变量->CLASSPATH中添加JADE-bin-4.4.0文件夹中存放的jar文件的路径,这里只有jade.jar这一个架包,我的添加的是 D:\Program Files(x86)\java\JADE\bin\lib\jade.jar ,注意如果原先CLASSPARH最后面没有英文分号,记得添加英文分号 ; 添加完之后点击三下确定即可。

1.3.3 验证是否成功

点击WIN(键盘的窗口图标)+R,输入cmd,点击确定,打开命令提示符,输入 java jade.Boot -gui ,弹出JADE Remote Agent Management GUI(以后为了方便,统称为:GUI管理器)窗口如下图,则表示配置成功。
JADE RMA图形界面

如图所示,命令行启动JADE主图形界面。GUI实际上由一个称为远程监控代理(Remote Minitoring Agent,简称RMA)的JADE系统Agent提供,平台管理员可以通过它来操作和监控运行平台。主容器Main-Container下的三个服务分别是RMA、AMS与DF(见1.2.2)。当运行其他Agent时,名称也会在这儿显示。