Agentes con JADE - I

Crear un agente utilizando la plataforma JADE es realmente sencillo, basta con crear una clase que extienda a jade.core.Agent y listo. Para introducir nuestra lógica en el agente lo que tenemos que hacer es sobreescribir un par de métodos.

El método setup() se ejecuta al inicio del ciclo de vida del agente, y es donde hemos de escribir el código de inicialización. El otro es el método takeDown(), que se ejecuta cuando muere el agente y nos permite escribir el código para liberar los recursos que estuviese utilizando.

El siguiente código es un ejemplo de la estructura típica de un agente:

import jade.core.Agent;

public class MyAgent extends Agent {

   @Override
   protected void setup() {
      // Obtener argumentos
      Object[] args = getArguments();

      // Código de inicialización del agente

      // Añadir comportamientos al agente
   }

   @Override
   protected void takeDown() {
      // Código de finalización del agente
   }

}

La clase Agent nos proporciona varios métodos a los que podemos llamar para controlar el ciclo de vida del agente. Uno de los más utilizados es doDelete(), que provoca la muerte del mismo (y por lo tanto se llama a takeDown()). Tenéis más detalles sobre dichos métodos en esta wiki.

La implementación de un agente es bastante sencilla, y no da lugar a añadir una lógica compleja. Eso se hace a través de comportamientos, de los cuales hablaremos en el siguiente minitutorial.

Show Comments