信安大赛作品使用指南

本文最后更新于:2 年前

本作品基于JADE(Java智能体开发框架),是一个实现共识算法的通信框架,用于进行威胁信息共享。

JADE简介

JADE是基于Java 语言的Agent开发框架,是由TILAB 开发的开放源代码的自由软件。JADE是多Agent开发框架,遵循FIPA规范,它提供了基本的命名服务,黄业服务,通讯机制等,可以有效地与其它Java开发平台和技术集成。 JADE架构适应性很强,不仅可以在受限资源环境中运行,而且与其他复杂架构集成到一起,比如:Net和Java EE。它包括一个Agent赖以生存的运行环境,开发Agent应用的类库和用来调试和配置的一套图形化的工具,简化了一个多Agent系统的开发过程。

JADE功能

JADE为多Agent系统提供了以下功能:

(1)Agent管理系统(Agent Management System,简称AMS),负责控制平台内Agent的活动、 生存周期及外部应用程序与平台的交互,规范Agent在平台上用独一无二的名字来标识;
(2)目录服务器(Dilectoly Facilitatol,简称DF),负责对平台内的Agent提供黄页服务,注册服务类型以供查找;
(3)消息传送系统,也称为Agent交流通道(Agent Communication Channel,简称ACC),控制平台内或不同平台之间的消息传输、消息编码、消息解析等。
JADE定义了Agentclass作为其他Agent的父类,其他Agent均继承自Agentclass。Agentclass中定义了setup方法,用于初始化Agent;定义了takeDown方法,用于结束Agent的运行;定义了doDelete方法,用于终止Agent;定义了Behaviour类以及addBehaviour方法用于添加Agent任务。为了保证Agent的分布式计算和协作机制,JADE构建行为池(Behaviour Pool)来存储所有添加的Behaviour,这些Behaviour呈队列排列,按照进入行为池的顺序依次被调用。Behaviour方法被调用时,首先执行Action方法,然后判断Done函数返回的布尔值,如果为真则将Behaviour移出行为池,继续下一个Behaviour的执行。JADE提供了这样一个基类,其他Agent所需要做的是重载setup,action,done,takeDown 这几个方法来实现特定的功能模块。

环境配置

安装JADE前需要先安装jdk并配置好Java环境

从JADE的官方网站JADE官网上下载JADE的最新版本,目前最新的是4.5.0,我下载的是包含全部文件的JADE-all-4.5.0.zip,先解压这个压缩包,解压得到的文件夹中的所有压缩包也解压到各自的文件夹。建立文件夹起名为jade(存放位置和命名自己喜欢和习惯即可),用来存放JADE的相关文件,我把刚才解压缩的四个文件夹都拷贝到在这个jade文件夹中。
四个文件夹说明:

JADE-bin-4.5.0(存放JADE的核心部件,它是JADE框架平台的支持文件)
JADE-doc-4.5.0(存放JADE的说明文档,其中包括各种程序说明与教程资料)
JADE-examples-4.5.0(存放 JADE 的实例源代码)
JADE-src-4.5.0(存放JADE框架平台的源代码,JADE为开源项目)

Eclipse开发

Window->Preferences->Java->Build Path->User Libraries新建库,命名为jade,添加jade.jar进这个jade库里
新建工程,命名为jade,右击工程,Build Path->Configure Build Path->Libraries->Add Library->User Library,然后将jade库添加进去
在src目录下新建文件夹jadetest,然后将本作品的文件导入
Run Configurations

右击AgentSelector.java,选择Run As,选择Run Configurations,选择Java Application,点击添加,Name起名为:Run In JADE(可任意),Project名不变,Main Class起名为:jade.Boot(固定,不可改变),Argument中Program arguments起名为:-gui selector:jadetest.AgentSelector(如果只想打开GUI管理器而不运行程序,则只要-gui即可),其中,selector为智能体的名字,jadetest为包名,AgentSeletor为类名。其他默认即可,配置完成,点击Run,运行如下:

GUI

可以看到创建出来的selector智能体。这里的selector是用来确定通信过程中哪个Agent智能体为主节点。
右击Main-Container点击Start New Agent即可创建一个新的Agent智能体。

创建新的Agent

这里Class Name选择jadetest.NodeAgent,点击OK创建好一个Agent:

作品运行UI

点击帮助了解作品使用方法

帮助


本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!