jade 入门教程
基于JADE平臺(tái)的Agent開(kāi)發(fā)
由于課程的需要,最近要搞一個(gè)基于代理的程序設(shè)計(jì)例子。其實(shí)這中設(shè)計(jì)方法早就提出,但是網(wǎng)上提供的框架很少,主要是:jade(Java Agent DEvelopment framework)是基于java語(yǔ)言的開(kāi)發(fā)agent的工作框架。還有一個(gè)葡萄城做的一個(gè)GrapeCity.AgentFramework,它主要的開(kāi)發(fā)語(yǔ)言是C#,但是這個(gè)框架的文檔不全(可能我自己找不到吧),有些不公開(kāi),我沒(méi)有選用這個(gè)框架。
好了,下面進(jìn)入JADE教程:
1、配置環(huán)境:
1.1、到官方網(wǎng)站下載最新版本的jade,http://jade.tilab.com/ 。文件結(jié)構(gòu):解壓后jadeAll3.6文件夾下有四個(gè)文件夾分別是JADE-bin-3.6(存放jade的核心部件)、JADE-doc-3.6(存放jade的說(shuō)明文檔)、JADE-examples-3.6(存放jade的實(shí)例源代碼)、JADE-src-3.6。我下的時(shí)候不知道網(wǎng)絡(luò)問(wèn)題,還是服務(wù)器問(wèn)題,幾M的東西下了半個(gè)小時(shí),而且我只下了JADE-bin-3.6、JADE-examples-3.6。反正最好大家都下下來(lái)。
1.2 classpath設(shè)置:要包含在JADE-BIN-3.6\jade\lib\目錄下有http、iiop、jade、jadeTools和commons-codec-1.3這五個(gè)文件。比如我的windowsXP中,我放在:E:\agent\JADE-bin-3.6\jade\lib。classpath設(shè)置有兩種方式:
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,但是這種方式每次要用的時(shí)候就要重新輸入,所以我推薦第二種。
1.2.2 第二種(推薦):系統(tǒng)中設(shè)置環(huán)境變量:在classpath變量中設(shè)置:.;%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? 這個(gè)前部分是java jdk的變量,一般裝了java的前部都有了,所以你只需在后面加個(gè)分號(hào):;,然后再加jade的變量。
1.3、環(huán)境正確性測(cè)試:
在命令行里輸入:java jade.Boot -gui (注意大小寫(xiě)),如果配置正確那么過(guò)會(huì)會(huì)跳出一個(gè)窗口。
2、運(yùn)行例子:學(xué)每種語(yǔ)言第一個(gè)基本都是helloworld,哈哈,這個(gè)也不例外。因?yàn)槲覀儸F(xiàn)在還不知道怎么編寫(xiě),所以就用E:\agent\JADE-bin-3.6\JADE-examples-3.6\jade\src\examples里面的例子吧。注意:下面的例子我盡量說(shuō)詳細(xì)簡(jiǎn)單,高手不要笑話。
2.1、第一個(gè)例子:helloworld:
首先把例子\hello里面的HelloWorldAgent.java 改一下,用記事本打開(kāi),然后把package examples.hello;這句注釋掉,因?yàn)橛辛诉@句入學(xué)者運(yùn)行的時(shí)候有問(wèn)題。就是在它前面加://, 保存。
然后,打開(kāi)控制臺(tái):輸入:e:,(跳到e盤(pán)),然后輸入:cd E:\agent\JADE-bin-3.6\JADE-examples-3.6\jade\src\examples\hello? (讓這個(gè)目錄作為默認(rèn)路徑),先編譯一下,輸入:javac HelloWorldAgent.java? ,編譯好了以后,輸入:java jade.Boot -gui fuckjanpanese:HelloWorldAgent?? ,注意fuckjanpanese是這個(gè)agent的名字,它可以自己隨便起。HelloWorldAgent的類型,也就是我們寫(xiě)的HelloWorldAgent類。
效果:輸入上面的命令,會(huì)跳出一個(gè)窗口,然后控制太會(huì)輸出:Hello World! My name is fuckjapanese。而那個(gè)窗口的左邊的樹(shù)結(jié)構(gòu)下的葉節(jié)點(diǎn)上沒(méi)有顯示我們的fuckjanpanese,那是因?yàn)檫@個(gè)agent的代碼中輸入Hello World! My name is fuckjapanese后,就把這個(gè)agent刪了。所以要下看到添加進(jìn)的agent.我們可以改HelloWorldAgent.java,把那句doDelete();注釋掉,前面加//,保存重編譯。再次用上面的命令運(yùn)行我們就可以找到葉節(jié)點(diǎn)上多了一個(gè)類似于fuckjanpanese@name1099/JADE的agent.
運(yùn)行了第一個(gè)例子以后,其他的例子也是一樣的操作,強(qiáng)調(diào)一下:如果你是初學(xué)者,可能命令格式不是很了解,那么先把源代碼中的package 申明注釋掉。如果你想多了解其中的原因參考:http://blog.chinaunix.net/u/17663/showart_265800.html
接下來(lái),你就可以看jade提供的文檔(.\JADE-bin-3.6\JADE-doc-3.6\jade\doc),打開(kāi)index.html,里面有很多例子,你挨個(gè)運(yùn)行,你就能夠慢慢了解怎么編代碼了。
參考:
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
允許轉(zhuǎn)載或鏈接,但請(qǐng)說(shuō)明出處,否則追究法律責(zé)任
?
轉(zhuǎn)載于:https://www.cnblogs.com/dhyulu/archive/2008/11/18/1335537.html
總結(jié)
- 上一篇: npm 升级依赖包
- 下一篇: SQL Server 2008 R2 学