Agentes aplicados a la educación (JADE)
JADE(Java Agent Development Framework). Es una plataforma desarrollada íntegramente en Java por TILAB, que proporciona tanto un entorno de desarrollo como un entorno de ejecución para la creación de Sistemas Multi-agente. El entorno de desarrollo de jade está formado por una serie de librerías en Java que permiten la implantación de agentes de manera limpia e independiente de la plataforma sobre la que se va a ejecutar.
El entorno de ejecución permite a los agentes existir y comunicarse entre ellos, proporciona una serie de herramientas que permiten al desarrollador controlar y depurar a los agentes en tiempo real. JADE responde a los estándares FIPA (Foundation for Intelligent Physical Agents) que es una organización que se encarga de desarrollar especificaciones estándar para los sistemas basados en agentes. Esto es para facilitar la interconexión entre plataformas de diferentes empresas y organizaciones. El objetivo FIPA es definir la interoperabilidad entre los sistemas basados en agentes, dejando fuera la implementación interna. JADE es un software libre y que se distribuye bajo los términos de la licencia LGPL(Lesser General Public License Version 2).
Jade es la implementación oficial del estándar FIPA, soporta todos los servicios básicos de infraestructura especificados en FIPA, a los que añade algunas utilidades gráficas para facilitar la administración de las plataformas y la depuración de los mensajes intercambiados por agentes en tiempo de ejecución.
Esta es una herramienta para el desarrollo de sistemas multi-agente y esta totalmente implementada en Java. Esto facilita la portabilidad y la movilidad de los agentes entre distintas plataformas, incluso si no están desarrolladas en Jade, solo es necesario que estas plataformas estén regidas por las especificaciones FIPA. Jade utiliza inteligencia artificial, mas específicamente los agentes inteligentes, que poseen ciertos comportamientos que funcionan en un entorno o ambiente, reaccionan frente a cambios que se pueden presentar y toman sus propias decisiones con base en lo percibido y a su estado interno.
Jade posee una cantidad de comandos que se usan para su administración, estos comandos se ejecutan desde una consola o desde una interfaz gráfica que es llamada RMA. Para empezar a programar agentes se debe tener en cuenta que hay que definirles unos comportamientos y unas ontologías dependiendo del ambiente en que estén inmersos.
Características de JADE
JADE presenta las siguientes características:
- P2P: arquitectura Peer-to-peer, cada agente puede tomar la iniciativa en una comunicación o bien responder a peticiones que le hagan otros agentes.
- interoperabilidad: Jade cumple con las especificaciones FIPA, por lo que los agentes desarolladoe en Jade pueden interactura con otros agentes que no tienen porque estar desarrollados con Jade, aunque si deben seguir las especificaciones FIPA.
- portabilidad: La API que proporciona Jade es independientemente de la red sobre la que va a operar, asi como de la version de JAva utilizada, teniendo la misma API para J2EE, J2SE y J2ME.
- intuitiva: Jade se ha desarrollado para ofrecer una API facil de aprender y sencilla de manejar.
Los agentes Jade tienen nombres únicos y se permite a cada agente descubrir a otros agentes y comunicarse con ellos mediante comunicaciones punto a punto. la comunicación entre agentes se lleva a cabo a través de mensajes sincrónicos.
Arquitectura de Jade
Arquitectura de Jade
el entorno de ejecución de Jade es donde los agentes pueden "vivir". Una instancia de ese entorno se denomina contenedor, y es posible albergar en él un numero indeterminado de agentes. al conjunto de contenedores se les denomina plataforma, esta proporciona una capa que oculta a los agentes el entorno donde se ha decidido ejecutar la aplicación, un servicio de paginas blancas para buscar otros agentes, un servicio de paginas amarillas para buscar servicios que otros agentes ofrecen, un modulo de gestión a través del cual se accede a estas facilidades y un sistema de envío/recepción de mensajes entre agentes.
existe un tipo de contenedor especial denominado principal. debe existir uno y solu uno de estos contenedores por cada plataforma FIPA de agentes y el resto de contenedores de la platadorma una vez ejecutados deben suscribirse al principal, por lo que el respnsable de ejecutarlos tambien es responsable de indicar en donde se localiza el contenedor principal. la principal diferencia del contenedor principal respecto al resto de contenedores es que alberga agentes especiales:
- AMS(Agent Management System) este agente proporciona el servicio de nombres asegurando que cada agente en la plataforma disponga de un nombre único, de igual manera se encarga de hacer llegar a su destino los mensajes generados por los agentes ubicados en la misma plataforma.
- DF(Directory Facilitator): proporciona el servicio de paginas amarillas, por lo tanto un agentepuede encontrar otros agentes que provean los servicios necesarios para lograr sus objetivos.
- ACC(Agent Communication Chanel): software que controla el intercambio de mensajes.
Administración de Jade
Obtener Jade:
se descarga en la dirección : http://jade.tilab.com después de llenar un breve registro, para cumplir los requisitos de la licencia LGPL. están disponibles 5 archivos comprimidos:
- El código fuente de Jade
- El código fuente de los ejemplos
- La documentación
- Los archivos binarios de Jade
- La distribución completa con todos los anterios archivos, JADE