面向agent的开发平台JACK完全建立在Java程序语言的基础上,它除了包含Java开发环境的所有组件之外,还提供了特殊的扩展来实现agent的行为,支持BDI和team。面向agent的程序是一个先进的软件模拟范例,主要应用在展示类似人类行为的、会推理的特殊领域,非常适合于如分布式的商务系统、智能工具和模拟、航空交通管理等领域。
本书是在http://www.agent-software.com/shared/resources/index.html所提供的JACK用户手册基础上,结合多年的开发实践经验整理而成,第1、2章主要论述了面向agent编程(AOP)的需求,第3章介绍了JACKagent的语法,第4章介绍JACK的开发环境,第5章介绍JACKteam的语法,第6章介绍JACK的可视化编程工具,第7章结合实践,详细分析了JACK程序设计的过程,附录中列出了已经商品化的智能体开发工具清单。
本书是一本工具书,可作为高等学校电子信息、自动化、自动控制、机电工程、计算机及其他相关专业研究生和本科高年级学生的“知识工程”课程教材,也可供从事agent应用系统开发的科技工作者参考。
样章试读
目录
- 《智能科学技术著作丛书》序
前言
第1章 绪论
1.1 面向对象的软件设计方法的不足
1.2 什么是agent
1.3 为什么需要AOP
第2章 面向agent建模
2.1 面向agent建模的特点
2.2 对象与agent
2.3 多agent模拟软件简介
第3章 JACK agent语言概述
3.1 JACK介绍
3.2 JACK agent语言对Java的扩充
3.2.1 语法扩充
3.2.2 语义扩充
3.3 agent类
3.3.1 agent定义
3.3.2 agent声明
3.3.3 agent的成员和方法
3.3.4 Hanoi塔中的agent定义
3.4 能力类
3.4.1 能力定义
3.4.2 能力声明
3.4.3 能力的成员和方法
3.4.4 Hanoi塔中的能力定义
3.5 事件类
3.5.1 什么是事件
3.5.2 标准事件
3.5.3 BDI事件
3.5.4 自动事件
3.5.5 事件定义
3.5.6 事件的成员和方法
3.5.7 事件声明
3.5.8 Hanoi塔中的事件定义
3.6 视图类
3.6.1 视图定义
3.6.2 视图声明
3.6.3 视图定义实例
3.7 agent通信
3.7.1 局部通信
3.7.2 远程通信
3.7.3 JACOB
3.7.4 agent通信语言
3.8 规划类
3.8.1 什么是规划
3.8.2 有限状态机
3.8.3 游标(指针)
3.8.4 规划定义
3.8.5 规划的成员和方法
3.8.6 规划声明
3.8.7 Hanoi塔中的规划定义
3.9 规划中的推理方法
3.9.1 规划流控制方法
3.9.2 规划挂起方法
3.9.3 规划中的事件控制方法
3.9.4 选择规划
3.9.5 可应用规划集的产生
3.9.6 可用规划集
3.9.7 选择规划实例
3.10 信念集类
3.10.1 信念集定义
3.10.2 信念集成员和方法
3.10.3 信念集声明
3.10.4 信念集回调
3.10.5 信念集关系操作
3.10.6 Hanoi塔中的信念定义
第4章 JACK开发环境
4.1 打开JDE
4.2 JDE菜单栏
4.2.1 主菜单
4.2.2 文件菜单
4.2.3 编辑菜单
4.2.4 视图菜单
4.2.5 实体菜单
4.2.6 跟踪菜单
4.2.7 工具菜单
4.2.8 窗口菜单
4.2.9 帮助菜单
4.3 JDE工具栏
4.3.1 JDE操作按钮
4.3.2 切换按钮
4.4 JDE编译器工具
4.4.1 选项标签
4.4.2 编译程序标签
4.4.3 运行程序标签
4.4.4 转换非-JDE JACK标签
4.4.5 项目文件和文件列表标签
4.5 代码编辑器
4.5.1 代码编辑器选项栏
4.5.2 保存
4.6 JDE浏览器
4.6.1 浏览器交互
4.6.2 有名元素
4.6.3 对象重用
4.6.4 一般功能
4.7 JDE浏览器:agent模型
4.7.1 agent类型
4.7.2 能力类型
4.7.3 规划类型
4.7.4 事件类型
4.7.5 有名数据
4.7.6 团队(team)类型
4.7.7 角色类型
4.7.8 有名角色
4.8 JDE浏览器:数据模型
4.8.1 信念集类型
4.8.2 视图类型
4.8.3 团队数据类型
4.8.4 外部类
4.9 项目细节
4.10 首选项
4.10.1 项目视图标签
4.10.2 文本编辑标签
4.10.3 设计工具标签
4.10.4 图形面板标签
4.10.5 字体标签
4.10.6 高级标签
第5章 JACK team
5.1 什么是JACK team
5.2 基本概念
5.3 team结构
5.3.1 结构
5.3.2 行为
5.3.3 信念传播
5.4 team
5.4.1 team的定义
5.4.2 team声明
5.4.3 team的构建和初始化
5.5 角色
5.5.1 角色定义
5.5.2 角色声明
5.5.3 角色的基类
5.6 team信念的联接
5.6.1 联接源声明
5.6.2 联接目标声明
5.6.3 动态信念联接
第6章 JACK设计工具
6.1 概述
6.1.1 设计工具的特点
6.1.2 启动设计工具
6.2 构件类型
6.3 设计工具窗口
6.3.1 控制工具条
6.3.2 工具条
6.3.3 画布
6.4 设计管理
6.4.1 创建设计
6.4.2 编辑设计
6.5 Hanoi塔程序设计视图
第7章 JACK编程实践
7.1 应用程序的创建
7.2 JACK编程步骤
7.2.1 案例一
7.2.2 案例二
7.3 规划编程
7.3.1 规划定义模板
7.3.2 功能抽象——推理方法或子规划
7.3.3 逻辑说明
7.3.4 逻辑成员
7.3.5 复合逻辑表达式
7.4 JACK team编程
7.5 信念联接编程
7.5.1 合成信念联接
7.5.2 合成信念联接举例
7.5.3 继承信念联接
7.5.4 继承信念联接举例
7.6 Ping程序分析
7.6.1 问题描述
7.6.2 主程序分析
7.6.3 Pinger agent程序分析
7.6.4 Ping事件的源程序
7.6.5 规划React的源程序
7.6.6 编译和运行
7.7 ATM程序分析
7.7.1 ATM程序的组成
7.7.2 ATM的编译与执行
7.8 面向agent的聊天系统分析
7.8.1 问题描述
7.8.2 系统分析
参考资料
附录:商品化智能体开发工具清单