fbpx
Wikipedia

Java Agent Development Framework

Java Agent DEvelopment Framework, o JADE, es una plataforma software para el desarrollo de agentes, implementada en Java. La plataforma JADE soporta la coordinación de múltiples agentes FIPA y proporciona una implementación estándar del lenguaje de comunicación FIPA-ACL, que facilita la comunicación entre agentes y permite la detección de servicios que se proporcionan en el sistema. JADE fue desarrollado originalmente por Telecom Italia y se distribuye como software libre.

JADE
Información general
Tipo de programa Sistema multi-agente Marco de software
Lanzamiento inicial 2000
Licencia GNU Lesser General Public License
Idiomas inglés
Información técnica
Programado en Java
Plataformas admitidas Java
Versiones
Última versión estable 4.5.0 ( 08 de junio de 2017 (4 años, 7 meses y 4 días))
Enlaces
Sitio web oficial

Resumen

JADE es un middleware que facilita el desarrollo de sistemas multi-agente bajo el estándar FIPA para lo cual crea múltiples contenedores destinados a los agentes, cada uno de los cuales puede ejecutarse en uno o en varios sistemas. Queda establecido que un conjunto de contenedores constituye una plataforma.

Adicionalmente JADE proporciona:

  • Un entorno de ejecución en el que los agentes de JADE se ejecutan.
  • Bibliotecas de clases para la creación de agentes mediante la herencia y la redefinición de comportamientos.
  • Un conjunto de herramientas gráficas para la monitorización y administración de la plataforma de agentes.

Historia

JADE fue desarrollado inicialmente por Telecom Italia Lab. Este sector es la rama de I + D del Grupo Telecom Italia que se encarga de promover la innovación tecnológica. Telecom Italia concibió y promovió JADE, fundándolo en el año 2000. La última versión disponible data del mes de marzo de 2013 (versión 4.3) La primera versión de JADE distribuida como software libre está disponible desde el mes de febrero del 2000 (versión 1.3).[1]

En marzo de 2003 Motorola y Telecom Italia crearon la JADE Governing Board con el objetivo de promover la evolución y la adopción de JADE en la industria de las telecomunicaciones móviles como middleware de base. Dicha organización (JADE Governing Board) acepta a toda empresa y/o organización interesada en el uso comercial y explotación de JADE que se comprometan a su desarrollo y promoción.

Plataforma

Se trata de una plataforma de agentes distribuida, que tiene un contenedor por cada host en el que se están ejecutando los agentes. De manera adicional la plataforma posee diferentes herramientas de depuración, movilidad de los agentes de código y contenido, la posibilidad de la ejecución paralela del comportamiento de los agentes, así como el soporte para la definición de lenguajes y ontologías. Cada plataforma debe tener un contenedor principal que tiene dos agentes especiales denominados AMS y DF.[2]

  • El DF (Directory Facilitator) proporciona un directorio que anuncia qué agentes hay disponibles en la plataforma.
  • El AMS (Agent Management System) controla la plataforma. Es el único que puede crear y destruir a otros agentes, destruir contenedores y parar la plataforma.

Agente DF

Para acceder al agente DF se usa la clase "jade.domain.DFService" y sus métodos estáticos: register, deregistrer, modify y Search.

Agente AMS

Para acceder a la información del AMS Service se crea un agente el cual se ejecuta automáticamente el método register del AMS por defecto antes de ejecutar el método setup del nuevo agente. Cuando se destruye un agente se ejecuta su método takedown() y automáticamente se llama a deregister del AMS por defecto.

Clase Agent

La clase Agent es una super clase común que permite a los usuarios crear software de agentes JADE. Para crear un agente solo hay que heredar de la clase Agent(). Habitualmente cada agente registrará varios servicios los cuales a su vez deberían de ser implementados por uno o más comportamientos.

Esta clase suministra métodos que permiten ejecutar las tareas básicas de los agentes como:

  • Pasar mensajes utilizando objetos ACLMessage, con correspondencia de patrones.
  • Dar soporte al ciclo de vida de un agente.
  • Planificar y ejecutar múltiples actividades al mismo tiempo.

Agente JADE

El ciclo de vida de un agente JADE sigue el ciclo propuesto por FIPA. Estos agentes pasaran por diferentes estados definidos como:

  1. Initiated/ Iniciado: El agente se ha creado pero no se ha registrado todavía el AMS.
  2. Active/ Activo: El agente ya ha sido registrado y posee nombre. En este estado puede comunicar con otros agentes.
  3. Suspended/ Suspendido: El agente se encuentra parado porque su hilo de ejecución se encuentra suspendida.
  4. Waiting/ Esperando: Se encuentra bloqueado a la espera de un suceso.
  5. Deleted/ Eliminado: El agente ha terminado por tanto el hilo terminó su ejecución y ya no estará más en el AMS.
  6. Transit/ Transito: El agente se está migrando a una nueva ubicación.

