Jade (Jave Agent Development Environment) 是一个强大高效的agent发布系统。本文从基础开始教学,例子都比较小,最后较长的例子是A. NCho写的。
试一下以下程序:
import jade.core.Agent;
public class HelloAgent extends Agent
{
protected void setup()
{
System.out.println("Hello World. ");
System.out.println("My name is "+ getLocalName());
}
}
简单地说,Agent类似于Java Applets,不能单独运行,需要嵌入在其他较大的、可以提供给它们service的program里。对Agent来说,它需要的环境就是class jade.Boot。 jade.Boot可以根据命令行parameters选择agent。parameter,比如说fred:HelloAgent,指出了agent的类:HelloAgent,以及agent独一无二的名字:fred。
Jade环境叫做containers。在muti-agent application中,会有好几个在不同计算机上运行的container。第一个启动的container是main container,含有注册表,便于agent们互相发现和通信。
执行:javac HelloAgent.java
java jade.Boot fred:HelloAgent
后出现 This is JADE 3.0b1 - 2003/03/19 17:08:01
downloaded in Open Source, under LGPL restrictions,
at http://jade.cselt.it/
IOR:000000000000001149444C3A464950412F4D54533A312E300000....
.... 0020501000100010020000101090000000100010100
Agent container Main-Container@JADE-IMTP://Jeans-Computer.local. is ready.
Hello World.
My name is fred
这时候系统像是死机一样,这是因为,JADE container在你的agent执行完了以后仍然保持活跃,它在等待其他container或是到达的移动agent的消息。要退出,按ctrl+C。