云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 学习agent必备!最全的JADE程序员指南

学习agent必备!最全的JADE程序员指南

  • 62 次阅读
  • 3 次下载
  • 2025/5/6 11:49:02

JADE程序员指导

Jade集成开发环境是一个入门级的产品,但是它仍然拥有强大的功能。它提供的用户图形界面包含了大部分SUN SDK工具,可以方便的编辑源代码,生成一个类,执行一个java程序或java applet. Jade提供的高效率的功能可以让你为每个project生成单独的类模板,这个功能包括生成使用AWT或 Swing APIs对话窗口。Jade可以使用Sure shot的Jive Lint支持静态代码检查,同时也提供了入门级的调试功能。新版本提供了如下功能:允许用户在XML编辑器中调用用户提供的函数;方法定位(method location)采用了树形视图。

1 简介

程序员指南由管理员指南作为补充,在jade/doc目录下可以找到可用的HTML文档。如果本指南和HTML文档之间哪里出现了冲突,以经常更新的HTML文档为准。

JADE(Java Agent Development Framework)是一个软件开发框架,它可以为智能AGENT开发多AGENT系统和遵守FIAP协议的应用程序。它包含两个主要的产品:一个是与FIPA相适应的agent平台,另一个是开发Java agents的包。JADE是完全用JAVA编码的,如果agent程序员想探索本框架,他/她的agents就应该按照这个程序员指南中描述的大纲用Java编码。

这个指南是在假设读者熟悉FIPA标准,至少是熟悉Agent Management specifications(FIPA no.23),Agent Communication Language和ACL Message Structure(FIPA no.61)的基础上编写的

JADE是用JAVA写的由各种JAVA包构成,给程序设计者以完备的功能接口和规范的抽象性界面,具体应用取决与任务。选择JAVA语言是因为它有许多独特的特点,尤其是在分布式异质环境下的面向对象的编程连接方式;这些特点还包括Object Serialization, Reflection API和Remote Method Invocation(RMI)。 JADE由如下的包构成:

Jade.core-执行系统核心问题,包括必须由软件程序员扩展的Agent类,除此之外一个行为类包含在jade.core.behaviours子包内。行为执行agent的任务或目的。它们是可以完成不同复杂任务或并行任务的逻辑行为单元。程序员编写行为定义agent的操作,并相互连接他们定义agent执行路径。

jade.lang.acl子包用来根据FIAP标准规范处理ACL的。

jade.content子包包含了一系列支持用户定义的本体和内容语言的类。单独有一个指南描述如何使用JADE支持消息内容。尤其是jade.content.lang.sl包含了SL编码解码器,包含有皮剖析器和解码器。

jade.domainb包:包含了FIPA标准定义的表示Agent管理实体的所有Java类,特别是AMS agents和DF agents,提供生命周期服务,白页和黄页服务。子包jade.domain.FIPAAgentManagemnt包含FIPA-Agent-Management Ontology和所有表示它的概念的类。而子包jade.domain.JADEAgentManagemnt包含JADE的Agent管理的扩展名(比如,为sniffing messages,controlling the life-cycle of agents,…),包括本体和表示它的概念所有类。子包jade.domain.introspection包含用于JADE工具(比如,sniffer和Introspector)间引用域和JADE核心的概念。子包jade.domain.mobility包含用于移动通信的概念。

jade.gui包:包含了一系列有助于创建GUIs的普通类,用于显示和编辑Agent-Identifiers,Agent Descriptions,ACLMessages,…

jade.mtp包:包含一个为容易地与JADE框架整合,每一个MTP都应该执行的Java接口,

和一系列这些协议的实现。

jade.proto包:包含模拟标准交互协议(例如:fipa-request, fipa-query, fipa-contract-net, fipa-subscribe和由FIPA定义的其它一些协议)的类,和帮助程序员创建他们自己的协议的类。

FIPA包包含由FIPA为基于IIOP的消息传输定义的IDL模块。