Comportamiento de Agentes

El comportamiento define las acciones bajo un determinado evento. Dicho comportamiento del agente se define en el método setup mediante el método addBehaviour. Los diferentes comportamientos que el agente adoptará se definen a partir de la clase abstracta Behaviour. La clase Behaviour contiene los métodos abstractos:

  • action(): Se ejecuta cuando la acción tiene lugar.
  • done(): Se ejecuta al finalizar el comportamiento.

Por otra parte el usuario puede redefinir los métodos onStart() y onEnd() que el agente poseerá. Adicionalmente existen otros métodos como block() y restart() usados para la modificación del comportamiento del agente. Cuando un agente esté bloqueado se puede desbloquear de diferentes maneras.

Mensajes ACL

El paso de mensajes ACL (Agent Communication Language) es la base de la comunicación entre agentes. El envío de mensajes se realiza mediante el método send de la clase Agent. A dicho método hay que pasarle un objeto de tipo ACLMessage que contiene la información de los destinatarios, lenguaje, codificación y el contenido del mensaje. Estos mensajes se envían de modo asíncrono, mientras que los mensajes que se van recibiendo se irán almacenando en una cola de mensajes. Existen dos tipos de recepción de los mensajes ACL, bloqueante o no bloqueante. Para ello se porporcionan los métodos blockingReceive() y receive() respectivamente. En ambos métodos se puede hacer filtrado de los mensajes que se quieren recuperar de la cola estableciendo diferentes plantillas.

Extensiones

JADE tiene una extensión denominada WADE (Workflows and Agents Development Environment) que es un sistema de workflow que permite crear procesos mediante un editor gráfico llamado WOLF.

Referencias

  1. . Archivado desde el original el 15 de febrero de 2012. Consultado el 4 de mayo de 2013. 
  2. «Wade User Guide» (PDF). Consultado el 5 de mayo de 2013. 

Véase también

Enlaces externos

  • (en inglés)
  • (en inglés) Página oficial de WADE
  • (en inglés) Developing Multi-Agent Systems with JADE
  •   Datos: Q1684174

java, agent, development, framework, java, agent, development, framework, jade, plataforma, software, para, desarrollo, agentes, implementada, java, plataforma, jade, soporta, coordinación, múltiples, agentes, fipa, proporciona, implementación, estándar, lengu. Java Agent DEvelopment Framework o JADE es una plataforma software para el desarrollo de agentes implementada en Java La plataforma JADE soporta la coordinacion de multiples agentes FIPA y proporciona una implementacion estandar del lenguaje de comunicacion FIPA ACL que facilita la comunicacion entre agentes y permite la deteccion de servicios que se proporcionan en el sistema JADE fue desarrollado originalmente por Telecom Italia y se distribuye como software libre JADEInformacion generalTipo de programaSistema multi agente Marco de softwareLanzamiento inicial2000LicenciaGNU Lesser General Public LicenseIdiomasinglesInformacion tecnicaProgramado enJavaPlataformas admitidasJavaVersionesUltima version estable4 5 0 08 de junio de 2017 4 anos 7 meses y 4 dias EnlacesSitio web oficial editar datos en Wikidata Indice 1 Resumen 2 Historia 3 Plataforma 3 1 Agente DF 3 2 Agente AMS 4 Clase Agent 5 Agente JADE 6 Comportamiento de Agentes 7 Mensajes ACL 8 Extensiones 9 Referencias 10 Vease tambien 11 Enlaces externosResumen EditarJADE es un middleware que facilita el desarrollo de sistemas multi agente bajo el estandar FIPA para lo cual crea multiples contenedores destinados a los agentes cada uno de los cuales puede ejecutarse en uno o en varios sistemas Queda establecido que un conjunto de contenedores constituye una plataforma Adicionalmente JADE proporciona Un entorno de ejecucion en el que los agentes de JADE se ejecutan Bibliotecas de clases para la creacion de agentes mediante la herencia y la redefinicion de comportamientos Un conjunto de herramientas graficas para la monitorizacion y administracion de la plataforma de agentes Historia EditarJADE fue desarrollado inicialmente por Telecom Italia Lab Este sector es la rama de I D del Grupo Telecom Italia que se encarga de promover la innovacion tecnologica Telecom Italia concibio y promovio JADE fundandolo en el ano 2000 La ultima version disponible data del mes de marzo de 2013 version 4 3 La primera version de JADE distribuida como software libre esta disponible desde el mes de febrero del 2000 version 1 3 1 En marzo de 2003 Motorola y Telecom Italia crearon la JADE Governing Board con el objetivo de promover la evolucion y la adopcion de JADE en la industria de las telecomunicaciones moviles como middleware de base Dicha organizacion JADE Governing Board acepta a toda empresa y o organizacion interesada en el uso comercial y explotacion de JADE que se comprometan a su desarrollo y promocion Plataforma EditarSe trata de una plataforma de agentes distribuida que tiene un contenedor por cada host en el que se estan ejecutando los agentes De manera adicional la plataforma posee diferentes herramientas de depuracion movilidad de los agentes de codigo y contenido la posibilidad de la ejecucion paralela del comportamiento de los agentes asi como el soporte para la definicion de lenguajes y ontologias Cada plataforma debe tener un contenedor principal que tiene dos agentes especiales denominados AMS y DF 2 El DF Directory Facilitator proporciona un directorio que anuncia que agentes hay disponibles en la plataforma El AMS Agent Management System controla la plataforma Es el unico que puede crear y destruir a otros agentes destruir contenedores y parar la plataforma Agente DF Editar Para acceder al agente DF se usa la clase jade domain DFService y sus metodos estaticos register deregistrer modify y Search Agente AMS Editar Para acceder a la informacion del AMS Service se crea un agente el cual se ejecuta automaticamente el metodo register del AMS por defecto antes de ejecutar el metodo setup del nuevo agente Cuando se destruye un agente se ejecuta su metodo takedown y automaticamente se llama a deregister del AMS por defecto Clase Agent EditarLa clase Agent es una super clase comun que permite a los usuarios crear software de agentes JADE Para crear un agente solo hay que heredar de la clase Agent Habitualmente cada agente registrara varios servicios los cuales a su vez deberian de ser implementados por uno o mas comportamientos Esta clase suministra metodos que permiten ejecutar las tareas basicas de los agentes como Pasar mensajes utilizando objetos ACLMessage con correspondencia de patrones Dar soporte al ciclo de vida de un agente Planificar y ejecutar multiples actividades al mismo tiempo Agente JADE EditarEl ciclo de vida de un agente JADE sigue el ciclo propuesto por FIPA Estos agentes pasaran por diferentes estados definidos como Initiated Iniciado El agente se ha creado pero no se ha registrado todavia el AMS Active Activo El agente ya ha sido registrado y posee nombre En este estado puede comunicar con otros agentes Suspended Suspendido El agente se encuentra parado porque su hilo de ejecucion se encuentra suspendida Waiting Esperando Se encuentra bloqueado a la espera de un suceso Deleted Eliminado El agente ha terminado por tanto el hilo termino su ejecucion y ya no estara mas en el AMS Transit Transito El agente se esta migrando a una nueva ubicacion Comportamiento de Agentes EditarEl comportamiento define las acciones bajo un determinado evento Dicho comportamiento del agente se define en el metodo setup mediante el metodo addBehaviour Los diferentes comportamientos que el agente adoptara se definen a partir de la clase abstracta Behaviour La clase Behaviour contiene los metodos abstractos action Se ejecuta cuando la accion tiene lugar done Se ejecuta al finalizar el comportamiento Por otra parte el usuario puede redefinir los metodos onStart y onEnd que el agente poseera Adicionalmente existen otros metodos como block y restart usados para la modificacion del comportamiento del agente Cuando un agente este bloqueado se puede desbloquear de diferentes maneras Mensajes ACL EditarEl paso de mensajes ACL Agent Communication Language es la base de la comunicacion entre agentes El envio de mensajes se realiza mediante el metodo send de la clase Agent A dicho metodo hay que pasarle un objeto de tipo ACLMessage que contiene la informacion de los destinatarios lenguaje codificacion y el contenido del mensaje Estos mensajes se envian de modo asincrono mientras que los mensajes que se van recibiendo se iran almacenando en una cola de mensajes Existen dos tipos de recepcion de los mensajes ACL bloqueante o no bloqueante Para ello se porporcionan los metodos blockingReceive y receive respectivamente En ambos metodos se puede hacer filtrado de los mensajes que se quieren recuperar de la cola estableciendo diferentes plantillas Extensiones EditarJADE tiene una extension denominada WADE Workflows and Agents Development Environment que es un sistema de workflow que permite crear procesos mediante un editor grafico llamado WOLF Referencias Editar Jade News Archive Archivado desde el original el 15 de febrero de 2012 Consultado el 4 de mayo de 2013 Wade User Guide PDF Consultado el 5 de mayo de 2013 Vease tambien Editar Portal Software libre Contenido relacionado con Software libre Sistema multi agente Agente autonomo Agente inteligente Arquitectura cognitiva Lenguaje de comunicacion de agentes Programacion con JADEEnlaces externos Editar en ingles Pagina oficial de JADE en ingles Pagina oficial de WADE en ingles Developing Multi Agent Systems with JADE Datos Q1684174 Obtenido de https es wikipedia org w index php title Java Agent Development Framework amp oldid 133688284, wikipedia, wiki, leyendo, leer, libro, biblioteca,

español

, española, descargar, gratis, descargar gratis, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, imagen, música, canción, película, libro, juego, juegos