基于JADE移动Agent的分布式网络取证系统
一种基于移动Agent的分布式信息检索优化模型
Ab ta t B s d o h sn fM o i e t o n o ma i n r t iv l a p i lmo e fi f r t n r tiv l a s r c a e n t e u ig o b l Ag n s f ri f r t e r a , n o t e o e ma d l n o ma i e r a s o o e h b e e in d Du i g s l i g t e mo e , r s n e rs i ag r h f rs e i g r u e ft e mo i g n s t a e n d sg e . rn o vn h d l we p e e ta h u i t l o i m o e k n o ts o h b l a e t h t c t e m ii i h o a o lt n t . e g a O s s e d sg S p o u i g a “ p i l n we t i i lu e o nm z t e t t l mp e i i e c o me Th o lt y t m e i n i r d cn n o t ma ”a s rwi m n ma s f h c mmu ia in a d p o e sn e o r e . e c h o l fo tmi t n, o a e o rh u itc ag rt ms wi o n c t n r c s i g r s u c s To r a h t e g a p i z i we c mp r u e r i l o i o o a o s h t h o h r . i lt n e a ls s o t a h d li e f c ie y t e s S mu a i x mp e h w h tt emo e S f tv l . o e Ke wo d M o i g n , u it l o i m , n o ma i n r ti v l P t p i z t n y rs b l a e t He r i a g rt e sc h I f r t e re a , a h o tmi i o a o
基于移动 Agent的数据采集系统实现与性能分析
基于移动Agent的数据采集系统实现与性能分析摘要本文提出了基于移动agent的分布式配置数据采集的新思路,给出了采用移动agent 技术查询配置信息的方法,并且利用移动agent开发平台aglets开发了一个配置信息采集原型系统,实现了分布式配置数据采集的透明访问。
最后对使用移动代理技术和传统的基于snmp方法的数据采集响应时间性能进行了实验结果分析。
关键词移动agent;配置信息采集;原型系统1引言随着互联网的迅速开展和万维网的广泛使用,对网络管理提出了更高的要求,而传统的c/s 模式的网络管理模型暴露出许多问题,主要表达在随着网络规模的增大只有管理中心负责收集数据,这样加大了中心计算机的计算负载,导致管理中心计算机负担过重;网络上的通信流量过大导致网络负荷加重甚至导致拥塞,因此传统的基于snmp的网管模型适用于⌒偷耐络中?lt;/div>近年来基于移动agent的分布式计算技术得到了快地开展。
移动代理可以在网络各节点之间自由的迁移,它拥有一定的智能和判断能力,能自主地决定迁移目的地。
它可以在执行的任一节点挂起,等迁移到另一个节点后再继续执行。
移动代理在保持内部数据、状态的同时,将代码和数据在网络各节点之间独立、自治地迁移的能力极大地加强了网络管理功能的分布式计算特性和灵活性,移动代理的跨平台移动、动态和分布式计算特性也扩展了传统agent 处理事务的能力,使之能够较好地解决internet环境中低带宽和不稳定连接的问题。
而且移动代理的智能性与灵活性有利于在分布式、异构、动态环境下实时有效地提供配置信息采集效劳,并有利于提高系统的稳定性。
2移动aglet和移动aglet平台2.1移动agletagent的研究起源于人工智能领域。
agent是指模拟行为和关系、具有一定智能并能够自主运行和提供相应效劳的程序。
让agent在网络中移动并执行来完成某些功能是研究移动agent 的根本思想。
软件agent研究者的定义:移动agent是能为用户执行特定的任务、具有一定程度的智能以允许自主执行局部任务并以一种适宜的方式与环境相互作用的软件程序。
课程教学计划-人工智能(第3版)-贲可荣-清华大学出版社
课程教学计划课程名称:人工智能专业(人数):施训时间:任课教员(编写人):学时:40学时审核人:一、课程概述(一)性质、地位《人工智能》是计算机科学与技术专业的必修课。
人工智能是研究理解和模拟人类智能、智能行为及其规律的一门学科。
其主要任务是建立智能信息处理理论,进而设计可以展现某些近似于人类智能行为的计算系统。
(二)基本理念本课程遵循素质教育、创新教育指导思想,课程教学突出“以人为本”,从关注教转向关注学,突出学员学习的主体地位。
本课程介绍人工智能的理论、方法和技术及其应用,除了讨论那些仍然有用的和有效的基本原理和方法之外,着重阐述一些新的和正在研究的人工智能方法与技术,特别是近期发展起来的方法和技术。
此外,用比较多的篇幅论述人工智能的应用,包括新的应用研究。
(三)设计思路研究人工智能的目的,一方面是要造出具有智能的机器,另一方面是要弄清人类智能的本质。
通过研究和开发人工智能,可以辅助、部分代替甚至拓宽人的智能,使计算机更好地造福于人类。
信息经抽象结晶为知识,知识构成智能的基础。
因此,信息化到知识化再到智能化,必将成为人类社会发展的趋势。
在课程框架设计上与国外最先进的教材一致,在内容安排上基本理论与基本方法相结合,课堂着重理论、课外强调实践,在教学手段上采用多媒体。
要求教师加速知识更新,拓宽相关学科知识,具有较高的教学、科研和技术开发创新能力。
二、课程目标(一)课程总目标本课程是计算机科学与技术专业(含相关专业)的前沿基础课,研究怎样使计算机来模仿人所从事的推理、规化、设计、思考和学习等思维活动,来解决需人类专家才能处理的复杂问题。
本课程是一门理论性和实践性都很强的综合性课程,为计算机的应用提供了许多新思想和新方法。
本课程介绍了人工智能的基本原理及其主要应用技术,包括人工智能的原理与基础,知识表示,自然语言的计算机处理,人工智能语言,机器学习等基本原理。
开阔学生的知识面和视野,了解计算机科学发展的前沿。
基于Agent的工作流设计
烟台大学硕士学位论文基于Agent的工作流设计姓名:徐光志申请学位级别:硕士专业:计算机应用技术指导教师:范宝德20090331摘要工作流技术是实现业务过程自动化的核心技术。
工作流管理系统的主要目标是通过调度和分配有关的信息资源与人力资源来协调业务过程中的各个环节,以促使业务目标的高效实现。
然而,现有的工作流管理系统大多存在着缺乏柔性、互操作性不高、对动态情况的处理能力不足以及不支持分布式环境等方面的问题,大大限制了工作流技术的发展和应用。
Agent技术成为当前计算机应用研究的一个热门领域,它为解决复杂、动态、分布式,智能应用提供了一种新的计算手段。
Agent具有的自主性、交互性、主动性、学习性和移动性等特点,能够很好的解决目前工作流管理系统中普遍存在的问题。
Agent能以类似工作流的方式在动态的跨领域范围内管理和执行复杂的业务过程,可以用来构造结构复杂、灵活、柔性、便于扩展、具有动态处理能力的工作流管理系统。
首先介绍了工作流技术的相关概念及工作流管理系统体系结构,并分析了其功能和实施过程。
然后介绍了Agent的基本特性,讨论了基于Agent的软件设计,描述了基于Agent的工作流管理体系结构及其业务过程体系进而提出了基于Agent的工作流管理模型。
在讨论虚拟企业业务域的基础上,构建了基于Agent的虚拟企业工作流运行机制。
具有智能和移动特点的Agent 作为业务过程管理的基本单元,设计了物流虚拟企业系统中购买业务过程管理Agent。
用响应序列图描述了不同业域间的协作过程,刻画了响应客户需求的基于Agent的虚拟企业工作流的运行机制。
分析了Agent的平台JADE的基本特性,基于JADE设计了商品的购买业务过程,即通过设计各个子工作流Agent完成整个购买业务过程的实现。
引入了本体并详述了本体的设计方法,方便了业务过程的设计与实现。
分析了Agent的服务注册与使用机制,以子工作流即商品的购买和运送为重点,以协商模型为基础,描述了Agent的服务的使用机制。
移动Agent在分布式信息检索中的研究
移动 A e t gn 在分布式信息检 索中的研究
朱永利 赵文清 高 伟
( 华北 电力 大学计 算机科 学与技 术 学院 , 河北保 定 0 10 ) 703
E ma : z q 2 . m - i j w @16c lb o
摘 要 介 绍 了移 动 A et 术 与 传 统 CS方 式 的 区别 , 出 了一 个 基 于移 动 A e t 信 息检 索 模 型 , gn 技 / 给 gn 的 分别 利 用移 动 A - gn 和 传 统 CS两种 方式 实现 了信 息 的检 索 , 在服 务 器存 储 的 文档 集 合 中进 行 关键 词查 询 , 后 筛选 查 询 结 果 。 对 此 et / 即 然 论 文 进行 了相 应 的 实验 研 究 , 给 出 了实 验 结 果 和 对 比 结论 。 并 关 键 词 移动 A et 信 息检 索 CS 查 询 gn / 文 章 编 号 10 — 3 1 (0 62 — 10 0 文 献标 识 码 A 0 2 8 3 一 2 0 )5 0 7 — 3 中 图分 类 号 T 3 1 P l
Re e r h o o i e t i s rb t d I f r a i n Re re a s a c f M b l Ag n n Dit i u e n o m t t iv l e o
ZHU n - i Z Ao e - i g GAo e Yo g l H W n qn W i
新 型 网络 应 用 ( 移 动 计算 ) 出现 ,/ 式 的 缺 点 日益 明 显 , 如 的 CS模 远远 不 能适 应 当今 快 速 多变 的 网络 应 用 发 展 . 动 A et 术 移 gn 技 远 程 过 程 调 用圈( P ) 蔽 了 网络 的 具 体 细 节 . 得 用 户 R C隐 使 使 用 远 程 服 务 就 像 进 行 了一 个本 地 函数 调 用 一 样 . 在 通 信 过 但 程 中需 要 远 程 与 本 地 进 行 频 繁 的交 互 。 而在 CS通 信 模 型 中 , / 通 信 的 实 体 双 方 有 固 定 的 预先 定 义 好 的 角 色 :服 务 器 提 供 服
一种基于JADE平台的多Agent入侵检测系统模型
利用
节 点 不 能 判 断 可 疑信 息是 否 有 入 侵 行 为
时
,
多A g e nt
T h is
s
;
入
侵检 测
;
J A DE
Ag
t
的 自治性
,
主 动性
、
协 同性 和 智 能 的协作
,
赣赣鬻蘼赣黎爨豢粪瀚黧鞴瓣黼麟麟黼
P a pe r
’
f
,
管 理 控 制 中心 启 动 通 信 A g
,
e n
,
向邻
,
管理 控 制 中心
a
c 0 0pe ra t
m _
o r de r c o n s o le s
ie v
e d t ect 咖
。
f
a u t D肿 m y
节 点失效 带 来的 问题
,
同时提 高 了整
负责 全 局
先
}
,
g
e n
t
的 管理 和 控 制
,
。
首
a rId m u l t i p l e
to
求
,
匹配
本地 入 侵 特征规 则库
,
i
-
d e ‘ c 铂o n e
p l~ t f o r m t he
t0
曲 ‘。。‘ Pe ’ u
e re &r e
’ he
安 全监 控 系统 的 主 动性 和 智能性
“
…
—
满足
‘ ’
。 y
。 s‘”
疑信 息是 否有入 侵 行为
返 回给受攻 击节点
1 1
.
基于涉密网的计算机取证模型分析
基于涉密网的计算机取证模型分析摘要:在Agent动态远程控制的基础上针对涉密网设计一种计算机取证模型,利用Agent分布式的数据采集方式,引入syslog协议实现相关日志的高效传输,把计算机取证和入侵检测技术结合起来,通过动态形式得到入侵证据,提高证据的可信度以及有效性。
关键词:涉密网计算机取证随着计算机技术的发展和网络的不断普及,涉密网由于具备独有的性质,因此需要与互联网进行连接。
计算机取证即通过数字化证据的识别、搜集、保护和分析检查以及法庭出示的过程,此类取证信息都存储在计算机系统之中,也可能是网络设备中的潜在证据。
一般是对日志、存储介质的分析检查,和那些传统的证据一样,电子证据具有可信度、准确性以及完整性。
但是根据相关调查结果可知,就目前世界范围内在取证工具大多选用静态工具,而很少使用动态实时取证工具。
电子取证理论上需要借助入侵检测等网络安全技术,因此这些技术如果存在的局限性则也会对取证系统造成一定的负面影响,此类负面影响一般表现为取证保密程度不强、安全可靠性不高等。
借助其他技术的电子取证在获取证据时较为被动;取证系统的应用主要采取的是保护式取证,很少是监控式的网络取证。
1 模型设计和分析1.1 模型原理以及系统构成这篇文章提出的在Agent动态远程控制的基础上针对涉密网设计一种计算机取证模型,其原理就是通过证据收集以及分析两大部分筛选出可以利用的信息,达到一定的目的。
Agent控制中心具备多中功能,除了能够进行取证控制以及身份认证以外,还可以通过远程触发、隐蔽通信等技术来实现对取证内容的控制,从而保证取证端以及被取证端身份的认定、被取证端的取证程序触发和隐蔽通信等程序的正常运作。
数据库的服务器中含有证据库、证据仓库、知识库以及规则库等,其中证据库中存放经过数据发掘和融合以后能够作为司法证据的信息;证据仓库中存放Agent收集的SYSLOG相关日志;知识库中存放与入侵知识有关的专家知识;而规则库中则存放着SNORT检测规则。
基于JADE和Jess的智能agent系统开发
a g e n t 4  ̄ 为分布式人工智能概念模型, 具有 自己行为、 目标和知识, 是能感知环境Ⅲ 并在一定环境下 自主运行的实体, 具有主动
性、 独 立性 、 反应性 、 交互 性等特点嘲 。多个 a g e n t 通 过协 同机 制构成多 a g e n t 系统( M u k i - A g e n t S y s t e m, MA S ) 脚, 对每个 a g e n t 的 目标 、 资源和知识等 进行合理安排 , 通 过相互协 同和协作 , 每个 a g e n t 都 能独立地运行 , 在实现各 自的 目标 基础上 , 完 成单个 a g e n t 无法完 成 的复杂任务州 , 从而可对复杂 系统进行 建模 。
中图分类号: T P 3 9 1 文献标识码 : A 文章编号 : 1 0 0 9 - 3 0 4 4 ( 2 0 1 4 ) 2 5 - 5 9 5 5 - 0 3
De v e l o p i n g I n t e l l i g e n t Ag e n t S y s t e m wi t h J ADE a n d J e s s
I S SN 1 0 0 9 —3 0 4 4
E - ma i l : e d u f @d n z s . n e t . c a h t t p : l l ww w. d n z s . n e t . e n T e l : + 8 6 — 5 5 1 - 6 5 6 9 0 9 6 3 6 5 6 9 0 9 6 4
基于移动Agent的分布式系统
基于移动Agent的分布式系统
曾筝;陈剑
【期刊名称】《贵州工业大学学报(自然科学版)》
【年(卷),期】2004(033)004
【摘要】在分析现有网络应用不足的基础上,介绍了将移动Agent技术应用于分布式系统的基本思想,并给出开发的基于移动Agent的系统模型--PCA.
【总页数】5页(P35-39)
【作者】曾筝;陈剑
【作者单位】贵州财经学院,信息分院,贵州,贵阳,550004;江苏澳美科技管理专修学院,江苏,南京,210009
【正文语种】中文
【中图分类】TP311.133;TP393.09
【相关文献】
1.基于嵌入式实时操作系统的软件测试和基于消息的分布式系统的测试 [J], 旋极科技公司
2.无线分布式系统中基于移动Agent的日志分析 [J], 阳万安;李振;李彦;刘世齐
3.基于移动Agent和ICE混合模式的分布式系统架构应用研究 [J], 冉崇善;王琦
4.基于移动Agent卫星测控分布式系统设想 [J], 王曙霞
5.基于GeoTrellis的海量栅格数据计算分布式系统建设 [J], 向虹锟;徐柱
因版权原因,仅展示原文概要,查看原文内容请购买。
移动Agent技术在分布式数据库系统中的应用
移动Agent技术在分布式数据库系统中的应用
周彩兰;陈焜
【期刊名称】《武汉理工大学学报(信息与管理工程版)》
【年(卷),期】2005(027)002
【摘要】针对目前C/S模式下的分布式数据库的各种问题,提出基于移动Agent 的分布式数据库系统结构;同时对基于移动Agent的分布式事务处理和分布式数据库查询作了一些研究.
【总页数】5页(P85-88,92)
【作者】周彩兰;陈焜
【作者单位】武汉理工大学,计算机科学与技术学院,湖北,武汉,430070;武汉理工大学,计算机科学与技术学院,湖北,武汉,430070
【正文语种】中文
【中图分类】TP311.131
【相关文献】
1.移动Agent技术在电网企业网络管理中的应用研究 [J], 马之力;党倩;袁昊;
2.移动Agent技术在分布式数据库系统中的应用 [J], 潘卫华;潘卫红;孙淑琪
3.移动Agent技术在电网企业网络管理中的应用研究 [J], 马之力;党倩;袁昊
4.移动Agent技术在企业网络管理中的应用 [J], 周娟
5.移动Agent技术在企业网络管理中的应用 [J], 周娟
因版权原因,仅展示原文概要,查看原文内容请购买。
基于JADE Agent与FSM的电子商务订单实时处理
基于JADE Agent与FSM的电子商务订单实时处理于卫红【摘要】In e-commerce,order processing is the important procedure in logistics distribution.At present,the e-commerce orders have the characteristics of small-lot,high frequency,randomness and so on,these features lower the processing efficiency of e-commerce orders and increase the processing cost especially the manual handlingcost.Therefore,there is the need to improve the automation and intelligent level of order processing in e-commerce websites,reduce the operation cost and raise the operation efficiency of e-commerce.So in this article we propose an e-commerce system architecture based on multi-Agents.Meanwhile,an e-commerce order processing model based on FSM (finite state machine) is given,and its implementation process based on JADE Agent is presented as well.The introduction of Agent technology,FSM model or other intelligent information processing method will improve the order processing procedure effectively and realise the real-time,automatic and intelligent processing of e-commerce orders.%在电子商务中,订单处理是物流配送的重要流程.目前,电子商务订购存在批量小、多频次、随机性强等特点.这些特点造成了电子商务订单处理效率低,处理成本特别是人工处理成本的加大.因此,需要提高电子商务网站对订单处理的自动化和智能化程度,减少电子商务运营成本,提高电子商务运行效率.为此,提出基于多Agent的电子商务系统结构,同时提出基于FSM(有限状态机模型)的电子商务订单处理模型,给出基于JADE Agent的订单处理有.限状态机模型的实现过程.Agent技术、FSM模型或其他智能处理方法的引入,可以有效地改善订单处理流程,实现订单的实时、自动、智能化处理.【期刊名称】《计算机应用与软件》【年(卷),期】2013(030)008【总页数】3页(P223-225)【关键词】JADE Agent;FSM;电子商务;订单处理【作者】于卫红【作者单位】大连海事大学交通运输管理学院辽宁大连116026【正文语种】中文【中图分类】TP311随着各种相关技术的发展,如比尔·盖茨所言:21世纪,要么电子商务,要么无商可务。
用移动Agent实现的分布式证书链的搜索
用移动Agent实现的分布式证书链的搜索
齐竞艳;黄皓;崔伟
【期刊名称】《计算机工程》
【年(卷),期】2004(30)22
【摘要】介绍了在分布式环境下的证书管理机制,提出了一种基于移动Agent技术的证书路径搜索模型,给出了模型的体系框架、工作流程和部分实现细节,分析了该模型的性能和实现效率以及尚未解决的问题.
【总页数】3页(P119-121)
【作者】齐竞艳;黄皓;崔伟
【作者单位】南京大学软件新技术国家重点实验室,南京,210093;南京大学计算机科学与技术系,南京,210093;南京大学软件新技术国家重点实验室,南京,210093;南京大学计算机科学与技术系,南京,210093;南京大学软件新技术国家重点实验室,南京,210093;南京大学计算机科学与技术系,南京,210093
【正文语种】中文
【中图分类】TP309
【相关文献】
1.基于移动Agent的智能搜索引擎的设计与实现 [J], 刘翀;曹阳
2.一种基于时间域和信任度的分布式证书链搜索算法 [J], 郝晓晓;张卫丰
3.分布式的SPKI/SDSI2.0证书链搜索算法 [J], 耿秀华;韩臻;金砺;王青龙
4.基于移动Agent的分布式Web搜索模型的设计与实现 [J], 李明;唐轶
5.基于信任度的分布式证书链搜索算法 [J], 雷建云;方小海;侯睿
因版权原因,仅展示原文概要,查看原文内容请购买。
基于JADE和Jess的智能agent系统开发
基于JADE和Jess的智能agent系统开发张冉;林杰【期刊名称】《电脑知识与技术》【年(卷),期】2014(000)025【摘要】多agent技术在复杂建模领域具有优势,是当前研究的一个热点。
但对于普通研究者来说,从底层开发多agent系统具有复杂性。
因此,该文分析了多agent系统的分析和设计过程,讨论了以JADE为开发工具的多agent系统开发步骤,并设计了基于Jess的知识推理流程,增强了agent智能性。
对基于JADE 和Jess的智能agent系统的开发过程进行了研究。
%Due to developing multi-agent system from the bottom has been a very challenging task. This paper studied the devel-opment of intelligent agent system with JADE and Jess. Firstly, the analysis and design of the multi-agent system is described;then, the development steps of the multi-agent system with JADE are presented;finally, knowledge inference process with Jess is designed to enhance the intelligence of agent.【总页数】3页(P5955-5957)【作者】张冉;林杰【作者单位】同济大学经济与管理学院,上海200092; 新疆财经大学统计与信息学院,新疆乌鲁木齐830012;同济大学经济与管理学院,上海200092【正文语种】中文【中图分类】TP391【相关文献】1.Jess 反向链推理机理及诊断专家系统开发模式研究 [J], 陈宏希2.MVC模式在JADE系统开发中的应用 [J], 尹晓霈;黄鹏3.面向电信应用的多Agent系统开发平台JadexT [J], 吴伙成;毛新军4.基于Jess推理的网络消费者非理性购买预测 [J], 于国欣; 王泽瑞; 闫伟5.基于Jess的专家故障诊断系统研究 [J], 权建军;刘克仁;张兆江因版权原因,仅展示原文概要,查看原文内容请购买。
移动Agent系统JADE-S的研究与改进
移动Agent系统JADE-S的研究与改进
黄科文;郑洪源;丁秋林
【期刊名称】《计算机技术与发展》
【年(卷),期】2008(18)3
【摘要】提出了使用签名jar文件以及分离私钥和所属Agent的策略来建立一种安全的移动代理通信通道的方法.移动代理的安全性问题是目前研究十分广泛的一个复杂问题.文中对多Agent系统的安全性问题进行了全面的分析,并结合移动Agent平台JADE-S,深入研究了该平台的特点和安全方案,指出了它存在的安全缺陷.在此基础上,提出了采用签名ja r文件以及分离私钥和所属Agent的策略来完善JADE-S的安全性,最后指出了下一步工作重点.
【总页数】4页(P165-168)
【作者】黄科文;郑洪源;丁秋林
【作者单位】南京航空航天大学,信息科学与技术学院,江苏,南京,210016;南京航空航天大学,信息科学与技术学院,江苏,南京,210016;南京航空航天大学,信息科学与技术学院,江苏,南京,210016
【正文语种】中文
【中图分类】TP393.08
【相关文献】
1.改进的蚁群算法在移动Agent迁移中的应用研究 [J], 肖丹丹;蔡乐才;李鹏
2.一种改进的移动Agent通信机制研究 [J], 屈志毅;张丽红;刘瑜;范志明;王茂盛
3.WSNs中基于改进定向扩散的移动agent机制研究与实现 [J], 姜飞;史浩山;徐志燕
4.检测移动Agent系统中恶意攻击的改进方案 [J], 任柯;邱玉辉
5.基于移动Agent的电力调度管理系统设计与研究 [J], 王子强; 李家璐; 陈静鹏; 辛阔
因版权原因,仅展示原文概要,查看原文内容请购买。
基于移动Agent的自适应动态取证系统
基于移动Agent的自适应动态取证系统
周建华;王加阳;贺文华
【期刊名称】《微计算机信息》
【年(卷),期】2007(023)006
【摘要】简单介绍了动态取证系统(DFS)的基本概念,指出了目前的动态取证系统存在的不足.为了解决传统动态取证系统中的不足,将移动Agent引入动态取证系统.本文提出建立基于移动Agent的自适应动态取证系统(MADFS),该系统采用基于移动Agent的分布式体系结构,且具有自适应性、分布性、自识别能力和扩展性等特点.
【总页数】3页(P77-79)
【作者】周建华;王加阳;贺文华
【作者单位】410006,湖南,湖南公安高等专科学校计算机系;410083,湖南,中南大学信息科学与工程学院;410083,湖南,中南大学信息科学与工程学院;410083,湖南,中南大学信息科学与工程学院
【正文语种】中文
【中图分类】TN92
【相关文献】
1.新型的基于移动Agent自适应入侵检测系统研究 [J], 孙玉星;文巨峰;赵燕飞;姜玉泉
2.基于移动Agent的自适应动态取证系统 [J], 周建华;王加阳;贺文华
3.基于移动Agent的主动网络自适应入侵响应系统的研究 [J], 李红霞;王光;孙宁;刘腊梅
4.基于移动Agent的远程网络自适应测试系统模型 [J], 杨进中
5.一种基于移动Agent的分布式动态取证模型 [J], 周建华
因版权原因,仅展示原文概要,查看原文内容请购买。
JADE中文教程包还一个真实系统
目录第一章绪论 (3)1.1问题概述 (3)1.2该领域技术发展现状 (3)1.3全文安排 (5)第二章AGENT简介 (6)2.1Agent技术的起源与发展 (6)2.2Agent定义 (7)2.3Agent的适用领域 (10)2.4agent技术的标准化 (10)第三章JADE平台介绍 (12)3.1JADE平台简介 (12)3.2JADE的特点 (14)3.3用JADE创建多Agent系统 (15)3.3.1Agent平台 (15)3.3.2Agent类 (17)3.3.3Agent任务.执行Agent行为 (19)3.4交互协议 (21)3.5对移动Agent的支持 (22)第四章基于JADE平台上的"图书交易"系统 (23)4.1"图书交易"系统要实现的功能 (23)4.1.1买方Agent (23)4.1.2卖方Agent (23)4.2建立JADE Agent-Agent类 (24)4.2.1agent标识符 (24)4.2.2结束Agent (25)4.2.3向Agent中传递参数 (25)4.3Agent执行的任务-Behaviour类 (27)4.3.1行为调度和执行 (28)4.3.2在特定的时间点执行某个操作 (31)4.4"图书交易"系统执行的行为 (32)4.4.1买方Agent的行为 (33)4.4.2卖方Agent的行为 (34)4.5Agent间通讯-ACLMessage类 (37)4.5.1发送消息 (37)4.5.2"图书交易"系统中的各类消息 (37)中文翻译 (95)1 介绍 (95)2 JADE 特点 (99)3 用JADE创建多agent系统 (100)3.1 Agent平台 (100)3.2 Agent类 (105)第一章绪论1.1问题概述多Agent系统是由多个可以相互交互的,称为Agent的计算单元所组成的系统.Agent作为计算机系统具有两种重要的能力.首先,每个Agent至少在某种程度上可以自治行动,由它们自己决定需要采取什么行动以实现其设计目标.其次,每个Agent可以与其他Agent进行交互,这种交互不是简单地交换数据,而是参与某种社会行为,就像我们在每天的生活中发生的那样:合作,协作和协商等.多Agent系统是计算机科学中比较新的一个分支,从20世纪80年代才开始研究,而直到20世纪90年代中才得到广泛的认同.从此以后国际上对这个领域的兴趣大为增加.这种研究热情的快速增加至少部分的是由于认识到Agent是一种合适的软件范例,这种范例为研究大规模分布式开放系统(如Internet)提供了可能性.尽管多Agent系统在探索Internet的潜力方面能起到关键的作用,但是多Agent系统的作用远不止如此.对于理解和构造各种所谓的人工社会系统来说,多Agent系统似乎是一个自然的比喻.多Agent的思想并不局限在某个特定的领域,像在此前出现的对象一样,多Agent系统会在许多不同的应用领域中广泛出现.1.2该领域技术发展现状近年来,随着计算机技术的不断发展和应用的广泛普及,随着国际互联网络的出现和发展,计算机软件系统结构和计算机组织结构的复杂性不断增加,从而为软件系统的开发提出了更多,更复杂的要求,如可伸缩性,多功能性,可重用性,鲁棒性,一致性.传统的整体设计和集中控制的软件开发方法越来越显示出其固有的局限性.同时软件系统的设计越来越向个性化,智能化方向发展,一些大型软件系统纷纷采用了人工智能的技术.因此可以说智能化,分布式是未来软件设计的方向.作为人工智能和分布式计算的结合,分布式人工智能正逐渐收到人们的重视.分布式人工智能研究的目标是要创建描述自然和社会系统精确的概念模型.在分布式人工智能中,由于智能本质上不是一个独立存在的概念,而智能在团体中实现,因此分布式人工智能研究感兴趣的主要是几个Agent之间的合作,交互等方面.分布式问题求解考虑怎样将一个特殊问题求解工作在多个合作的,知识共享的模块或节点之间划分;在多Agent系统中,主要研究一组自治的智能Agent之间智能行为的协调.知识,规划,不同技能和自身动作的协调是一个过程,在多Agent系统非常重要.目前对Agent和多Agent系统的研究主要集中在以下几个方面:Agent和多Agent的理论,Agent的体系结构和组织,Agent语言,Agent之间的协作和协调,通信和交互技术,多Agent学习以及多Agent系统应用等.关于多Agent系统的应用已经有人做了许多工作,甚至应用于一些大型,复杂的系统,例如机场管理,自动驾驶,高级机器人系统,分布式电力管理,信息检索等.现在,关于Agent的研究不仅得到了人工智能研究人员的关注,也吸引了数据通讯,人机界面设计,机器人,并行工程等各个领域的研究人员的兴趣.有人认为:"基于Agent的计算(Agent-based Computing,简称ABC)将成为软件开发的下一个重要的突破."1.3全文安排本文首先简单的介绍了Agent特点,接着引出一个用于开发多Agent系统的平台-JADE.并结合一个"图书交易"系统,分析如何利用JADE平台创建多Agent系统,以及Agent是如何在平台上执行任务,进行通讯的.内容概要如下:第二章 Agent简介第三章 JADE平台介绍第四章基于JADE平台的"图书交易"系统第五章全文总结最后是附录,参考书目以及致谢.第二章Agent简介2.1Agent技术的起源与发展进入20世纪90年代以来,在各种计算机文献和众多公司的技术发展规划中,Agent正日渐成为使用频率最高的词汇之一.下面就对Agent技术的发展做一个简要的阐述.智能Agent技术的诞生和发展是人工智能技术(AI)和网络技术发展的必然结果.从20世纪60年代起,传统的AI技术开始致力于对知识表达,推理,机器学习等技术的研究,其主要成果是专家系统.专家系统把专业领域知识与推理有机的组合在一起,为应用程序的智能化提供了一个低级而实用的解决办法.作为人工智能的一个分支,AI 计划理论的研究成果使应用程序有了初步的面向目标和特征,即应用程序具有了某种意义上的主动性;而人工智能的另一个分支-决策理论和方法则使应用程序具有了自主判断和选择的行为的能力.人工智能围绕着知识所进行的广泛研究和应用正逐步形成一门新的学科,这就是知识工程,它涉及的知识的获取,存储和管理等许多课题.所有这些技术的发展加快了应用程序智能化的进程.随着网络技术的发展,多个应用程序间相互作用的模式正从单一的集成式系统向分布式系统演化.一个在物理上和地理上分布的应用程序之间通信与合作的网络地层基础结构正逐渐建立起来.分布式对象技术(如CORBA或DCOM技术)则进一步使分布且异构的应用程序之间能以一种共同的方式提供和获得服务,实现了在分布式状态下的"软"集成.智能化和网络化的发展促成了Agent技术的发展,Agent技术正是为解决复杂,动态,分布式智能应用而提供的一种新的计算手段.2.2Agent定义目前并不存在一个被普遍接受的Agent的定义,事实上,对这个问题尚有争论,并存在不同的看法.尽管把自治性作为Agent的核心概念已经达成了普遍的共识,但除此之外很少有一致的看法.Wooldridge和Jennings在总结了前人在Agent领域的一些工作后认为,可以从狭义和广义两个方面去理解Agent的特性(1)Agent弱概念这是从广义的角度来规定Agent的特性.几乎所有被称为Agent 的软件或硬件系统都具有以下的特性:自治性(Autonomy):Agent运行时不直接由人或者其它东西控制,它对它们自己的行为和内部状态有一定的控制权.社会能力(Social Ability)或称可通信性:Agent能够通过某种Agent通信语言(agent communication language)与其它Agent进行信息交换.反应能力(Reactivity):即对环境的感知和影响.无论Agent生存在现实的世界中(如机器人,Internet上的通讯Agent,用户界面Agent等)还是虚拟的世界中(如虚拟商场中的Agent,交互式游戏中的Agent等),它们都应该可以感知它们所处的环境,并通过行为改变环境.一个不能对环境做出影响的物体不能被称作Agent.自发行为(Pro-activeness):传统的应用程序是被动地由用户来运行的,而且机械地完成用户的指令;而Agent的行为应该是主动的,或者说自发的.Agent感知周围环境的变化,并作出基于目标的行为(goal-directed behaviour).在这种定义下,最简单的Agent就是具有上述特性的一个计算机进程,这个进程可以简单到只是个具有某种智能的子程序,能够与别的Agent交换消息.Agent弱概念使Agent不仅仅只应用于人工智能领域,而且广泛地应用在诸如人机界面,通信,并行工程,软件工程,搜索引擎等.因此很多计算机软件都可以纳入Agent的范畴里来,例如处理Internet事务,帮助用户处理E-mail的助理Agent等.Marvin Minsky从多Agent系统的社会智能的角度给出Agent的一个定义:"这些进程我们称之为Agent,每个Agent本身只会做一些简单的事情,但当我们用特定的方法将这些Agent组成一个Agent群(society),就产生了真正的智能."Minsky的定义显然也是一种广义的定义.(2)Agent强概念对某些研究者,尤其是人工智能的研究者来说,Agent除了应具有上面这些特性以外,还应该具有某些通常人类具有的特性.例如知识,信念,意图,承诺等心智状态.有的学者甚至提出了有情感的Agent.当前对强概念Agent的研究主要集中在理论方面.例如,Shoham提出的面向Agent编程(AOP Agent-Oriented Programming)使用的就是强概念的Agent定义:"一个Agent是这样一个实体,它的状态可以看作是由信念(belief),能力(capability),选择(choice),承诺(commitment)等心智构件(mental component)组成."(3)Agent的其它属性长寿性(Longevity):传统应用程序在用户需要时激活,不需要时或者运算结束后停止.Agent与之不同,它应该至少在"相当长"的时间内连续地运行.移动性(Mobility):Agent可以从一个地方移动到另一个地方而保持其内部状态不变.Agent可以携带数据和能够在远处执行智能指令.推理能力(Reasoning):Agent可以根据其当前的知识和经验,以理性的,可再生的方式推理或推测.规划能力(Planning):根据目标,环境等的要求,Agent应该至少对自己的短期行为作出规划.虽然程序设计人员可以提供一些常见情况的处理策略,但这些策略不可能覆盖Agent将遇到的所有情况.所以,Agent应该有生成规划的能力.学习和适应能力(Learning and Adaptability):Agent可以根据过去的经验积累知识,并且修改其行为以适应新的环境.另外,有些学者还提出Agent应该具有自适应性,个性等特性.诚实(Veracity):假定Agent不会故意提供错误信息.善意(Benevolence):假定在Agent之间不会存在相互冲突的目标,且Agent总是尽力去帮助其它Agent.理性(Rationality):假定Agent总是尽力去实现自己的目标.2.3Agent的适用领域与用户有灵活的相互作用,在互相作用中智能地协助用户完成琐碎的工作.在对海量分布式信息搜索中,建立快速智能的搜索机制.在高度动态的环境下,要求应用程序能对多边的环境作出响应或自适应.需要应用程序能自主处理失效或冲突,以进行在调度,再计划或资源再分配.需要应用程序既能进行长期计划驱动的行为,又能从事短期试试响应行为.在复杂的或安全性很重要的应用程序中,保证适宜的反应和应答时间.在地理上或逻辑上分布,自主或异构的节点间提供应用服务或中间件服务.在不完全信息下的复杂或分散的资源分配问题.2.4agent技术的标准化FIPA(Foundation for Intelligent Physical Agents)是一个由IBM,NHK,BT等公司和政府,学术机构组成的权威的Agent标准化组织(),目前该组织正致力于以下三个主要领域的标准制定:Agent管理需要认同和发现Agent(白,黄页服务),需要定义它们的各种状态以及哪些角色能与它们相互作用.Agent相互作用覆盖最高层Agent间相互作用的标准,包括Agent 间传递的信息的意义,命令,请求,义务等.Agent与软件的接口.此外FIPA还制定了4个参考应用领域的标准,包括个人旅行助手,个人助手,声/视娱乐广播,网络管理等.正在制定的标准包括人类Agent的相互作用,产品设计与制造Agent,Agent安全管理,支持移动性的Agent管理,Ontology(共享语汇)服务,Agent消息传送,Agent命名,内容语言库等.尽管FIPA标准仍在制定和发展之中,但是随着越来越多组织的加入,它必将称为促进Agent应用和发展的主要推动力.第三章JADE平台介绍3.1JADE平台简介JADE(Java Agent Development Framework)是一个软件开发框架,用于开发多Agent系统和符合FIPA标准的智能Agent应用程序.它包含两个主要的产品:一个符合FIPA标准的Agent平台和一个开发JAVA Agent的包.JADE完全是由JAVA编写的,由各种JAVA包组成,它为应用程序员既提供现成的功能片断,同时也为自定义的应用程序任务提供抽象接口.由于JAVA的许多良好的特性,它是一种很特别的编程语言,特别是它在分布式的不同环境中的面向对象编程方法,例如对象序列化(Object Serialization),反映性API(Reflection API)和远程方法唤醒(Remote Method Invocation RMI).JADE主要由下面的包组成:jade.core实现系统的核心.它包含必须被应用程序员继承的Agent类,除此以外,jade.core.behaviours子包还包含一个Behaviour类层次结构.行为实现了一个Agent的任务或意图.它们是逻辑活动单元,并且可以以不同的方式组合,以获取不同的执行方式,当然,它们是可以并行执行的.应用程序员定义Agent的操作,编写行为以及Agent的执行路径.ng.acl子包用于依照FIPA标准规定处理Agent通讯语言(ACL).jade.content包包含了一组类用于支持用户定义的概念和语言.jade.domain包包含了所有那些由FIPA标准定义的,描述Agent 管理实体的JAVA类,特别是AMS和DFAgent,它们提供生命周期服务和白黄页服务.子包jade.domain.FIPAAgentManagement包含了FIPA Agent管理的概念和描述其概念的类.子包jade.domain.JADEAgentManagement则包含了JADE对Agent管理的扩展(例如,对消息的探测以及控制Agent的生命周期).子包jade.domain.introspection包含了用于描述在JADE工具和JADE内核之间沟通领域的概念.子包jade.domain.mobility包含了描述移动通信的概念.子包Jade.gui包含了一组一般的类,用于建立用户图形界面,用来显示和编辑Agent标识符,Agent描述,ACL消息……jade.mtp包包含了一个JAVA接口.为了容易用JADE框架集成,每个消息传送协议必须利用这个接口,它还包含了一组这些协议的执行.jade.proto包包含了建模标准交互协议的类(如:fipa-request, fipa-query, fipa-contract-net, fipa-subscribe和其他一些被FIPA定义的类),同时也包含了帮助应用程序员建立自定义的协议的类.3.2JADE的特点下面是JADE提供给Agent编程人员的JADE特点列表:-分布式Agent平台.Agent平台可以分散在几个主机上(假设它们可以通过RMI连接起来).-从远方主机用图形用户界面来管理Agent和Agent容器.-在开发基于JADE的多Agent应用程序时,可以利用调试工具.-平台内的Agent移动性,包括传递Agent的状态和代码(当需要的时候).-通过行为模型,对多个平行,并行的Agent活动的支持.JADE以无优先权的方式对Agent行为进行调度.-FIPA标准的Agent平台,包括AMS(Agent管理系统),DF(目录服务),和ACC(Agent通讯通道).这三个组成部分在Agent平台启动时被自动激活.-为了多域的应用程序,许多FIPA标准的DF在运行时可以被启动.在程序中,每个域是一组逻辑Agent,它们提供的服务通过一个公共的设备被公布出来.每个DF继承了GUI和所有由FIPA定义的标准功能(即,注册,注销,修改,搜索Agent标识符的功能和在网内连接DF的功能).-在同一个Agent平台内有效率的ACL消息传输.事实上,消息在传送时是以JAVA对象被编码,而不是字符串,这样是为了避开编组和未编组的程序.当消息跨越平台边界的时候,它们被自动转换为FIPA 标准的语法,编码方式,传输协议或反之.这种转换对于Agent执行者来说是透明的,它们只需要处理JAVA对象.-FIPA交互协议库是现成可用的.-通过AMS,Agent可以自动进行注册和注销.-符合FIPA标准的命名服务:在启动时,Agent从平台上获取它们的GUID(全球唯一标识).-对应用程序定义的相关语言和概念的支持.-程序内接口,它允许外部应用程序启动自治的Agent.3.3用JADE创建多Agent系统3.3.1Agent平台由FIPA定义的标准的Agent平台模式由以下几部分组成:Agent管理系统(AMS)是负责监督管理对Agent平台的访问和使用的Agent.在一个单独的平台上,只能有一个AMS.AMS提供白黄页服务,以及生命周期服务,它保留了一个Agent标识符目录(AID)和Agent状态信息.每个Agent必须在AMS注册,以获得一个有效的AID.目录服务(DF)是在平台上提供默认的黄页服务的Agent.消息传输系统,又叫做Agent通信通道(ACC),是控制平台内所有的信息交换,包括与远端平台进行信息交换的软件.图3-1JADE完全参照这个标准体系结构.因此,当一个JADE平台启动的时候,AMS和DF就自动被建立了,同时ACC模块允许消息进行传输.Agent平台允许建立在几个主机上.在每个主机上只有一个JAVA应用程序,当然也只有一个JAVA虚拟机(JVM)被执行.每个JAVA虚拟机是一个基本的Agent容器,它为Agent的执行提供一个运行环境,同时它允许几个Agent在同一个主机上并行的执行.主容器(main-container)是Agent容器,它包括AMS和DF,在那里注册RMI(它由JADE在内部使用).与主容器相关的其它容器,为任何一组JADE Agent的执行提供一个完整的运行环境.图3-23.3.1.1DF服务jade.domain.DFService利用一组静态方法来实现与一个标准的FIPA DF服务进行交互.它包含了从DF请求注册,注销,修改,搜索行为的方法.每个方法都有一个带有所有所需参数的版本,以及一个所有省略参数都是默认值的版本.注意,这些方法将会阻塞每个Agent活动直至行为被成功的执行或者掷出了一个jade.domain.FIPAException违例,也就是说直到会话的结束.在某些情况下,以不阻塞的方式执行这些方法可能会更方便.在这些情况下,jade.proto.AchieveREInitiator或者jade.proto.SubscriptionInitiator将与createRequestMessage(),createSubscriptionMessage(),decodeDone(), decodeResult()和decodeNotification()联合使用,这将简化向DF发送消息的准备,以及从DF接受消息时的解码.3.3.1.2AMS服务这个类与DFService类是成对的,它的服务是由一个标准的FIPA AMSAgent提供的,并且它的界面是与DFService完全一致的.注意JADE在调用setup()前和takeDown()返回以后分别自动调用注册和注销方法,所以一般的程序员不用去调用它们.但是在某些特定的环境下,程序员可能需要调用它们.3.3.2Agent类Agent类是用户自定义Agent的公共基类.因此,从程序员的角度看,一个JADE Agent仅仅是用户自定义的继承了Agent类的一个实例.这表现了特性的继承性,这种继承性主要体现在Agent平台间交互(注册,配置,远程管理),以及用以实现自定义的Agent行为的一组基本方法(如收发消息,使用标准交互协议,注册域,...).Agent的计算模型是多任务的,任务(或是行为)是并行执行的.每个由Agent提供的功能/服务应该作为一个或者多个行为被执行(参考3.4行为的执行).Agent基类内的调度对程序员是透明的,它自动管理行为的调度.3.3.2.1Agent生命周期图3-3根据FIPA中的Agent平台生命周期,JADE Agent可以处于这几个状态之一,它们在Agent类中用几个常量来表示.这些状态分别是:初始状态AP_INITIATED:Agent对象已经建立,但是还没有由AMS 注册,既没有名字,也没有地址,而且不能与其它Agent进行通讯.激活状态AP_ACTIVE:Agent对象已经由AMS注册,有正规的名字和地址,而且具有JADE的各种特性.挂起状态AP_SUSPENDED:Agent对象当前被停止.内部的线程被挂起,没有Agent行为被执行.等待状态AP_WAITING:Agent对象被阻塞,等待其它事件.内部的线程在JAVA 监控器上休眠,当条件满足时被唤醒(典型的情形是消息到达).删除状态AP_DELETED:Agent死亡.内部的线程的执行被终结,Agent不再在AMS上有注册信息.传送状态AP_TRANSIT:移动Agent移动至一个新的位置时进入这个状态.系统继续缓存将被送到这个新位置的消息.拷贝状态AP_COPY:这是JADE在Agent克隆时的一个内部状态.离开状态AP_GONE:这是JADE在移动Agent移至一个新的地点时的一个内部稳定状态.注意Agent只有在激活状态时才允许执行行为(也就是任务).注意如果任何一个行为调用doWait()方法,那么整个Agent及其所有的活动都被阻塞,而不仅仅是调用这个方法的行为.而block()方法是Behaviour类的一部分,这是为了挂起一个单独的Agent行为.3.3.2.2Agent内的通讯Agent类同样提供了一组用于Agent内通讯的方法.根据FIPA说明,Agent通过异步消息传输进行通讯,ACL消息的对象是交换的有效载荷.一些由FIPA定义的交互协议也是可由Agent活动调度的现成可用的行为,它们是jade.proto包的一部分.Agent.send()方法可以发送ACL消息.接收槽保留了正在接收消息的Agent的ID.这种方法调用对于Agent的位置来说是透明的,也就是说无论是本地或是远程的Agent,是平台负责选择最合适的地址和传输机制.3.3.2.3带有图形用户界面(GUI)的Agent一个构造为多Agent系统的应用程序仍然需要与它的用户进行交互.因此,在应用程序中有必要至少在某些Agent上提供GUI.虽然这可能引起一些问题,这主要是因为Agent自治特性和普通用户图形界面的反映性间的不匹配造成的.使用JADE时,JADE Agent采用的每个Agent一个线程的并发模式必须要与Swing并发机制配合使用. 3.3.3Agent任务.执行Agent行为为了响应不同的外部事件,Agent必须能够执行几个并行的任务.为了使Agent管理更加有效率,每个JADE Agent都由一个单独的执行线程组成,并且它的任务都是模型化的,可以作为Behaviour的对象来执行.同样可以执行多线程的Agent,但是JADE并没有对此提供特别的支持.想要执行一个基于Agent的任务的开发者应该定义一个或者更多Behaviours子类,实例化它们,并把任务对象添加到Agent任务列表中.类Agent是必须由Agent程序员继承的,提供了两个方法:addBehaviour(Behaviour)和removeBehaviour(Behaviour),它们允许用来管理一个具体任务的就绪队列.注意行为和子行为可以在需要的时候添加进来,而不仅仅是在Agent.setup()方法内部.添加一个行为应该被看做在Agent内产生一个新的(合作)执行线程的方式.由Agent基类执行的调度程序对于程序员来说是透明的,对于就绪队列中所有有效的行为,它的调度策略是无优先权的时间片轮转法,执行Behaviour-derived类,直至释放控制权(这在action()方法返回时执行).如果任务没有放弃控制权,它将在下一次轮转是被重新调度.在等待消息到达时,行为同样可以被阻塞.具体的说,Agent调度程序执行就绪行为队列中每个行为的action()方法.当action()返回时,done()方法被调度,它用来检测行为是否完成.如果完成了,行为对象将从队列中删除.行为像合作线程一样工作,但是,没有保存任何栈.因此,整个运行状态必须被保留在Behaviour和它相关的Agent的临时变量中.为了防止在激活状态等待消息(这样会浪费CPU的时间),允许每个Behaviour阻塞它自己的运行.当action()方法返回时,block()方法就把行为放到阻塞行为队列中.注意,因此,阻塞的结果并不是在调用block()方法后立即体现出来,而是在action()方法返回后.在新的消息到达后,所有被阻塞的行为将重新被调度,因此程序员必须考虑再次阻塞与到达的消息不相关的行为.此外,一个行为对象可以通过向block()方法传递一个时间域值把自己阻塞一段有限的时间.在JADE后来的版本中,考虑了更多的唤醒事件.因为从Agent行为中进行选择时,采用的是无优先权的多任务模型,Agent程序员必须注意避免使用无限循环,以及在action()方法内部执行长的操作.记住,当某个行为的action()运行时,其它的行为都不能执行,直至action()结束(这当然只是考虑同一个Agent内的行为,其它Agent的行为是运行在不同的java线程内,当然可以继续独立的运行).除此以外,既然没有保存任何堆栈,每次action()方法都是从头开始运行,action()方法不可以在中间打断,也不可以把CPU让给其它的行为,然后从行为离开的位置,启动最初的那个行为.3.4交互协议FIPA规定了一组标准的交互协议,可以以它们作为标准模板来建立Agent间的对话.对于Agent间的每一次对话,JADE都区分了发起者(发起会话的Agent)和回应者(在与其它Agent取得联系后参与到会话中的Agent).JADE依据大部分的FIPA交互协议,为会话中的两个角色都提供了行为类.正如在这节中所描述的,这些类都可以在jade.proto包中找到.它们通过一个同类的API提供了回叫方法来处理协议的各个状态.所有的发起者行为一达到交互协议的某个最终状态,就会立即结束,并从Agent的任务队列中删除.为了不必重新建立新的java对象就能再次使用代表这些行为的java对象,所有的发起者都包含了一些带有合适参数的复位方法.此外,所有的发起者行为,不只是FipaRequestInitiatorBehaviour都可以进行一对多的会话,也就是。
JADE中文教程-包还一个真实系统
目录第一章绪论 (3)1.1问题概述 (3)1.2该领域技术发展现状 (3)1.3全文安排 (5)第二章AGENT简介 (6)2.1Agent技术的起源与发展 (6)2.2Agent定义 (7)2.3Agent的适用领域 (10)2.4agent技术的标准化 (10)第三章JADE平台介绍 (12)3.1JADE平台简介 (12)3.2JADE的特点 (14)3.3用JADE创建多Agent系统 (15)3.3.1Agent平台 (15)3.3.2Agent类 (17)3.3.3Agent任务.执行Agent行为 (19)3.4交互协议 (21)3.5对移动Agent的支持 (22)第四章基于JADE平台上的"图书交易"系统 (23)4.1"图书交易"系统要实现的功能 (23)4.1.1买方Agent (23)4.1.2卖方Agent (23)4.2建立JADE Agent-Agent类 (24)4.2.1agent标识符 (24)4.2.2结束Agent (25)4.2.3向Agent中传递参数 (25)4.3Agent执行的任务-Behaviour类 (27)4.3.1行为调度和执行 (28)4.3.2在特定的时间点执行某个操作 (31)4.4"图书交易"系统执行的行为 (32)4.4.1买方Agent的行为 (33)4.4.2卖方Agent的行为 (34)4.5Agent间通讯-ACLMessage类 (37)4.5.1发送消息 (37)4.5.2"图书交易"系统中的各类消息 (37)中文翻译 (95)1 介绍 (95)2 JADE 特点 (99)3 用JADE创建多agent系统 (100)3.1 Agent平台 (100)3.2 Agent类 (105)第一章绪论1.1问题概述多Agent系统是由多个可以相互交互的,称为Agent的计算单元所组成的系统.Agent作为计算机系统具有两种重要的能力.首先,每个Agent至少在某种程度上可以自治行动,由它们自己决定需要采取什么行动以实现其设计目标.其次,每个Agent可以与其他Agent进行交互,这种交互不是简单地交换数据,而是参与某种社会行为,就像我们在每天的生活中发生的那样:合作,协作和协商等.多Agent系统是计算机科学中比较新的一个分支,从20世纪80年代才开始研究,而直到20世纪90年代中才得到广泛的认同.从此以后国际上对这个领域的兴趣大为增加.这种研究热情的快速增加至少部分的是由于认识到Agent是一种合适的软件范例,这种范例为研究大规模分布式开放系统(如Internet)提供了可能性.尽管多Agent系统在探索Internet的潜力方面能起到关键的作用,但是多Agent系统的作用远不止如此.对于理解和构造各种所谓的人工社会系统来说,多Agent系统似乎是一个自然的比喻.多Agent的思想并不局限在某个特定的领域,像在此前出现的对象一样,多Agent系统会在许多不同的应用领域中广泛出现.1.2该领域技术发展现状近年来,随着计算机技术的不断发展和应用的广泛普及,随着国际互联网络的出现和发展,计算机软件系统结构和计算机组织结构的复杂性不断增加,从而为软件系统的开发提出了更多,更复杂的要求,如可伸缩性,多功能性,可重用性,鲁棒性,一致性.传统的整体设计和集中控制的软件开发方法越来越显示出其固有的局限性.同时软件系统的设计越来越向个性化,智能化方向发展,一些大型软件系统纷纷采用了人工智能的技术.因此可以说智能化,分布式是未来软件设计的方向.作为人工智能和分布式计算的结合,分布式人工智能正逐渐收到人们的重视.分布式人工智能研究的目标是要创建描述自然和社会系统精确的概念模型.在分布式人工智能中,由于智能本质上不是一个独立存在的概念,而智能在团体中实现,因此分布式人工智能研究感兴趣的主要是几个Agent之间的合作,交互等方面.分布式问题求解考虑怎样将一个特殊问题求解工作在多个合作的,知识共享的模块或节点之间划分;在多Agent系统中,主要研究一组自治的智能Agent之间智能行为的协调.知识,规划,不同技能和自身动作的协调是一个过程,在多Agent系统非常重要.目前对Agent和多Agent系统的研究主要集中在以下几个方面:Agent和多Agent的理论,Agent的体系结构和组织,Agent语言,Agent之间的协作和协调,通信和交互技术,多Agent学习以及多Agent系统应用等.关于多Agent系统的应用已经有人做了许多工作,甚至应用于一些大型,复杂的系统,例如机场管理,自动驾驶,高级机器人系统,分布式电力管理,信息检索等.现在,关于Agent的研究不仅得到了人工智能研究人员的关注,也吸引了数据通讯,人机界面设计,机器人,并行工程等各个领域的研究人员的兴趣.有人认为:"基于Agent的计算(Agent-based Computing,简称ABC)将成为软件开发的下一个重要的突破."1.3全文安排本文首先简单的介绍了Agent特点,接着引出一个用于开发多Agent系统的平台-JADE.并结合一个"图书交易"系统,分析如何利用JADE平台创建多Agent系统,以及Agent是如何在平台上执行任务,进行通讯的.内容概要如下:第二章 Agent简介第三章 JADE平台介绍第四章基于JADE平台的"图书交易"系统第五章全文总结最后是附录,参考书目以及致谢.第二章Agent简介2.1Agent技术的起源与发展进入20世纪90年代以来,在各种计算机文献和众多公司的技术发展规划中,Agent正日渐成为使用频率最高的词汇之一.下面就对Agent技术的发展做一个简要的阐述.智能Agent技术的诞生和发展是人工智能技术(AI)和网络技术发展的必然结果.从20世纪60年代起,传统的AI技术开始致力于对知识表达,推理,机器学习等技术的研究,其主要成果是专家系统.专家系统把专业领域知识与推理有机的组合在一起,为应用程序的智能化提供了一个低级而实用的解决办法.作为人工智能的一个分支,AI 计划理论的研究成果使应用程序有了初步的面向目标和特征,即应用程序具有了某种意义上的主动性;而人工智能的另一个分支-决策理论和方法则使应用程序具有了自主判断和选择的行为的能力.人工智能围绕着知识所进行的广泛研究和应用正逐步形成一门新的学科,这就是知识工程,它涉及的知识的获取,存储和管理等许多课题.所有这些技术的发展加快了应用程序智能化的进程.随着网络技术的发展,多个应用程序间相互作用的模式正从单一的集成式系统向分布式系统演化.一个在物理上和地理上分布的应用程序之间通信与合作的网络地层基础结构正逐渐建立起来.分布式对象技术(如CORBA或DCOM技术)则进一步使分布且异构的应用程序之间能以一种共同的方式提供和获得服务,实现了在分布式状态下的"软"集成.智能化和网络化的发展促成了Agent技术的发展,Agent技术正是为解决复杂,动态,分布式智能应用而提供的一种新的计算手段.2.2Agent定义目前并不存在一个被普遍接受的Agent的定义,事实上,对这个问题尚有争论,并存在不同的看法.尽管把自治性作为Agent的核心概念已经达成了普遍的共识,但除此之外很少有一致的看法.Wooldridge和Jennings在总结了前人在Agent领域的一些工作后认为,可以从狭义和广义两个方面去理解Agent的特性(1)Agent弱概念这是从广义的角度来规定Agent的特性.几乎所有被称为Agent 的软件或硬件系统都具有以下的特性:自治性(Autonomy):Agent运行时不直接由人或者其它东西控制,它对它们自己的行为和内部状态有一定的控制权.社会能力(Social Ability)或称可通信性:Agent能够通过某种Agent通信语言(agent communication language)与其它Agent进行信息交换.反应能力(Reactivity):即对环境的感知和影响.无论Agent生存在现实的世界中(如机器人,Internet上的通讯Agent,用户界面Agent等)还是虚拟的世界中(如虚拟商场中的Agent,交互式游戏中的Agent等),它们都应该可以感知它们所处的环境,并通过行为改变环境.一个不能对环境做出影响的物体不能被称作Agent.自发行为(Pro-activeness):传统的应用程序是被动地由用户来运行的,而且机械地完成用户的指令;而Agent的行为应该是主动的,或者说自发的.Agent感知周围环境的变化,并作出基于目标的行为(goal-directed behaviour).在这种定义下,最简单的Agent就是具有上述特性的一个计算机进程,这个进程可以简单到只是个具有某种智能的子程序,能够与别的Agent交换消息.Agent弱概念使Agent不仅仅只应用于人工智能领域,而且广泛地应用在诸如人机界面,通信,并行工程,软件工程,搜索引擎等.因此很多计算机软件都可以纳入Agent的范畴里来,例如处理Internet事务,帮助用户处理E-mail的助理Agent等.Marvin Minsky从多Agent系统的社会智能的角度给出Agent的一个定义:"这些进程我们称之为Agent,每个Agent本身只会做一些简单的事情,但当我们用特定的方法将这些Agent组成一个Agent群(society),就产生了真正的智能."Minsky的定义显然也是一种广义的定义.(2)Agent强概念对某些研究者,尤其是人工智能的研究者来说,Agent除了应具有上面这些特性以外,还应该具有某些通常人类具有的特性.例如知识,信念,意图,承诺等心智状态.有的学者甚至提出了有情感的Agent.当前对强概念Agent的研究主要集中在理论方面.例如,Shoham提出的面向Agent编程(AOP Agent-Oriented Programming)使用的就是强概念的Agent定义:"一个Agent是这样一个实体,它的状态可以看作是由信念(belief),能力(capability),选择(choice),承诺(commitment)等心智构件(mental component)组成."(3)Agent的其它属性长寿性(Longevity):传统应用程序在用户需要时激活,不需要时或者运算结束后停止.Agent与之不同,它应该至少在"相当长"的时间内连续地运行.移动性(Mobility):Agent可以从一个地方移动到另一个地方而保持其内部状态不变.Agent可以携带数据和能够在远处执行智能指令.推理能力(Reasoning):Agent可以根据其当前的知识和经验,以理性的,可再生的方式推理或推测.规划能力(Planning):根据目标,环境等的要求,Agent应该至少对自己的短期行为作出规划.虽然程序设计人员可以提供一些常见情况的处理策略,但这些策略不可能覆盖Agent将遇到的所有情况.所以,Agent应该有生成规划的能力.学习和适应能力(Learning and Adaptability):Agent可以根据过去的经验积累知识,并且修改其行为以适应新的环境.另外,有些学者还提出Agent应该具有自适应性,个性等特性.诚实(Veracity):假定Agent不会故意提供错误信息.善意(Benevolence):假定在Agent之间不会存在相互冲突的目标,且Agent总是尽力去帮助其它Agent.理性(Rationality):假定Agent总是尽力去实现自己的目标.2.3Agent的适用领域与用户有灵活的相互作用,在互相作用中智能地协助用户完成琐碎的工作.在对海量分布式信息搜索中,建立快速智能的搜索机制.在高度动态的环境下,要求应用程序能对多边的环境作出响应或自适应.需要应用程序能自主处理失效或冲突,以进行在调度,再计划或资源再分配.需要应用程序既能进行长期计划驱动的行为,又能从事短期试试响应行为.在复杂的或安全性很重要的应用程序中,保证适宜的反应和应答时间.在地理上或逻辑上分布,自主或异构的节点间提供应用服务或中间件服务.在不完全信息下的复杂或分散的资源分配问题.2.4agent技术的标准化FIPA(Foundation for Intelligent Physical Agents)是一个由IBM,NHK,BT等公司和政府,学术机构组成的权威的Agent标准化组织(),目前该组织正致力于以下三个主要领域的标准制定:Agent管理需要认同和发现Agent(白,黄页服务),需要定义它们的各种状态以及哪些角色能与它们相互作用.Agent相互作用覆盖最高层Agent间相互作用的标准,包括Agent 间传递的信息的意义,命令,请求,义务等.Agent与软件的接口.此外FIPA还制定了4个参考应用领域的标准,包括个人旅行助手,个人助手,声/视娱乐广播,网络管理等.正在制定的标准包括人类Agent的相互作用,产品设计与制造Agent,Agent安全管理,支持移动性的Agent管理,Ontology(共享语汇)服务,Agent消息传送,Agent命名,内容语言库等.尽管FIPA标准仍在制定和发展之中,但是随着越来越多组织的加入,它必将称为促进Agent应用和发展的主要推动力.第三章JADE平台介绍3.1JADE平台简介JADE(Java Agent Development Framework)是一个软件开发框架,用于开发多Agent系统和符合FIPA标准的智能Agent应用程序.它包含两个主要的产品:一个符合FIPA标准的Agent平台和一个开发JAVA Agent的包.JADE完全是由JAVA编写的,由各种JAVA包组成,它为应用程序员既提供现成的功能片断,同时也为自定义的应用程序任务提供抽象接口.由于JAVA的许多良好的特性,它是一种很特别的编程语言,特别是它在分布式的不同环境中的面向对象编程方法,例如对象序列化(Object Serialization),反映性API(Reflection API)和远程方法唤醒(Remote Method Invocation RMI).JADE主要由下面的包组成:jade.core实现系统的核心.它包含必须被应用程序员继承的Agent类,除此以外,jade.core.behaviours子包还包含一个Behaviour类层次结构.行为实现了一个Agent的任务或意图.它们是逻辑活动单元,并且可以以不同的方式组合,以获取不同的执行方式,当然,它们是可以并行执行的.应用程序员定义Agent的操作,编写行为以及Agent的执行路径.ng.acl子包用于依照FIPA标准规定处理Agent通讯语言(ACL).jade.content包包含了一组类用于支持用户定义的概念和语言.jade.domain包包含了所有那些由FIPA标准定义的,描述Agent 管理实体的JAVA类,特别是AMS和DFAgent,它们提供生命周期服务和白黄页服务.子包jade.domain.FIPAAgentManagement包含了FIPA Agent管理的概念和描述其概念的类.子包jade.domain.JADEAgentManagement则包含了JADE对Agent管理的扩展(例如,对消息的探测以及控制Agent的生命周期).子包jade.domain.introspection包含了用于描述在JADE工具和JADE内核之间沟通领域的概念.子包jade.domain.mobility包含了描述移动通信的概念.子包Jade.gui包含了一组一般的类,用于建立用户图形界面,用来显示和编辑Agent标识符,Agent描述,ACL消息……jade.mtp包包含了一个JAVA接口.为了容易用JADE框架集成,每个消息传送协议必须利用这个接口,它还包含了一组这些协议的执行.jade.proto包包含了建模标准交互协议的类(如:fipa-request, fipa-query, fipa-contract-net, fipa-subscribe和其他一些被FIPA定义的类),同时也包含了帮助应用程序员建立自定义的协议的类.3.2JADE的特点下面是JADE提供给Agent编程人员的JADE特点列表:-分布式Agent平台.Agent平台可以分散在几个主机上(假设它们可以通过RMI连接起来).-从远方主机用图形用户界面来管理Agent和Agent容器.-在开发基于JADE的多Agent应用程序时,可以利用调试工具.-平台内的Agent移动性,包括传递Agent的状态和代码(当需要的时候).-通过行为模型,对多个平行,并行的Agent活动的支持.JADE以无优先权的方式对Agent行为进行调度.-FIPA标准的Agent平台,包括AMS(Agent管理系统),DF(目录服务),和ACC(Agent通讯通道).这三个组成部分在Agent平台启动时被自动激活.-为了多域的应用程序,许多FIPA标准的DF在运行时可以被启动.在程序中,每个域是一组逻辑Agent,它们提供的服务通过一个公共的设备被公布出来.每个DF继承了GUI和所有由FIPA定义的标准功能(即,注册,注销,修改,搜索Agent标识符的功能和在网内连接DF的功能).-在同一个Agent平台内有效率的ACL消息传输.事实上,消息在传送时是以JAVA对象被编码,而不是字符串,这样是为了避开编组和未编组的程序.当消息跨越平台边界的时候,它们被自动转换为FIPA 标准的语法,编码方式,传输协议或反之.这种转换对于Agent执行者来说是透明的,它们只需要处理JAVA对象.-FIPA交互协议库是现成可用的.-通过AMS,Agent可以自动进行注册和注销.-符合FIPA标准的命名服务:在启动时,Agent从平台上获取它们的GUID(全球唯一标识).-对应用程序定义的相关语言和概念的支持.-程序内接口,它允许外部应用程序启动自治的Agent.3.3用JADE创建多Agent系统3.3.1Agent平台由FIPA定义的标准的Agent平台模式由以下几部分组成:Agent管理系统(AMS)是负责监督管理对Agent平台的访问和使用的Agent.在一个单独的平台上,只能有一个AMS.AMS提供白黄页服务,以及生命周期服务,它保留了一个Agent标识符目录(AID)和Agent状态信息.每个Agent必须在AMS注册,以获得一个有效的AID.目录服务(DF)是在平台上提供默认的黄页服务的Agent.消息传输系统,又叫做Agent通信通道(ACC),是控制平台内所有的信息交换,包括与远端平台进行信息交换的软件.图3-1JADE完全参照这个标准体系结构.因此,当一个JADE平台启动的时候,AMS和DF就自动被建立了,同时ACC模块允许消息进行传输.Agent平台允许建立在几个主机上.在每个主机上只有一个JAVA应用程序,当然也只有一个JAVA虚拟机(JVM)被执行.每个JAVA虚拟机是一个基本的Agent容器,它为Agent的执行提供一个运行环境,同时它允许几个Agent在同一个主机上并行的执行.主容器(main-container)是Agent容器,它包括AMS和DF,在那里注册RMI(它由JADE在内部使用).与主容器相关的其它容器,为任何一组JADE Agent的执行提供一个完整的运行环境.图3-23.3.1.1DF服务jade.domain.DFService利用一组静态方法来实现与一个标准的FIPA DF服务进行交互.它包含了从DF请求注册,注销,修改,搜索行为的方法.每个方法都有一个带有所有所需参数的版本,以及一个所有省略参数都是默认值的版本.注意,这些方法将会阻塞每个Agent活动直至行为被成功的执行或者掷出了一个jade.domain.FIPAException违例,也就是说直到会话的结束.在某些情况下,以不阻塞的方式执行这些方法可能会更方便.在这些情况下,jade.proto.AchieveREInitiator或者jade.proto.SubscriptionInitiator将与createRequestMessage(),createSubscriptionMessage(),decodeDone(), decodeResult()和decodeNotification()联合使用,这将简化向DF发送消息的准备,以及从DF接受消息时的解码.3.3.1.2AMS服务这个类与DFService类是成对的,它的服务是由一个标准的FIPA AMSAgent提供的,并且它的界面是与DFService完全一致的.注意JADE在调用setup()前和takeDown()返回以后分别自动调用注册和注销方法,所以一般的程序员不用去调用它们.但是在某些特定的环境下,程序员可能需要调用它们.3.3.2Agent类Agent类是用户自定义Agent的公共基类.因此,从程序员的角度看,一个JADE Agent仅仅是用户自定义的继承了Agent类的一个实例.这表现了特性的继承性,这种继承性主要体现在Agent平台间交互(注册,配置,远程管理),以及用以实现自定义的Agent行为的一组基本方法(如收发消息,使用标准交互协议,注册域,...).Agent的计算模型是多任务的,任务(或是行为)是并行执行的.每个由Agent提供的功能/服务应该作为一个或者多个行为被执行(参考3.4行为的执行).Agent基类内的调度对程序员是透明的,它自动管理行为的调度.3.3.2.1Agent生命周期图3-3根据FIPA中的Agent平台生命周期,JADE Agent可以处于这几个状态之一,它们在Agent类中用几个常量来表示.这些状态分别是:初始状态AP_INITIATED:Agent对象已经建立,但是还没有由AMS 注册,既没有名字,也没有地址,而且不能与其它Agent进行通讯.激活状态AP_ACTIVE:Agent对象已经由AMS注册,有正规的名字和地址,而且具有JADE的各种特性.挂起状态AP_SUSPENDED:Agent对象当前被停止.内部的线程被挂起,没有Agent行为被执行.等待状态AP_WAITING:Agent对象被阻塞,等待其它事件.内部的线程在JAVA 监控器上休眠,当条件满足时被唤醒(典型的情形是消息到达).删除状态AP_DELETED:Agent死亡.内部的线程的执行被终结,Agent不再在AMS上有注册信息.传送状态AP_TRANSIT:移动Agent移动至一个新的位置时进入这个状态.系统继续缓存将被送到这个新位置的消息.拷贝状态AP_COPY:这是JADE在Agent克隆时的一个内部状态.离开状态AP_GONE:这是JADE在移动Agent移至一个新的地点时的一个内部稳定状态.注意Agent只有在激活状态时才允许执行行为(也就是任务).注意如果任何一个行为调用doWait()方法,那么整个Agent及其所有的活动都被阻塞,而不仅仅是调用这个方法的行为.而block()方法是Behaviour类的一部分,这是为了挂起一个单独的Agent行为.3.3.2.2Agent内的通讯Agent类同样提供了一组用于Agent内通讯的方法.根据FIPA说明,Agent通过异步消息传输进行通讯,ACL消息的对象是交换的有效载荷.一些由FIPA定义的交互协议也是可由Agent活动调度的现成可用的行为,它们是jade.proto包的一部分.Agent.send()方法可以发送ACL消息.接收槽保留了正在接收消息的Agent的ID.这种方法调用对于Agent的位置来说是透明的,也就是说无论是本地或是远程的Agent,是平台负责选择最合适的地址和传输机制.3.3.2.3带有图形用户界面(GUI)的Agent一个构造为多Agent系统的应用程序仍然需要与它的用户进行交互.因此,在应用程序中有必要至少在某些Agent上提供GUI.虽然这可能引起一些问题,这主要是因为Agent自治特性和普通用户图形界面的反映性间的不匹配造成的.使用JADE时,JADE Agent采用的每个Agent一个线程的并发模式必须要与Swing并发机制配合使用. 3.3.3Agent任务.执行Agent行为为了响应不同的外部事件,Agent必须能够执行几个并行的任务.为了使Agent管理更加有效率,每个JADE Agent都由一个单独的执行线程组成,并且它的任务都是模型化的,可以作为Behaviour的对象来执行.同样可以执行多线程的Agent,但是JADE并没有对此提供特别的支持.想要执行一个基于Agent的任务的开发者应该定义一个或者更多Behaviours子类,实例化它们,并把任务对象添加到Agent任务列表中.类Agent是必须由Agent程序员继承的,提供了两个方法:addBehaviour(Behaviour)和removeBehaviour(Behaviour),它们允许用来管理一个具体任务的就绪队列.注意行为和子行为可以在需要的时候添加进来,而不仅仅是在Agent.setup()方法内部.添加一个行为应该被看做在Agent内产生一个新的(合作)执行线程的方式.由Agent基类执行的调度程序对于程序员来说是透明的,对于就绪队列中所有有效的行为,它的调度策略是无优先权的时间片轮转法,执行Behaviour-derived类,直至释放控制权(这在action()方法返回时执行).如果任务没有放弃控制权,它将在下一次轮转是被重新调度.在等待消息到达时,行为同样可以被阻塞.具体的说,Agent调度程序执行就绪行为队列中每个行为的action()方法.当action()返回时,done()方法被调度,它用来检测行为是否完成.如果完成了,行为对象将从队列中删除.行为像合作线程一样工作,但是,没有保存任何栈.因此,整个运行状态必须被保留在Behaviour和它相关的Agent的临时变量中.为了防止在激活状态等待消息(这样会浪费CPU的时间),允许每个Behaviour阻塞它自己的运行.当action()方法返回时,block()方法就把行为放到阻塞行为队列中.注意,因此,阻塞的结果并不是在调用block()方法后立即体现出来,而是在action()方法返回后.在新的消息到达后,所有被阻塞的行为将重新被调度,因此程序员必须考虑再次阻塞与到达的消息不相关的行为.此外,一个行为对象可以通过向block()方法传递一个时间域值把自己阻塞一段有限的时间.在JADE后来的版本中,考虑了更多的唤醒事件.因为从Agent行为中进行选择时,采用的是无优先权的多任务模型,Agent程序员必须注意避免使用无限循环,以及在action()方法内部执行长的操作.记住,当某个行为的action()运行时,其它的行为都不能执行,直至action()结束(这当然只是考虑同一个Agent内的行为,其它Agent的行为是运行在不同的java线程内,当然可以继续独立的运行).除此以外,既然没有保存任何堆栈,每次action()方法都是从头开始运行,action()方法不可以在中间打断,也不可以把CPU让给其它的行为,然后从行为离开的位置,启动最初的那个行为.3.4交互协议FIPA规定了一组标准的交互协议,可以以它们作为标准模板来建立Agent间的对话.对于Agent间的每一次对话,JADE都区分了发起者(发起会话的Agent)和回应者(在与其它Agent取得联系后参与到会话中的Agent).JADE依据大部分的FIPA交互协议,为会话中的两个角色都提供了行为类.正如在这节中所描述的,这些类都可以在jade.proto包中找到.它们通过一个同类的API提供了回叫方法来处理协议的各个状态.所有的发起者行为一达到交互协议的某个最终状态,就会立即结束,并从Agent的任务队列中删除.为了不必重新建立新的java对象就能再次使用代表这些行为的java对象,所有的发起者都包含了一些带有合适参数的复位方法.此外,所有的发起者行为,不只是FipaRequestInitiatorBehaviour都可以进行一对多的会话,也就是。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
轻 单 个 中心 节 点 失 败 的 问题 。 关 键 词 :移 动 智 能 代 理 ; 网络 取 证 ; 网络 路 由 日志分 析 ; 分布 式软 件 ;数 据 包 中图法分类号 : 33 TP 9 文献标识号 : A 文 章 编 号 :1 0—0 4 (0 2 83 1—5 0 07 2 2 1 )0 —2 90
p itfi r r be i alvae t e l ain oo
Ke r s mo i g n s e wo k f r n is e wo k t a f o n l ss it i u e o t r ;d t a k g y wo d : b l a e t ;n t r o e sc ;n t r r fi l g a a y i ;d s r t d s fwa e a a p c a e e c b
D sr u e e wo k f r n isb s d o ADE mo i e t iti t d n t r o e sc a e n J b bl Ag n e
DU n s e g。ZHAO in.LIBo Qi-h n Ja
( l g fCo u e ce c n c n lg ,Ch n c u ie st ,Ch n c u 3 0 2 Col eo mp trS in ea dTe h oo y e a g h n Unv r i y a g h n 1 0 2 ,Chn ) ia
Ab ta t F rt e s e rv l me o a aa d n t r o g s in a h e ta y t m e f r n h o e sc n l ss h i— s r c : o h h e o u fd t n e wo k c n e t tt ec n r ls s e p ro mi g t e f r n isa ay i ,t ed s o t iu e r h t cu ec n it g o d p n e ta e te t i si p e e t d An e f in c a im o vd n e c l c in a d v — rb t d a c i t r o ss i fi e e d n g n n i e r s n e . e n n t s fi e tme h n s f re i e c o l t n i c e o
杜钦 生 ,赵 剑 ,李 博
( 长春 大学 计算机 科 学技 术 学院 ,吉林 长春 10 2 ) 3 02
摘 要 :为 了解 决数据量 大仅在 中央 系统一个点做 取证 分析容 易导致 网络拥挤 和 失败 的问题 ,提 出了一种 包含 有独 立 A—
gn 实 体 的 分布 式 网络 取 证 系统 。 这 些 独 立 的 Agn 实体 出发 遍 历 各 个 分 散 的 系 统 ,提 供 了收 集 证 据 和 将 网络 中路 由 可视 et et
21 0 2年 8月 第 3 3卷 第 8期
计 算 机 工程 与设 计
C OM PUTER ENGI NEERI NG AND DES GN I
Au . 0 2 g 2 1
Vo . 3 No 8 13 .
基于 J D A E移动 A e t 分布 式 网络 取 证 系统 gn 的
s aiain o ewo k tafci p o ie o iv siaet e n t r o e sc. Th p cf e in i i lme td o h a a u l t fn t r r fi s r vd d t n e t t h ewo k f rn is z o g e s e ic d sg s mpe ne n t eJ v i Ag n e tDEv lp n lto eo me tP afr (ADE) m J .Th eut h w hsa piaino ot r g n sdsrb tsb t h r c sigla er s lss o t i p l t f fwaea e t itiue o ht ep o e s d c o s n o
0 引 言
目前 出现 的网络 取证_ 工 具可 以被 划分 到下 面两种 体 1 ] 系结构 :集中式设计 ,它在一 个大 的系统里保 存 网络路 由
据 。实 际上减少 了单一 庞大 的系统 的数 据存储 需求 ,减少 了过量 的处理 、带 宽 和通信 的负担 ,更 好 的平 衡 。这也 展 示 了分散 的路 由数 据的全 局概 念 ,能够 在运 行 时按 照需 要 建立 和部署额 外的 Agn ,提供 网络路 由的实时监控 。 et
化 的高效机制 ,可以帮助对 网络 活动进行 分析 和取证 调查 。通过使 用 Jv aa的 Agn 开发 平台来实现具体的设计 方案。 实验 et 表 明,Agn 的使 用可以将 处理 负担 和存储 需求分散 给 多个 网络 系统 ,减轻在 单一 系统上 的网络拥挤 ,数 据 的备份也 能减 et