Jade (Jave Agent Development Environment) é um robusto e eficiente ambiente para sistemas de agentes distribuídos.
A primeira coisa a fazer é baixar o arquivo JadeAll.zip do site oficial do Jade. É necessário possuir o JDK 1.4 ou mais recente.
Depois é necessário descompactar o arquivo e todos os arquivos zipados dentro deste, criando um diretório chamado jade. Caso você esteja no Windows, copie este diretório para c: ou algum diretório de preferência. Caso você esteja utilizando linux, copie-o para o diretório do usuário tal como /home/meu_usuario/
Dando sequência na instalação, é necessário configurar o CLASSPATH.
Adicione os seguintes caminhos no PATH. Para isso vá em Painel de Controle... Sistema... Variáveis de Ambiente...
c:\jade\lib\jade.jar; c:\jade\lib\jadeTools.jar; c:\jade\lib\Base64.jar; c:\jade\lib\http.jar; c:\jade\lib\iiop.jar
Adicione as seguintes linhas no final do arquivo .bashrc do diretório do usuário.
export JADE_LIB="${HOME}/bin/jade/lib" export CLASSPATH=".:${JADE_LIB}/jade.jar:${JADE_LIB}/iiop.jar\ :${JADE_LIB}/http.jar\ :${JADE_LIB}/Base64.jar:${JADE_LIB}/jadeTools.jar"
O seguinte programa é uma aplicação muito simples que define uma subclasse de uma classe já definida Agent. O método setup chamado é o método inicial que precisa ser sobrecarregado para configurar nosso agente. O agente apresenta seu nome com o getLocalName.
import jade.core.Agent; public class AgenteAloMundo extends Agent { protected void setup() { System.out.println("Alo Mundo! "); System.out.println("Meu nome: "+ getLocalName()); } }
Compilar
javac Simple0.java
Executar
com o classpath configurado java jade.Boot Saulo:Simple0 ou, sem setar o classpath via linha de comando java -cp bin:/home/saulo/bin/jade/lib/jade.jar jade.Boot Saulo:Simple0
import jade.core.Agent; import jade.core.behaviours.*; public class MyAgent extends Agent { protected void setup() { addBehaviour(new myBehaviour(this)); } class myBehaviour extends SimpleBehaviour { public myBehaviour(Agent a) { super(a); } public void action() { // local do programa do agente } private boolean finished = false; public boolean done() { return finished; } } }
import jade.core.Agent; import jade.core.behaviours.*; public class Simple0 extends Agent { protected void setup() { addBehaviour(new B1(this)); } } class B1 extends SimpleBehaviour { private int counter = 0; public B1(Agent a) { super(a); } public void action() { if (counter < 10) { System.out.println(counter + ": Meu nome " + myAgent.getLocalName()); counter++; } } private boolean finished = false; public boolean done() { return finished; } } // End class B1
java jade.Boot -gui
Para adicionar um agente no framework, digite:
java jade.Boot -container main:MeuAgente
[voltar]