最后,jade.wrapper包提供JADE高层次封装功能,这可以将JADE的用法作为库,从而使外部的Java程序启动JADE agents和agent容器(见3.8节)。

JADE还包括一些工具,用来简化平添管理和应用开发。每个工具包含在jade.tools的一个单独的包内。目前,以下工具是可用的: Remote Management Agent(RMA):作为平台管理和控制的图形控制台。第一个RMA实例可以通过命令行选项(“-gui”)来启动,但是以后可以激活多个GUI。通过简单的用多台调频发射机向所有RMAs播送一个事件,JADE在多RMAs保持一致性。而且,RMA控制台能启动其它JADE工具。 Dummy Agent:是一个监控和调试工具,由图形用户界面和潜在的JADE agent构成。用GUI可能写出ACL消息,并将消息发送给其他agents;也可能显示所有发送或接收到的ACL消息,以及为了便于agent通话记录和复述的时间戳信息。

Sniffer:是一个在ACL消息传输时可以截取ACL消息,并用类似与UML程序表的符号将消息图形式显示的agent。它有助于通过观察agents如何交换ACL消息来调试你的agent社会。

Introspector:可以监控agent生命周期,它交换的ACL消息和执行的行为的agent。

DF GUI:是一个完全的图形用户界面,被默认的JADE DF使用,也可以被其它每一个用户可能需要的DF使用。以这种方式,用户可能创黄页域和子域的复杂网络。GUI可以用简单直觉的方式控制DF的知识库,使DF和其它DF联合,和远程控制(注册/注销/修改/搜索)DF父亲DF和孩子DF的知识库(执行域和子域网络)。

LogManagerAgent:允许在运行时设置日志信息,如日志水平,对于用Java日志的JADE和程序应用的特殊类来说。

SocketProxyAgent:是一个普通的agent,作为JADE平台和普通TCP/IP连接间的双向通道。仔细考虑JADE所有的传输服务,ACL消息被转换成简单的ASCII字符串并通过套接字连接传输。反过来,ACL消息可以通过TCP/IP连接到JADE平台传送。这个agent是有用的,例如,处理网络防火墙或在Web浏览器中提供与Java applets交互的平台。 JADETM是一个由CSELT3注册的商标。

JADE由五部分组成:混淆器、加密器、封装器、类编辑器和输出工具。 混淆器能够保护软件使之不被反编译。它通过混淆类文件使得反编译无效,并把敏感的名字指代变成另一个名字空间,这样可以使反编译的结果毫无疑义。混淆器有“完全”和“快速”两种选项,能处理任何Java产品包括API,应用程序和小程序。它遵从Java虚拟机规范。

加密器隐藏和加密用户产品的主类,处理的结果是一个类文件。它为编码和反编码提供了一个界面。JADE有一些类用DES完成这个界面。加密和解密的过程对于用户来说是透明的。用户感觉不到使用原始的主类和使用处理后的结果类有什么不同。当然,用户也可以不加密地处理这些主类和产品。

封装器不仅仅处理类文件,它还隐藏和加密在产品根目录下的其它文件。它封装产品并只产生一个类。软件厂商把这个类销售给用户,用户将运行这个类文件,安装买来的软件。封装

器使用和加密器相同的安全类。

对于高级Java开发人员,JADE还提供了一个叫做“类编辑器”的工具。它能够直接修改类的代码字节。类编辑器也是一个独立的应用程序,它将把所有的结果生成到jar格式的的文件里。

输出工具把所有的结果生成到一个jar格式的文件中,这个文件能够被其它的压缩工具如Unzip, Winzip和Jar处理。

JADE是由上面的工具集成起来的应用程序,它由纯Java语言编写。这些应用既能够在命令行下运行,也可以在图形界面环境下交互使用。用户可以分别使用这些功能,也可以按下图中的序列运行一组特征。JADE允许用户把配置参数存到一个文本文件里,并可以编辑它。这样,下一次只要装入该配置文件就可以在相同的参数下运行了。

