Jade

Jade (Jave Agent Development Environment) é um robusto e eficiente ambiente para sistemas de agentes distribuídos.

Instalação

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.

http://jade.tilab.com

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.

Windows

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
Linux

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"
Programa Alo Mundo

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. alo_mundo.java

import jade.core.Agent;

public class AgenteAloMundo extends Agent {
	protected void setup() {
		System.out.println("Alo Mundo! ");
		System.out.println("Meu nome: "+ getLocalName()); 
	}
 }

Compilar e Executar
Eclipse
  1. Criando o projeto
    1. Crie um novo projeto no Eclipse chamado AgenteAloMundo.
    2. Crie uma classe chamada AgenteAloMundo.java.
    3. Adicione o código apresentado a cima no arquivo criado.
  2. Adicionando as bibliotecas
    1. Nas propriedades do projeto, vá em Java Build Path
    2. Selecione Libraries.
    3. Adicione as seguintes bibliotecas em Add External JARs...
    4. Windows:
      • c:\jade\lib\commons-codec\commons-codec-1.3.jar
      • c:\jade\lib\http.jar
      • c:\jade\lib\iiop.jar
      • c:\jade\lib\jade.jar
      • c:\jade\lib\jadeTools.jar
    5. Linux:
      • /home/meu_usuario/jade/lib/commons-codec/commons-codec-1.3.jar
      • /home/meu_usuario/jade/lib/http.jar
      • /home/meu_usuario/jade/lib/iiop.jar
      • /home/meu_usuario/jade/lib/jade.jar
      • /home/meu_usuario/jade/lib/jadeTools.jar
    6. Clique no botão OK
  3. Executando
    1. Vá em no menu Run e selecione Run Configuration.
    2. Dê dois cliques em Java Application.
    3. Em Name, coloque Agente Alo Mundo.
    4. Em Project AgenteAloMundo.
    5. Em Main class jade.Boot.
    6. Selecione a aba em Arguments.
    7. Em Program arguments adicione a linha: Meu_nome:AgenteAloMundo
    8. Pressione o botão Run.
Linha de comando

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
Um exemplo mais real
MyAgent.java
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;
		}
	}
}
Simple0.java
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
Interface Gráfica de Gerenciamento dos Agentes
java jade.Boot -gui

Para adicionar um agente no framework, digite:

java jade.Boot -container main:MeuAgente

[voltar]