Creando un Agente

Hoy traigo un nuevo minitutorial, esta vez sobre la creación de agentes.

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.

El código de los agentes de nuestro proyecto se encuentra aquí.

Comparte este post: These icons link to social bookmarking sites where readers can share and discover new web pages.
  • TwitThis
  • Meneame
  • BarraPunto
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • Digg
  • email

Tags: ,

One Response to “Creando un Agente”

  1. Simulación de Catástrofes» Blog Archive » Añadiendo comportamientos a agentes Says:

    [...] igual que con los agentes, para crear un comportamiento hemos de heredar de una clase de JADE, aunque esta vez tenemos varias [...]

Leave a Reply