jade 入门教程

时间:2024-03-07 12:01:33

基于JADE平台的Agent开发
由于课程的需要,最近要搞一个基于代理的程序设计例子。其实这中设计方法早就提出,但是网上提供的框架很少,主要是:jade(Java Agent DEvelopment framework)是基于java语言的开发agent的工作框架。还有一个葡萄城做的一个GrapeCity.AgentFramework,它主要的开发语言是C#,但是这个框架的文档不全(可能我自己找不到吧),有些不公开,我没有选用这个框架。

好了,下面进入JADE教程:
1、配置环境:

1.1、到官方网站下载最新版本的jade,http://jade.tilab.com/ 。文件结构:解压后jadeAll3.6文件夹下有四个文件夹分别是JADE-bin-3.6(存放jade的核心部件)、JADE-doc-3.6(存放jade的说明文档)、JADE-examples-3.6(存放jade的实例源代码)、JADE-src-3.6。我下的时候不知道网络问题,还是服务器问题,几M的东西下了半个小时,而且我只下了JADE-bin-3.6、JADE-examples-3.6。反正最好大家都下下来。

1.2 classpath设置:要包含在JADE-BIN-3.6\jade\lib\目录下有http、iiop、jade、jadeTools和commons-codec-1.3这五个文件。比如我的windowsXP中,我放在:E:\agent\JADE-bin-3.6\jade\lib。classpath设置有两种方式:

1.2.1、第一种:在命令行下cmd,输入:set CLASSPATH=E:\agent\JADE-bin-3.6\jade\lib\jade.jar;E:\agent\JADE-bin-3.6\jade\lib\iiop.jar;E:\agent\JADE-bin-3.6\jade\lib\http.jar;E:\agent\JADE-bin-3.6\jade\lib\jadeTools.jar;E:\agent\JADE-bin-3.6\jade\lib\comons-codec\commons-codec-1.3.jar,但是这种方式每次要用的时候就要重新输入,所以我推荐第二种。

1.2.2 第二种(推荐):系统中设置环境变量:在classpath变量中设置:.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar;E:\agent\JADE-bin-3.6\jade\lib\jade.jar;E:\agent\JADE-bin-3.6\jade\lib\iiop.jar;E:\agent\JADE-bin-3.6\jade\lib\http.jar;E:\agent\JADE-bin-3.6\jade\lib\jadeTools.jar;E:\agent\JADE-bin-3.6\jade\lib\comons-codec\commons-codec-1.3.jar   注意:.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar  这个前部分是java jdk的变量,一般装了java的前部都有了,所以你只需在后面加个分号:;,然后再加jade的变量。

1.3、环境正确性测试:
在命令行里输入:java jade.Boot -gui (注意大小写),如果配置正确那么过会会跳出一个窗口。

2、运行例子:学每种语言第一个基本都是helloworld,哈哈,这个也不例外。因为我们现在还不知道怎么编写,所以就用E:\agent\JADE-bin-3.6\JADE-examples-3.6\jade\src\examples里面的例子吧。注意:下面的例子我尽量说详细简单,高手不要笑话。

2.1、第一个例子:helloworld:
首先把例子\hello里面的HelloWorldAgent.java 改一下,用记事本打开,然后把package examples.hello;这句注释掉,因为有了这句入学者运行的时候有问题。就是在它前面加://, 保存。
然后,打开控制台:输入:e:,(跳到e盘),然后输入:cd E:\agent\JADE-bin-3.6\JADE-examples-3.6\jade\src\examples\hello  (让这个目录作为默认路径),先编译一下,输入:javac HelloWorldAgent.java  ,编译好了以后,输入:java jade.Boot -gui fuckjanpanese:HelloWorldAgent   ,注意fuckjanpanese是这个agent的名字,它可以自己随便起。HelloWorldAgent的类型,也就是我们写的HelloWorldAgent类。
效果:输入上面的命令,会跳出一个窗口,然后控制太会输出:Hello World! My name is fuckjapanese。而那个窗口的左边的树结构下的叶节点上没有显示我们的fuckjanpanese,那是因为这个agent的代码中输入Hello World! My name is fuckjapanese后,就把这个agent删了。所以要下看到添加进的agent.我们可以改HelloWorldAgent.java,把那句doDelete();注释掉,前面加//,保存重编译。再次用上面的命令运行我们就可以找到叶节点上多了一个类似于fuckjanpanese@name1099/JADE的agent.

运行了第一个例子以后,其他的例子也是一样的操作,强调一下:如果你是初学者,可能命令格式不是很了解,那么先把源代码中的package 申明注释掉。如果你想多了解其中的原因参考:http://blog.chinaunix.net/u/17663/showart_265800.html
接下来,你就可以看jade提供的文档(.\JADE-bin-3.6\JADE-doc-3.6\jade\doc),打开index.html,里面有很多例子,你挨个运行,你就能够慢慢了解怎么编代码了。


参考:
http://www-128.ibm.com/developerworks/cn/opensource/os-jade/
http://hi.baidu.com/hawkingliu/blog/item/be76a434a5b9e6b4d0a2d315.html
http://blog.chinaunix.net/u/17663/article_38100.html
http://jade.tilab.com/
http://user.qzone.qq.com/18166115/blog/1205408496

允许转载或链接,但请说明出处,否则追究法律责任