jueves, 18 de octubre de 2007

PFC: dónde digo Boot ...

En una POA, uno debe de olvidarse del main. No existe el tratamiento secuencial de una aplicación: ahora creo la clase, luego hago el cálculo y sigo. ¡No! Nos encontramos ante un tratamiento concurrente, una ejecución en paralelo de algoritmos - algoritmos secuenciales o concurrentes, dependiendo de la lógica de cada aplicación - y cada agente se comporta como un programa independiente que se comunica con otros programas independientes. Aún así, JADE nos proporciona una clase que lleva un método main encargado de dar vida a los agentes: jade.Boot.

Con esto, me ha surgido una duda. ¿Si debo tener varias tareas ejecutándose (cada agente tiene una tarea diferente) cómo ejecuto la aplicación si no hay una clase con un main?
La respuesta es tan sencilla como escribir el nombre de todos los agentes que se haya implementado, a razón de parámetros de la instrucción java, en el intérprete de comandos . Algo cómo:

java jade.Boot -gui "nombre_agente_1":"clase_java_agente_1"(parámetros) "nombre_agente_n":"clase_java_agente_n"(parámetros)

Lo que va entre paréntesis son los parámetros que se le puede pasar a un agente, separados por un espacio en blanco. Desde código se recogen con el método:

Object[] getArguments()

de la clase jade.core.Agent

No hay comentarios: