Compilar el fuente
javac -classpath lib\jade.jar;lib\jadeTools.jar;. PingAgentReducido.java
Iniciar JADE
java jade.Boot [options] [AgentSpecifier list]
2. Entorno
java -classpath lib\jade.jar;lib\jadeTools.jar;lib\Base64.jar;
lib\http.jar;lib\iiop.jar;lib\beangenerator.jar;.
jade.Boot -gui Ping:examples.PingAgent.PingAgentReducido
–container (si es distinto del principal) –
–host (nombre del host)
–port (puerto, por defecto es el 1099)
–name (nombre simbólico de la plataforma)
–gui (lanza el RMA)
–mtp (permite añadir protocolos externos además del
iiop)
Compilar el fuente
javac -classpath lib\jade.jar;lib\jadeTools.jar;. PingAgentReducido.java
Iniciar JADE
java jade.Boot [options] [AgentSpecifier list]
2. Entorno
java -classpath lib\jade.jar;lib\jadeTools.jar;lib\Base64.jar;
lib\http.jar;lib\iiop.jar;lib\beangenerator.jar;.
jade.Boot -gui Ping:examples.PingAgent.PingAgentReducido
Nombre
del agente
PingAgentReducido
Ejecución
Lanzar un mensaje desde el DummyAgent
Esperar respuesta del AgentePing
4. Ejemplos
PingAgentReducido
Ejecución
Lanzar un mensaje desde el DummyAgent
Esperar respuesta del AgentePing
4. Ejemplos
PingAgentReducido
Ejecución
Lanzar un mensaje desde el DummyAgent
Esperar respuesta del AgentePing
4. Ejemplos
PingAgentReducido
Implementación
public class PingAgentReducido extends Agent {
. . .
// implementación de conductas como clases internas
. . .
// implementación de inicializaciones y adición de
// conductas iniciales: setup(
. . .
// implementación de finalización del agente
// takeDown()
}
}
4. Ejemplos
PingAgentReducido
Implementación
class WaitPingAndReplyBehaviour extends SimpleBehaviour {
private boolean finished = false;
public WaitPingAndReplyBehaviour (Agent a) {
super(a);
}
public void action() {
/*** Implementación de la conducta frente***/
/*** a la llegada de un mensaje ***/
. . .
}
}
4. Ejemplos
PingAgentReducido
Implementación
public class PingAgentReducido extends Agent {
. . .
// implementación de conductas
protected void setup() {
/** posible Registro con el DF * /
. . .
/** Indicación de los comportamientos del agente */
WaitPingAndReplyBehaviour PingBehaviour = new
WaitPingAndReplyBehaviour( this);
addBehaviour(PingBehaviour);
. . .
}
}
4. Ejemplos
EnviarPing
Implementación
public class EnviarPing extends Agent {
. . . // implementación de conductas
protected void setup() {
/** Registrarse en el DF */
DFAgentDescription dfd = new DFAgentDescription();
ServiceDescription sd = new ServiceDescription();
sd.setType("EnviarPing");
. . .
dfd.addServices(sd);
. . . DFService.register(this,dfd) . . .
} /** Indicación de los comportamientos del agente */
. . .
}
}
4. Ejemplos
3. Estructura agente
Método setup = inicializa el agente
Tareas que realiza un agente JADE
=> se estructuran en comportamientos
Comportamientos:
Implementan las tareas o intenciones de un agente: son
unidades lógicas de actividad que se pueden componer de
varias formas para lograr patrones de ejecución complejos, y se
pueden ejecutar en paralelo.
3. Estructura de agente
Hilo de
ejecución de
un agente