2 JADE的特征

下面是JADE为agent程序员提供的特征列表: ? 分布式的agent平台:agent平台可以分布在许多主机之中(假设他们通过RMI连接)。

在每台主机上只有一个Java应用程序,因此也就只有一个Java虚拟机运行。Agents以Java的思路执行,存在于Agent容器中,agent容易为在运行时为agent执行提供支持。

? 图形用户界面:从远程主机来管理若干agents和agents容器。 ? 调试工具:帮助开发基于JADE的多agents软件程序。

? 通过行为模型支持agent活动的多重、平行和并行执行。JADE以非优先权的方式安排

agent的行为。

? 遵循FIPA的agent平台:它包括AMS、DF和ACC。所有这三个组成都在agent平台

启动时自动激活。

? 许多遵循FIPA的DFs可以在运行时启动以执行多域程序,一个域是指一系列逻辑

agents,它们的服务通过一个共同的facilitator发布。每个DF继承一个GUI和所有由FIPA定义的标准能力(例如,注册,注销,修改和搜索agent描述的能力,DF网络内联盟的能力)。

? 在同一个agent平台内有效传输ACL消息。事实上,消息被编译成Java对象而不是字

符串的形式进行传输,以避免集结或未编组的程序。当跨越平台边界时,消息自动转换成/自基于FIPA语法、编码和传输协议。这种转换对只需要处理Java对象的agent的执行者是很明显的。

? 备用的FIPA交互协议库。

? Agent在AMS上的自动注册和注销。

? 遵循FIPA的命名服务:在启动agents时从平台上获取它们的GUID(Globally Unique

Identifier)。

? 支持程序定义的内容语言和本体。

? InProcess接口允许外部程序启动自治agents。 3 用JADE创建多agent系统

本章描述支持多agent系统开发的JADE类。JADE遵循句法规则,有写地方遵循FIPA规范的语法

3.1代理平台

FIPA定义的一个agent平台的标准模型,如下图所示:

AMS是管理控制进出和使用AP的agent。一个平台上只能有一个AMS。它提供百页和生命周期服务,维护AID目录和agent状态。为了获得有效的AID,每个agent都必须在AMS上注册。

DF是平台上提供默认黄页服务的agent。 消息传输系统也叫agent通信通道(ACC),由软件构成在平台内负责所有的消息交换,包括来自或发送到远程平台的消息。

JADE完全遵守这个参考架构,当一个JADE平台被启动,AMS和DF立刻被创建,ACC模块也设置为允许消息通信。Agent平台可以分布在不同的主机上。但一台主机上只能有一个应用程序即一个JAVA虚拟机运行。每个JVM是一个基本的agents容器,它为agent的执行提供完全运行时环境,并允许若干agents在同一台主机上并行执行。创建主容器或front-end,它是AMS和DF存在以及RMI注册的agent容器,被JADE内部使用。其它agent容器与主容器相连,为任何JADE agents的执行提供完全运行时环境。

搜索更多关于: 学习agent必备!最全的JADE程序员指南 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

JADE程序员指导 Jade集成开发环境是一个入门级的产品,但是它仍然拥有强大的功能。它提供的用户图形界面包含了大部分SUN SDK工具,可以方便的编辑源代码,生成一个类,执行一个java程序或java applet. Jade提供的高效率的功能可以让你为每个project生成单独的类模板,这个功能包括生成使用AWT或 Swing APIs对话窗口。Jade可以使用Sure shot的Jive Lint支持静态代码检查,同时也提供了入门级的调试功能。新版本提供了如下功能:允许用户在XML编辑器中调用用户提供的函数;方法定位(method location)采用了树形视图。 1 简介 程序员指南由管理员指南作为补充,在jade/doc目录下可以找到可用的HTML文档。如果本指南和HTML文档之间哪里出现了冲突,以经常更新的

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com