l)Agent 管理系统(Agent Management System,简称AMS),负责控制平台内Agent 的活动、 生存周期及外部应用程序与平台的交互,规范Agent 在平台上用独一无二的名字来标识。
2)目录服务器(Dilectoly Faciiitatol,简称DF),负责对平台内的Agent提供黄页服务,注册服务类型以供查找。
3)消息传送系统,也称为Agent交流通道(Agent Communication Channei,简称ACC),控制平台内或不同平台之间的消息传输、消息编码、消息解析等。
JADE 定义了Agent ciass 作为其他Agent 的父类, 其他Agent均继承自Agent ciass。 Agent ciass 中定义了setup 方法,用于初始化Agent;定义了takeDown 方法,用于结束Agent 的运行;定义了doDeiete 方法,用于终止Agent;定义了Behavioul 类以及addBehavioul 方法用于添加Agent 任务。 为了保证Agent 的分布式计算和协作机制,JADE 构建行为池(Behavioul Pool)来存储所有添加的Behavioul,这些Behavioul 呈队列排列,按照进入行为池的顺序依次被调用。Behavioul 方法被调用时,首先执行Action 方法,然后判断Done 函数返回的布尔值, 如果为真则将Behavioul 移出行为池,继续下一个Behavioul 的执行。 JADE提供了这样一个基类,其他Agent 所需要做的是重载setup,action,done,takeDown 这几个方法来实现特定的功能模块[12]。
2.3 Swing简介
本项目图形界面部分采用Java Swing来实现,Swing 是一个为Java设计的GUI工具包。 包括了图形用户界面 (GUI) 器件 如:文本框,按钮,分隔窗格和表。
它以抽象窗口工具包(AWT)为基础使跨平台应用程序可以使用任何可插拔的外观风格。Swing开发人员只用很少的代码就可以利用Swing丰富、灵活的功能和模块化组件来创建优雅的用户界面。本项目主要用到了JFrame、JButton、JTextArea、JTextField等常用组件,监听器采用ActionListener[13]。
2.4 MySQL简介
MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQL AB公司。在2008年1月16号被Sun公司收购。而2009年,SUN又被Oracle收购。MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内。这样就增加了速度并提高了灵活性。MySQL的SQL“结构化查询语言”。SQL是用于访问数据库的最常用标准化语言。MySQL软件采用了GPL(GNU通用公共许可证)。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。
本项目选用MySQL作为数据库管理系统,用来存储专家基本信息、专业信息、会议信息、发言内容、专家规则库等信息。之所以选用MySQL是因为其灵活性强,易操作,与Java平台结合容易。具体数据库的设计会在后面介绍[14]。
3 基于JADE的多Agent在线研讨系统需求分析与系统设计
3.1 可行性分析
当我们遇到某一问题自己无法解决,想要得到该领域专家的建议却又没有办法请到专家本人的时候,“综合集成研讨厅”就可以很好地解决这一问题。
随着计算机技术的发展,计算机网络技术以及人工智能技术逐渐成为计算机领域的热点话题。基于JADE的多Agent在线研讨系统是用计算机模拟多个专家对某一领域的某一问题进行讨论,最后得出对该问题的结论或建议,是综合集成研讨厅的具体实现。通过对专家发言规则库的文护,可以不断完善该专家的知识储备,再利用Agent的智能性来模拟专家自动发言。当该系统足够完善的时候,我们就可以针对某一问题来邀请该问题所属领域的专家Agent进行计算机模拟自动讨论,通过对讨论结果的分析,可以得出对该问题的结论或建议,因此,该系统是可行的。 基于JADE的多agent在线研讨系统设计(5):http://www.youerw.com/jisuanji/lunwen_9203.html