Ir al contenido
Menú principal
Menú principal
mover a la barra lateral
ocultar
Navegación
Página principal
Cambios recientes
Página aleatoria
Ayuda sobre MediaWiki
Buscar
Buscar
español
Apariencia
Crear una cuenta
Acceder
Herramientas personales
No has accedido
Discusión
Contribuciones
Crear una cuenta
Acceder
Edición de «
Java Agent Development Framework
»
Página
Discusión
español
Leer
Editar
Editar código
Ver historial
Herramientas
Herramientas
mover a la barra lateral
ocultar
Acciones
Leer
Editar
Editar código
Ver historial
General
Lo que enlaza aquí
Cambios relacionados
Información de la página
Apariencia
mover a la barra lateral
ocultar
Advertencia:
no has iniciado sesión. Tu dirección IP se hará pública si haces cualquier edición. Si
inicias sesión
o
creas una cuenta
, tus ediciones se atribuirán a tu nombre de usuario, además de otros beneficios.
Comprobación antispam. ¡
No
rellenes esto!
{{Ficha de software | nombre = JADE | logo = | captura = | pie = | colapsable = | desarrollador = | status = Activo | lanzamiento = 2000 | última_versión = 4.5.0 | fecha_última_versión = {{fecha de lanzamiento|08|06|2017}} | última_versión_prueba = | fecha_última_versión_prueba = | tamaño = | sistema_operativo = [[Multiplataforma]] | plataforma = [[Plataforma Java|Java]] | lenguaje_programación = [[Java (lenguaje de programación)|Java]] | género = [[Sistema multi-agente]] [[framework|Marco de software]] | licencia = [[GNU Lesser General Public License]] | sitio_web = [http://jade.tilab.com/ jade.tilab.com] | idiomas = [[Idioma inglés|inglés]] }} '''Java Agent DEvelopment Framework''', o '''JADE''', es una plataforma [[software]] para el desarrollo de [[Agente inteligente (Inteligencia Artificial)|agentes]], implementada en [[Lenguaje de programación Java|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]]. == 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 [[Agente inteligente (Inteligencia Artificial)|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).<ref>{{cita web |url=http://jade.tilab.com/news-txt.php?anno=2001 |título=Jade News Archive |fechaacceso=4 de mayo de 2013 |urlarchivo=https://web.archive.org/web/20120215074526/http://jade.tilab.com/news-txt.php?anno=2001 |fechaarchivo=15 de febrero de 2012 }}</ref> En marzo de 2003 [[Motorola, Inc.]] 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 [[Ontologia|ontologías]]. Cada plataforma debe tener un contenedor principal que tiene dos agentes especiales denominados AMS y DF.<ref>{{Cita web |url=http://jade.tilab.com/wade/doc/WADE-User-Guide.pdf |título=Wade User Guide |fechaacceso= 5 de mayo de 2013 |formato=PDF}}</ref> * 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: # Initiated/ Iniciado: El agente se ha creado pero no se ha registrado todavía 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 ejecución se encuentra suspendida. # Waiting/ Esperando: Se encuentra bloqueado a la espera de un suceso. # Deleted/ Eliminado: El agente ha terminado por tanto el hilo terminó su ejecución y ya no estará más en el '''AMS'''. # 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 proporcionan 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 == {{listaref|2}} == Véase también == * {{Portal|Software libre}} * [[Sistema multi-agente]] * [[Agente autónomo]] * [[Agente inteligente (Inteligencia Artificial)|Agente inteligente]] * [[Arquitectura cognitiva]] * [[Lenguaje de comunicación de agentes]] * [http://programacionjade.wikispaces.com/ Programación con JADE] == Enlaces externos == * (en inglés) [https://web.archive.org/web/20100621141053/http://jade.tilab.com/ Página oficial de JADE] * (en inglés) [http://jade.tilab.com/wade/index.html Página oficial de WADE] * (en inglés) [http://eu.wiley.com/WileyCDA/WileyTitle/productCd-0470057475.html Developing Multi-Agent Systems with JADE] {{Control de autoridades}} [[Categoría:Frameworks de Java]] [[Categoría:Sistemas multiagente]] [[Categoría:Software libre programado en Java]] [[Categoría:Inteligencia artificial]]
Resumen:
Al guardar los cambios aceptas los
términos de uso
y liberas de forma irrevocable tu contribución conforme a los términos de las licencias
licencia CC BY-SA 4.0
y
GFDL
. Aceptas igualmente que un hipervínculo o URL es atribución suficiente conforme a la licencia Creative Commons.
Cancelar
Ayuda de edición
(se abre en una ventana nueva)
Buscar
Buscar
Edición de «
Java Agent Development Framework
»
Añadir idiomas
Añadir tema