基于KQML和XML的多Agent系统_NKMAS
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
当 &’()* 处于活动状态时,自适应模块会不断检测 &’()* 所处环境的变化, &’()* 管 理 模 块 设 置 自 适 应 模 块 中 的 环 境 变 化的阈值, 当环境的变化超出允许范围的时候, 自适应模块将 环境的具体变 化 通 知 给 &’()* 管 理 模 块 , 由 &’()* 管 理 模 块 进 行相应的处理。
#5 , 并做了某些改进。 现参考了 2-3’ 的 .’/ 参考模型 4!,
图&
’()*+ 结构
( 用户接口: 在用户和 ’()*+ 之间提供一个界面, 用户 可 &) 以 向 ’()*+ 提 出 任 务 请 求 , 同 时 ’()*+ 可 以 向 用 户 反 馈 各 种 信息。 负责操纵、 监控、 协调 ( !) ’()*+ 管 理 模 块 : ’()*+ 的 核 心 , 与其它模块的交互。 任务求解模块: 即基于局部知识库的推理机, 对用户提 ( #) 出的任务请求进行求解, 产生解决方案。 任务执行模块: 执行由任务求解模块产生的解决方案, ( 6)
’()*+
多 ’()*+ 系统
1F.G H.G
文献标识码 ’ 中图分类号 J3#K&
文章编号 &""!9I##&9( !""# ) #%9"!!I9"6
& #-.*/ &’()* ,01*(2 341(5 6) !"#$ 4)5 %#$: +!#&,
74)’ $(/ 89() "/-19-4)’ ( LD==)() DM -*MDN:;+<D* J)@A*D=D(B ;*O /@<)*@) , 0;*P;< Q*<R)N?<+B , J<;*S<* #"""7&)
信息。 当一个新的 &’()* 被创建的时候, 首先要在 &2 上进行注 计算机工程与应用
成, 体系结构如图 # 所示。
!""#$#% !!.
册, 以便 &’ 对其生命周期、 通信地址等基本信息进行管理。而 且 只 有 在 &’ 上 注 册 的 &()*+ 才 是 有 效 的 , 才 能 参 与 ,-.&’ 中的合作、 协作和协调等行动。&()*+ 注册时需同时注册 &()*+ 的名称、 主机名和主机地址, 由 &’ 记录所有活动的 &()*+ 的名 要定期向 称和地址。当一个已注册 &()*+ 在一个生命周期内, 一直 &’ 报告自己所处的状态。 &()*+ 的生命周期从启动开始, 到最终退出, 其中经历若干状态, 如图 % 所示。
图F
&’()* 2(47(4 结构
( 8) &’()* 管理系统: &’()* 2(47(4 中只存在唯一的一个 &12。 反注册, 检测或改变 &’()* 的状态。同 &12 负责 &’()* 的注册、 时 &12 还提供面向 &’()* 和面向管理员的查询接口。 ( !) =A: =A 为 &’()* 提供类似黄页的目录服务。 =A 总是可
()*+ 系 统 。
!!I !""#$#%
计算机工程与应用
或 &’()* 管理模块发出的其他指令。 ( 合作协商模块: 当 &’()* 产 生 合 作 需 求 , 或与其它 & %)
’()* 产 生 冲 突 的 时 候 , 由 该 模 块 负 责 处 理 合 作 或 具 体 的 协 商
任务。 ( 自适应模块: 感知环境的变化, 并 通 知 &’()* 管 理 模 +) 块, 以进行相应的调整。 ( 通信模块: 负责消息的发送和接受, 同时对要发送的信 ,) 息和接受到的信息进行初步的加工、 处理和存储。 知识库: 由领域级信息组成, ( -) &’()* 通 过 领 域 知 识 实 现 任务求解。 ( 任务库: 由用户提出的各种任务请求组成, 即各种任务 .) 组成的任务队列。
’()* 系统之间的接口,这样就允许 &’()* 连接非 &’()* 软件或 服务,其它 &’()* 可以把命令传递给 34566(4 &’()* 来调用底 层的服务。 34566(4 &’()* 提供了与非 &’()* 软件 交 互 的 一 个
特殊方法。这种做法具有很大现实意义,通过 34566(4 &’()* 可以更快、 更廉价地搭建多 &’()* 系统, 可以重用原来的代码, 也可以替换动态处理实体中的静态的 进而促进 &’()* 的使用, 代码段。
若任务求解模块认为任务不可解管理模块在接收到任务求解失败信息后产生相应的合作需求管理模块返回任务求解方案管理模块在接收到解决方案后调用任务处于活动状态时自适应模块会不断检测管理模块设置自适应模块中的环境变化的阈值适应模块将环境的具体变化通知给管理模块进行相应的处理
基于 !"#$ 和 %#$ 的多 &’()* 系统: +!#&,
图#
/01&2 体系结构
!$!
&’()* 的工作机制
处于活动状态的 &’()* 主要有两方面的工作, 一是接受并
#$8
!"#$$%" &’%()
文 中 采 用 34566(4 &’()* 作 为 原 有 管 理 信 息 系 统 与 多 &9
完成用户或其他 &’()* 提出的任务请求, 二是响应环境的变化。 当 用 户 提 出 任 务 请 求 时 , 通 过 用 户 接 口 向 &’()* 提 交 任 务, 当 其 他 &’()* 发 出 任 务 请 求 的 时 候 , 由 &’()* 管 理 模 块 分 析对方发出的消息并产生相应的任务请求。 &’()* 管理模块将 由用户接口接收到的或自己产生的任务直接放入任务库, 等待 执行。 活动 &’()* 处于空闲状态时, &’()* 管理模块定时检查任 务库, 若存在待执行的任务, 则将其取出交给任务求解模块, 任 务求解模块根据知识库中的知识对任务进行求解。 若任务求解 模 块 认 为 任 务 不 可 解 , 则 向 &’()* 管 理 模 块 返 回 任 务 求 解 失 败, &’()* 管 理 模 块 在 接 收 到 任 务 求 解 失 败 信 息 后 产 生 相 应 的 合作需求, 将合作需求发送到合作协商模块, 然后返回空闲状 态。若任务求解模块求得任务的解, 则向 &’()* 管理模块返回 任务求解方案, 调用任务 &’()* 管理模块在接收到解决方案后, 执行模块执行具体操作, 并返回空闲状态。任务执行如图 ! 所示。
在 01.’/ 的设计和实现的过程中,坚持了 01.’/ 的通 所 用性,即 01.’/ 的每个部分都是与具体使用领 域 无 关 的 , 以 在 01.’/ 的 基 础 上 加 入 实 际 的 业 务 逻 辑 以 及 相 关 的 领 域 知识, 可以搭建出适合任何领域、 任何用途的多 ’()*+ 系统。
图! 任务执行
信的, 它维护一个准确、 完全、 及时( 的 &’()* 列表。对于 *>:(B; ) 目录中的所有 &’()* 提供及时的信息。 ( 负 #) &’()* 服务器通信模块: &’()* 2(47(4 中的通信模块, 责完成 &’()* 2(47(4 的通信需求。 ( 保证 F) &’()* 服务器安全模块: &’()* 2(47(4 的安全模块, 防止非授权人员的控制, 同时维护 &’()* 2(47(4 不受恶意攻击, 自己的信息库的安全性等等。
!
01.’/ 中 ’()*+ 的结构和工作机制
作者简介: 杨磊( , 男, 天津人, 南开大学硕士研究生, 主要研究方向为现代集成制造系统、 宽带网络通信、 多 ’()*+ 系统、 供应链管理与现代 &K779 ) 物流。陈秋双( , 女, 河北人, 南开大学教授, 博士生导师, 主要研究方向为现代集成制造系统、 供应链管理与现代物流、 多 ’X &KWW9 )
01.’/ 是敏捷供需链管理研究项目的一部分。在供需链
中, 每个企业都是独立的, 有自己一定的资源, 有自身的目标, 同时整个供需链也有总的目标, 供需链管理不仅仅需要完成整 个供需链的总目标,同时还要最大限度地实现每个个体的目 所以笔者采用多 ’()*+ 标, 这些特点都与多 ’()*+ 系统很相似, 技术构建敏捷供需链的信息系统框架。 01.’/ 就是在敏捷供 需链管理中使 用 的 多 ’()*+ 系 统 , 该 多 ’()*+ 系 统 的 设 计 和 实
, &:1*;4<*: JA<? T;T)N <*+NDOE@)? +A) O)?<(* ;*O N);=<>;+<D* DM 0;*P;< .E=+< ’()*+ /B?+): ( 01.’/ ) UA<@A <? ; .E=+< ’()*+ /B?+): V;?)O D* 1F.G ;*O H.G$-+? <*+)N*;= ?+NE@+EN) ;*O UDNP<*( :)@A;*<?: ;N) O)?@N<V)O <* O)+;<=$ , !(0=6;51: ’()*+, .E=+< ’()*+ /B?+):( .’/ ) 1F.G, H.G
#$!$8 &’()* 2(47(4 的功能 &’()* 2(47(4 的主要功能包括管理多 &’()* 系统,以及提
供信息查询的接口。
#
/01&2 的体系结构
/01&2 由 &’()*、 34566(4 &’()*、 &’()* 2(47(4 和 网 络 组
&2 维 护 着 多 &’()* 系 统 内 所 有 &’()* 的 状 态 信 息 及 其 他
#$!
&’%() *%"+%"
/01&2 的 &’()* 2(47(4 由 &’()* 管理系统( &’()* 15)5’(:()*
、 目录服务模块( 、 2;<*(:, &12 ) =>4(?*@4; A5?>B>*5*@4, =A) &’()* 服务器通信模块( 、 &’()* 2(47(4 C@::D)>?5*( 1@DEB( , &2C1) 服务器安全模块( , ) 组 &’()* &’()* 2(47(4 2(?D4>*; 1@DEB( &221 成, 如图 F 所示。
杨 磊 陈秋双 ( 南开大学信息科学学院, 天津 #"""7& )
89:;<=: 0<)+>?@A)$B=C)BDE$@D:
摘 要 文章介绍一个基于 1F.G 和 H.G 的多 ’()*+ 系统—— —0;*1;< .E=+< ’()*+ /B?+):( 的设计和实现, 详 01.’/ )
细描述了 01.’/ 的内部结构以及运行机制。 关键词
解模块、 任务执行模块、 合作协商模块、 自适应模块、 通信模块、 知识库和任务库组成, 如图 & 所示。
’()*+ 成员的活动是自治的和独立的,通过竞争或磋商等手段 协 调 和 解 决 各 成 员 ’()*+ 的 目 标 和 行 为 之 间 的 矛 盾 和 冲 突 。
每个 ’()*+ 对于所要完成的任务 .’/ 的数据和资源是分散的, 拥有自己的信息或能力。
若 &’ 长 时 间 没 有 收 到 &()*+ 对 自 己 所 处 状 态 的 报 告 , 需 要向该 &()*+ 发出 查 询 指 令 , 若 没 有 响 应 则 认 为 该 &()*+ 非 正 常退出, 将 &()*+ 本次生命周期内所经历的状态和其他基本信 息 存 入 日 志 , 然 后 将 该 &()*+ 的 状 态 置 为 未 知 。 同 时 , &()*+
并向系统中的 &()*+ 提供查询接口。 &()*+ 的地址, 首 先 将 -2.3 消 息 传 给 &J., 当 &()*+ 发送消息时, &J. 将其放入发送消息队列等待发送。 &J. 定时检查发送 消 息 队 列, 若存在待发送的信息, 则 使 用 4.3 对 -2.3 消 息 进 行 封 装, 然后查询自己的地址簿, 若目的地址存在则直接发送, 若目 若查询成功, 将查询得到的 的 地 址 不 存 在 则 向 &’ 进 行 查 询 , 地址加入到地址簿中, 然后进行通信, 否则返回通信失败。当 由 &J. 对 4.3 进 行 解 析 , 将解析后 &()*+ 接 受 消 息 的 时 候 , 的 -2.3 消息对象放入接收消息队列, 等待 &()*+ 管理模块进 行处理。 检查自己是 &J. 还负责通信的保障, &J. 定期检查网络, 否与 &’ 所在主机保持着网络 连 接 。 同 时 &J. 还 负 责 地 址 簿 最近最少使用) 算法整理地址簿。 的维护, 按 36L (
装的原因。通信层次结构图如下:
图I
通信层次结构
1$!
&J. 与 &’J.
在 ,-.&’ 中,所有的 &()*+ 都有一个通信模块 &J., 该
模块负责所有与通信有关的动作。同时, &J. 中维护一份地址 簿,记录常用的 &()*+ 的地址。另外, &’ 中的 K9 维护着所有
图%
&()*+ 生命周期
&
引言
对 ’()*+ 理 论 和 技 术 的 研 究 最 早 起 源 于 分 布 式 人 工 智 能
!$&
’()*+ 的结构
01.’/ 中的 ’()*+ 由用户接口、 ’()*+ 管理模块、任务求
, 随着计算机网络、 计算机通信等技术的发展, 对 ’()*+ ( ,’-) 的研究不仅仅是 ,’- 研究 的 一 个 热 点 , 而 且 成 为 信 息 技 术 关 注的一个热点。 专家预测, ’()*+ 技术的成熟将不仅仅对当今流 行的软件开发技术产生革命性的影响, 而且通过引入更多的智 能和协作, 许多人们今天认为必须由人参与的“ 创造性工作” , 都可以由 ’()*+ 来完成。 多 ’()*+ 系 统 是 指 由 多 个 ’()*+ 组 成 的 多 ’()*+ 联 邦 , 这 相互服务, 共同完成一个任务。各 些 ’()*+ 成员之间相互协同,