Archive for the ‘Tutoriales’ Category

Comunicación entre agentes

Thursday, April 22nd, 2010

Jade también nos proporciona un sistema de comunicación entre agentes. Podemos utilizar este sistema para hacer que los agentes interactúen entre ellos, pudiendo recrear así comportamientos más complejos.

En este minitutorial, uno más de la serie que venimos publicando, explicaremos cómo utilizar dicho sistema.

Lo primero que querremos hacer a la hora de enviar un mensaje a otro agente es encontrar a dicho agente. Para ello Jade provee un sistema de páginas amarillas, el DFService. Los agentes que proveen servicios a otros agentes se registran en este directorio, de esta manera cualquier agente puede encontrar a otro agente que le provea de un servicio determinado. (more…)

Añadiendo comportamientos a agentes

Saturday, March 20th, 2010

Continuando con la serie de minitutoriales, toca dotar a nuestros agentes de inteligencia. Lo haremos añadiéndoles comportamientos. Un comportamiento es un algoritmo sencillo que nuestro agente ejecutará para intentar cumplir un objetivo. Evidentemente no hay inteligencia real en estos comportamientos, pero al tener muchos agentes interactuando entre ellos al final aparece un comportamiento global que podría calificarse como tal.

Al igual que con los agentes, para crear un comportamiento hemos de heredar de una clase de JADE, aunque esta vez tenemos varias para elegir. Dependiendo del tipo de comportamiento que queramos crear hemos de extender una clase u otra, y si no nos convence ninguno, extendemos la clase superior de la jerarquía y determinamos nosotros mismos las condiciones de ejecución del comportamiento. (more…)

Creando un Agente

Friday, March 12th, 2010

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. (more…)

Cuestión de altura

Thursday, January 28th, 2010

Para poder realizar las simulaciones, y más en el caso de una inundación, es vital conocer los detalles del terreno, y sobre todo su altitud. Tras mucho buscar por fin dimos con una manera de obtener los datos de altura de un terreno, y es a través de un servicio web proporcionado por la USGS (U.S. Geological Survey). Sólo tienen datos de los Estados Unidos, pero dado que nos estamos centrando en las inundaciones de Nueva Orleans tras el huracán Katrina es más que adecuado.

Ahora sólo queda implementar un cliente del servicio web en Java, de manera que el simulador pueda descargar las alturas necesarias. A continuación un mini-tutorial sobre cómo implementar un cliente de un servicio web en Java.

(more…)