SlideShare una empresa de Scribd logo
1 de 69
Descargar para leer sin conexión
JADE
Java Agent DEvelopment Framework




         EXPOSITOR:
  Francisco Javier Arias Sánchez
PLAN DE TEMAS
• Introducción a JADE
• El estándar FIPA
• Características de JADE
• Arquitectura JADE y subsistema de
  comunicación
• Modelo de ejecución
• Comparación entre Plataformas
• Conclusiones
PLAN DE TEMAS
• Introducción a JADE
• El estándar FIPA
• Características de JADE
• Arquitectura JADE y subsistema de
  comunicación
• Modelo de ejecución
• Comparación entre Plataformas
• Conclusiones
INTRODUCCIÓN A JADE
Las tecnologías basadas en agentes aun están
inmaduras y pocos sistemas basados en agentes
han sido realizados.

Anteriormente se habían creado herramientas de
desarrollo que hacen mas fácil el trabajo, pero no
se acogían a ningún estándar para la
interoperabilidad.
INTRODUCCIÓN A JADE
       •Concordia
        •FIPA-OS
          • Zeus
         • Gossip
        • JATLite
        • Odyssey
          •Aglets
        • Voyager
INTRODUCCIÓN A JADE
JADE es un middleware desarrollado por Telecom
Italy Lab (TILAB), antes llamado CSELT, para el
desarrollo de aplicaciones distribuidas multi-agente
que cumplen con las especificaciones FIPA para la
interoperabilidad de sistemas multi-agente.
INTRODUCCIÓN A JADE
 JADE proporciona:

 •Entorno de desarrollo para la creación de
 aplicaciones basadas en agentes.
 •Entorno de ejecución para que los agentes vivan
 y se comuniquen.
 • Arquitectura peer-to-peer (P2P)
 • Interoperabilidad: especificaciones FIPA
 • Portabilidad: realizado en JAVA
PLAN DE TEMAS
• Introducción a JADE
• El estándar FIPA
• Características de JADE
• Arquitectura JADE y subsistema de
  comunicación
• Modelo de ejecución
• Comparación entre Plataformas
• Conclusiones
FIPA
Permite la interoperabilidad entre plataformas de
diferentes empresas y organizaciones, FIPA
especifica la normatividad que se debe llevar a
cabo para la construcción de plataformas Multi-
Agente.

Estas especificaciones no restringen la tecnología
usada para la implementación de plataformas.
FIPA
Modelo de referencia para una plataforma de
agentes
FIPA
Agent Managment System (AMS)

•Encargado de la supervisión y control sobre el
acceso y uso de la plataforma.

• Responsable de la autenticación de los agentes
residentes y control de registros (ANS).
FIPA
Agent Communication Channel (ACC)

•Proporciona la ruta para el contacto básico entre
agentes dentro y fuera de la plataforma.

• Método por defecto de comunicación que ofrece
un servicio confiable, ordenado y exacto.

•También soporta IIOP para la interoperabilidad
entre agentes en diferentes plataformas.
FIPA
Directory Facilitator (DF)

•Proporciona el servicio de paginas amarillas.

• En el se registran los servicios que ofrecen los
agentes; y de igual forma se pueden buscar dichos
servicios.
FIPA
KQML  FIPA ACL

El lenguaje de comunicación KQML, que era muy
comúnmente usado fue reemplazado por uno
nuevo, mas corto y preciso: ACL.

La principal ventaja de ACL es que al acortar su
tamaño posee una semántica bien definida,
eliminando ambigüedades.
PLAN DE TEMAS
• Introducción a JADE
• El estándar FIPA
• Características de JADE
• Arquitectura JADE y subsistema de
  comunicación
• Modelo de ejecución
• Comparación entre Plataformas
• Conclusiones
CARACTERÍSTICAS DE JADE
Para simplificar el desarrollo mientras se asegura
el cumplimiento del estándar FIPA, JADE ofrece
al programador las siguientes características:
CARACTERÍSTICAS DE JADE
•Plataforma de agentes
CARACTERÍSTICAS DE JADE
•Plataforma de agentes distribuidas


La plataforma de agentes puede estar distribuida
en diferentes host, y solo una Virtual Machine
por host estará corriendo. Cada agente es
implementado como un Hilo de Java.
CARACTERÍSTICAS DE JADE
• Varios DFs
CARACTERÍSTICAS DE JADE
• Interfaz DF de JADE
CARACTERÍSTICAS DE JADE
•Interfaz para el registro de servicios
CARACTERÍSTICAS DE JADE
• Mecanismo de transporte
JADE proporciona un mecanismo de transporte
de mensajes utilizando Remote Method
Invocation (RMI). El programador únicamente
se preocupa por implementar la clase
ACLMessage y el mecanismo de transporte es
oculto al programador.
CARACTERÍSTICAS DE JADE
• Protocolo IIOP*
JADE proporciona un protocolo para realizar la
comunicación entre diferentes plataformas. El
programador únicamente se preocupa por
implementar la clase ACLMessage y el
mecanismo de transporte es oculto al
programador.



*Internet Inter-Orb Protocol.   Orb: Object Request Broker
CARACTERÍSTICAS DE JADE
• Librerías de protocolos de interacción FIPA
JADE facilita un conjunto de librerías de
protocolos de interacción listas para ser usadas.

FIPA_BROKERING                  FIPA_QUERY
FIPA_DUTCH_AUCTION              FIPA_RECRUITING
FIPA_ENGLISH_AUCTION            FIPA_REQUEST
FIPA_PROPOSE                    FIPA_REQUEST_WHEN
FIPA_CONTRACT_NET               FIPA_SUBSCRIBE
FIPA_ITERATED_CONTRACT_NET
CARACTERÍSTICAS DE JADE
•Registro automático y servicio de nombres
Cada vez que un agente es creado, e instanciado
se realiza un registro automático de su nombre
con el AMS, que presta el servicio de servidor de
nombres. El nombre se registra usando la
siguiente sintaxis:
<nombre_agente>@<nombre_plataforma>
donde <nombre_plataforma> esta compuesto por
<nombre_equipo>:<puerto que utiliza jade>/JADE.
Por ejemplo: comercializador@Hogar:1099/JADE
CARACTERÍSTICAS DE JADE
• Interfaz grafica RMA (Remote Management Agent)
y agentes de utilidad
CARACTERÍSTICAS DE JADE
• Interfaz grafica RMA
Permite controlar el resto de agentes en una
plataforma. La interfaz grafica permite:
-Terminar la ejecución de un agente o de todos los de
un container, incluyendo el RMA.
-Terminar con la ejecución de la plataforma en la que se
encuentra.
-Comenzar, Detener, Continuar, Migrar o Clonar un
agente.
-Mandar un mensaje a un agente seleccionado
CARACTERÍSTICAS DE JADE
• Agente Sniffer
Permite monitorizar los mensajes que un agente o un grupo de
ellos intercambian.
CARACTERÍSTICAS DE JADE
• Agente Introspector


Permite monitorizar la ejecución de un agente y
los mensajes intercambiados por este, así como la
de sus comportamientos y su ejecución paso a
paso.
CARACTERÍSTICAS DE JADE
• Agente Introspector
CARACTERÍSTICAS DE JADE
• Agente Dummy


Permite interactuar con otros agentes.
Proporciona una interfaz grafica que nos permite
construir                              mensajes
ACL, mandarlos, almacenarlos y verlos en detalle.
CARACTERÍSTICAS DE JADE
•Agente Dummy
PLAN DE TEMAS
• Introducción a JADE
• El estándar FIPA
• Características de JADE
• Arquitectura JADE y subsistema de
  comunicación
• Modelo de ejecución
• Comparación entre Plataformas
• Conclusiones
ARQUITECTURA DE JADE
Definiciones Básicas
Plataforma: entorno de ejecución en donde los
agentes “viven”. Una plataforma puede tener uno o
mas contenedores.
Contenedor: Es una Instancia del entorno de
ejecución de JADE. En esta es posible albergar un
número indeterminado de agentes. Cada contenedor
debe poseer un “Message Dispatcher”.
Contenedor principal: Es donde se alojan el AMS,
DF y ACC. Debe haber uno y solo uno por
plataforma.
ARQUITECTURA DE JADE
SUBSISTEMA DE COMUNICACIÓN
 •El contenedor principal mantiene una tabla de todos
 los contenedores con su referencia hacia el objeto
 RMI de cada uno de estos. Además, una tabla
 descriptora global de agentes es mantenida para
 relacionar cada nombre del agente con sus datos
 AMS y con su referencia RMI del contenedor.
 •Cuando el contenedor principal se comienza a
 ejecutar, crea un registro RMI interno en el host
 actual escuchando usuarios por el puerto TCP/IP,
 luego se ejecutan el ACC, AMS Y DF.
SUBSISTEMA DE COMUNICACIÓN
 •Cuando un contenedor se comienza a
 ejecutar, busca el registro RMI del contenedor
 principal para registrarse, también notifica al
 contenedor principal cuando un agente es creado o
 terminado, para mantener la tabla descriptora global
 de agentes actualizada.
 •Para mejorar el desempeño, cada contenedor guarda
 en cache la referencia de otro contenedor tan pronto
 como un mensaje es enviado a ellos. Esto evita
 buscar en la tabla de agentes cada vez que un mensaje
 debe ser enviado.
SUBSISTEMA DE COMUNICACIÓN
 Cuando un agente JADE envía un mensaje, puede
 presentarse los siguientes casos:
 1) Agentes en el mismo contenedor: No se utiliza
 RMI, el método clone() es llamado para enviar un
 objeto ACL Message.
 2) Agentes en la misma plataforma, pero en
 diferente contenedor, con cache: Se realiza una
 sola llamada RMI. El objeto ACL Message es
 serializado y desserializado por el RMI.
SUBSISTEMA DE COMUNICACIÓN
 3) Agentes en la misma plataforma, pero en
 diferente contenedor, sin cache: Se realizan dos
 llamadas RMI. La primera para actualizar el cache de
 la tabla descriptora global de agentes y la segunda
 para enviar el mensaje como en la anterior.
 4) Agentes en diferentes plataformas (ambas
 JADE): Se realiza una llamada directa al ACC, esto
 implica una invocación CORBA, una doble
 transformación desde un objeto java a un String java
 y desde este a un flujo de bytes IIOP para el que
 envía, y para el que recibe lo hace al contrario. Luego
 para entregar el mensaje desde el ACC del agente que
 recibe se puede usar 1), 2) o 3).
SUBSISTEMA DE COMUNICACIÓN

 5) Agentes en diferentes plataformas (no JADE):
 Se realiza el mismo procedimiento que el caso
 anterior hasta la invocación IIOP. Lo que suceda en
 el lado del agente que recibe depende de la
 implementación de la otra plataforma.
PLAN DE TEMAS
• Introducción a JADE
• El estándar FIPA
• Características de JADE
• Arquitectura JADE y subsistema de
  comunicación
• Modelo de ejecución
• Comparación entre Plataformas
• Conclusiones
MODELO DE EJECUCIÓN
JADE usa la abstracción de Behavior o comportamiento
para modelar las tareas que un agente debe realizar.
JADE usa el modelo de concurrencia de hilo-por-agente
en lugar de hilo-por-comportamiento para mantener
pocos hilos en concurrencia.
Cada agente posee un programador de comportamientos
que implementa una política “round-robin non-
preemptive”.
Se utilizan dos métodos para manejar la cola de
comportamientos de agente: addBehabiour(Behaviour) y
removeBehaviour(behaviour).
MODELO DE EJECUCIÓN
MODELO DE EJECUCIÓN
PLAN DE TEMAS
• Introducción a JADE
• El estándar FIPA
• Características de JADE
• Arquitectura JADE y subsistema de
  comunicación
• Modelo de ejecución
• Comparación entre Plataformas
• Conclusiones
COMPARACIÓN ENTRE
         PLATAFORMAS
• Para comparar el desempeño de las plataformas
JADE, ZEUS y SKELETONAGENT se realizo un
sistema multi-agente que recupera noticias en la
WEB, desde ciertos portales especificados.
COMPARACIÓN ENTRE
   PLATAFORMAS
COMPARACIÓN ENTRE
   PLATAFORMAS
PLAN DE TEMAS
• Introducción a JADE
• El estándar FIPA
• Características de JADE
• Arquitectura JADE y subsistema de
  comunicación
• Modelo de ejecución
• Comparación entre Plataformas
• Conclusiones
CONCLUSIONES
• La razón fundamental para el uso de JADE, es porque
es un middleware que oculta una arquitectura distribuida
donde va a residir la aplicación, permitiendo al
desarrollador centrarse solo en el aspecto lógico dejando
de lado el desarrollo de las comunicaciones entre los
diferentes hosts.
•JADE simplifica la comunicación y la cooperación entre
los agentes, que tienen de forma distribuida la lógica de
control para alcanzar el objetivo de la aplicación.
• JADE cumple con la especificación de FIPA, luego
puede comunicarse con agentes realizados en otros
entornos que sigan FIPA.
CONCLUSIONES
•Es código abierto. Multitud de personas colaboran en la
realización y mantenimiento de JADE. La evolución de
JADE es controlada por el JADE Governing Board, para
que su crecimiento no se realice de forma desordenada.
•Los agentes JADE pueden controlar su propio ciclo de
vida, y pueden ser programados para que dejen de
funcionar o empiecen a hacerlo dependiendo del estado
del sistema y de la función que debe realizar el agente.
• Los agentes JADE pueden correr en las diferentes
versiones de Java: J2EE, J2SE y J2ME.
CONCLUSIONES
•Proporciona un plug-in para implementar agentes en
dispositivos móviles. Es una versión de jade mas
ligera, teniendo en cuenta las capacidades de memoria de
este dispositivo.
•El API proporcionado por JADE es intuitivo, fácil de
aprender y sencillo de usar, haciendo que el desarrollo se
produzca de manera mas rápida que si no se utilizase.
• Permite una fácil integración con otras librerias para la
implementación de razonamientos y con PROTÉGÉ
para el desarrollo de ontologías. Además, es posible
comunicar JADE con aplicaciones realizadas en java.
REFERENCIAS BIBLIOGRAFICAS
• Fabio Bellifemine, Agostini Poggi, Giovanni Rimassa. JADE – A
FIPA compliant agent framework. 1999.
• Juan Francisco Garamendi Bragado. Agentes Inteligentes: JADE.
Abril de 2004.
• Escuela de primavera de agentes. Tutorial Basico de JADE. 19 de
Febrero de 2005.
• Giovanni Caire. JADE TUTORIAL. Jade programming for
beginners. 4 de Diciembre de 2003.
• Fabio Bellifemine, Giovanni Rimessa, Tiziana Trucco, Giovanni
Caire. JADE PROGRAMMER’S GUIDE. 2 de marzo de 2005.
• David Camacho, Ricardo Aler, César Castro, Jose M. Molina.
Performance    Evaluation    of     ZEUS,      JADE     and
SKELETONAGENT Frameworks. 2002.
ELEMENTOS DEL SISTEMA
Interfaz principal FIPA-OS
Interfaz para agregar un nuevo agente
Interfaz agente iotestagent
Interfaz agente swingdfgui
Interfaz Thread Pool Monitor
Interfaz Task Manager
ZEUS

ZEUS define una metodología de diseño de
sistemas Multi-agente y lo soporta mediante un
entorno visual para capturar las especificaciones de
los agentes. Estas especificaciones son           luego
utilizadas para generar el código fuente en Java.
ZEUS

Análisis del dominio. Se orienta a obtener el
modelo de roles. El modelo de roles se compone
de diagramas de clases (UML) para representar
roles, diagramas UML de colaboración para indicar
qué mensajes se intercambian y fichas para describir
los roles.
ZEUS

Diseño del agente. Consiste en determinar qué
necesita cada agente para poder desempeñar su
cometido. Esto incluye revisar las tecnologías y
disciplinas relacionadas con el diseño de agentes y
desarrollar un conjunto de modelos propuestos.
ZEUS

Implementación de los agentes o realización y
soporte en tiempo de ejecución. Se trata de
utilizar la herramienta ZEUS para trasladar los
conceptos de diseño dentro de la plataforma que
ZEUS tiene ya implementada. El resultado es un
modelo ejecutable del sistema.
ZEUS
ZEUS
http://jade.tilab.com
http://www.nortelnetworks.com/p
roducts/announcements/fipa/
Propuestas proyectos
SMA para simular un proceso de negociación (cualquier
mercado diferente al de energía) con subastas tipo:

-Brokering
-fipa Contract-Net
-fipa Iterated-Contract-Net
-holandesa
-inglesa
-Recruiting
-yanqui

Simulación de un Carrito de compras (Agentes para tomar
pedido, Agentes para recolectar pedido, agente para cancelar
pedido ....)
Propuestas proyectos

Recuperación de información web (teniendo en cuenta el perfil
del usuario).

-Mercados de libros.
-Información de diversos temas en periódicos (recordar
ejemplo).
-....

Sistemas distribuidos para recuperar información desde diversos
servidores (demostrar la mejora en los tiempos de respuesta)
Propuestas proyectos


***Otros mas complicados

agentes y procesamiento digital de imágenes
agentes móviles

Más contenido relacionado

La actualidad más candente

Estructura básica de un Sistema Operativo
Estructura básica de un Sistema Operativo Estructura básica de un Sistema Operativo
Estructura básica de un Sistema Operativo lizbethvazquezramirez
 
Entornos de desarrollo para móviles
Entornos de desarrollo para móvilesEntornos de desarrollo para móviles
Entornos de desarrollo para móvilesangelo4037
 
Programacion orientada a componentes
Programacion orientada a componentesProgramacion orientada a componentes
Programacion orientada a componentesmellcv
 
Estructura del sistema operativo windows
Estructura del sistema operativo windowsEstructura del sistema operativo windows
Estructura del sistema operativo windowsomfib123
 
Licencia bsd
Licencia bsdLicencia bsd
Licencia bsdmeraso123
 
Ataques en el Protocolo DHCP Spoofing - Grupo2 -Redes de Computadoras (1).pptx
Ataques en el Protocolo DHCP Spoofing - Grupo2 -Redes de Computadoras (1).pptxAtaques en el Protocolo DHCP Spoofing - Grupo2 -Redes de Computadoras (1).pptx
Ataques en el Protocolo DHCP Spoofing - Grupo2 -Redes de Computadoras (1).pptxWilsonOrellana11
 
Partes de la pantalla de eclipse
Partes de la pantalla de eclipsePartes de la pantalla de eclipse
Partes de la pantalla de eclipselourdes9898
 
Calidad Del Producto Software
Calidad Del Producto SoftwareCalidad Del Producto Software
Calidad Del Producto Softwarealbert317
 
Constructores en Java
Constructores en JavaConstructores en Java
Constructores en JavaUCE
 
Guia de aprendizage 5 introduccion a ios de cisco
Guia de aprendizage 5 introduccion a ios de ciscoGuia de aprendizage 5 introduccion a ios de cisco
Guia de aprendizage 5 introduccion a ios de ciscoyoes1053
 
Paper Sistema Operativo Linux
Paper Sistema Operativo Linux Paper Sistema Operativo Linux
Paper Sistema Operativo Linux Krlitos Xavier
 
Pseint Variables Y Comentarios
Pseint Variables Y ComentariosPseint Variables Y Comentarios
Pseint Variables Y ComentariosMonjeOneble
 

La actualidad más candente (20)

Estructura básica de un Sistema Operativo
Estructura básica de un Sistema Operativo Estructura básica de un Sistema Operativo
Estructura básica de un Sistema Operativo
 
Entornos de desarrollo para móviles
Entornos de desarrollo para móvilesEntornos de desarrollo para móviles
Entornos de desarrollo para móviles
 
Programacion orientada a componentes
Programacion orientada a componentesProgramacion orientada a componentes
Programacion orientada a componentes
 
Iso 25000
Iso 25000Iso 25000
Iso 25000
 
Estructura del sistema operativo windows
Estructura del sistema operativo windowsEstructura del sistema operativo windows
Estructura del sistema operativo windows
 
Virtualización
VirtualizaciónVirtualización
Virtualización
 
Sqa
SqaSqa
Sqa
 
Licencia bsd
Licencia bsdLicencia bsd
Licencia bsd
 
Ataques en el Protocolo DHCP Spoofing - Grupo2 -Redes de Computadoras (1).pptx
Ataques en el Protocolo DHCP Spoofing - Grupo2 -Redes de Computadoras (1).pptxAtaques en el Protocolo DHCP Spoofing - Grupo2 -Redes de Computadoras (1).pptx
Ataques en el Protocolo DHCP Spoofing - Grupo2 -Redes de Computadoras (1).pptx
 
Partes de la pantalla de eclipse
Partes de la pantalla de eclipsePartes de la pantalla de eclipse
Partes de la pantalla de eclipse
 
Seguridad en IPv6
Seguridad en IPv6Seguridad en IPv6
Seguridad en IPv6
 
Calidad Del Producto Software
Calidad Del Producto SoftwareCalidad Del Producto Software
Calidad Del Producto Software
 
Constructores en Java
Constructores en JavaConstructores en Java
Constructores en Java
 
Guia de aprendizage 5 introduccion a ios de cisco
Guia de aprendizage 5 introduccion a ios de ciscoGuia de aprendizage 5 introduccion a ios de cisco
Guia de aprendizage 5 introduccion a ios de cisco
 
Paper Sistema Operativo Linux
Paper Sistema Operativo Linux Paper Sistema Operativo Linux
Paper Sistema Operativo Linux
 
Programacion Batch
Programacion BatchProgramacion Batch
Programacion Batch
 
Pseint Variables Y Comentarios
Pseint Variables Y ComentariosPseint Variables Y Comentarios
Pseint Variables Y Comentarios
 
Mantenimiento de-software
Mantenimiento de-softwareMantenimiento de-software
Mantenimiento de-software
 
Pruebas
PruebasPruebas
Pruebas
 
Normas ISO 9126 - 25000
Normas ISO 9126 - 25000Normas ISO 9126 - 25000
Normas ISO 9126 - 25000
 

Destacado (7)

Zacatecas
Zacatecas Zacatecas
Zacatecas
 
Sistemas Multiagente
Sistemas MultiagenteSistemas Multiagente
Sistemas Multiagente
 
Simulación basada en agentes y multi agentes
Simulación basada en agentes y multi agentesSimulación basada en agentes y multi agentes
Simulación basada en agentes y multi agentes
 
Sistemas MultiAgente
Sistemas MultiAgenteSistemas MultiAgente
Sistemas MultiAgente
 
Agentes Inteligentes
Agentes  InteligentesAgentes  Inteligentes
Agentes Inteligentes
 
Unidad No. 5 - Agentes Inteligentes
Unidad No. 5 - Agentes InteligentesUnidad No. 5 - Agentes Inteligentes
Unidad No. 5 - Agentes Inteligentes
 
Comsi
ComsiComsi
Comsi
 

Similar a Presentacion jade

La herramienta de desarrollo de agentes JADE
La herramienta de desarrollo de agentes JADELa herramienta de desarrollo de agentes JADE
La herramienta de desarrollo de agentes JADEpcuestaesei
 
Sistemas distribuidos
Sistemas distribuidosSistemas distribuidos
Sistemas distribuidosJaziel Torres
 
herramientas tecnológicas
herramientas tecnológicasherramientas tecnológicas
herramientas tecnológicasGerardo Linares
 
La herramienta de desarrollo de agentes Jade
La herramienta de desarrollo de agentes JadeLa herramienta de desarrollo de agentes Jade
La herramienta de desarrollo de agentes Jadepcuestaesei
 
EQUIPO 2,2A PARTE DE REVISION DE TECNOLOGIAS WEB
EQUIPO 2,2A PARTE DE REVISION DE TECNOLOGIAS WEBEQUIPO 2,2A PARTE DE REVISION DE TECNOLOGIAS WEB
EQUIPO 2,2A PARTE DE REVISION DE TECNOLOGIAS WEBUNIV DE CIENCIAS Y ARTES
 
EQUIPO 2,2A PARTE DE REVISION DE TECNOLOGIAS WEB
EQUIPO 2,2A PARTE DE REVISION DE TECNOLOGIAS WEBEQUIPO 2,2A PARTE DE REVISION DE TECNOLOGIAS WEB
EQUIPO 2,2A PARTE DE REVISION DE TECNOLOGIAS WEBUNIV DE CIENCIAS Y ARTES
 
Como sacar el máximo partido a los Cores de MuleSoft - optimización y buenas ...
Como sacar el máximo partido a los Cores de MuleSoft - optimización y buenas ...Como sacar el máximo partido a los Cores de MuleSoft - optimización y buenas ...
Como sacar el máximo partido a los Cores de MuleSoft - optimización y buenas ...Francisco Javier Toscano Lopez
 
SG 09 Patrones de Integración Empresarial Apache Camel
SG 09 Patrones de Integración Empresarial Apache CamelSG 09 Patrones de Integración Empresarial Apache Camel
SG 09 Patrones de Integración Empresarial Apache CamelDomingo Suarez Torres
 
Servidor Web Apache para Linux
Servidor Web Apache para LinuxServidor Web Apache para Linux
Servidor Web Apache para LinuxMaría del Cisne
 
Curso: Programación Web con Tecnología Java
Curso:  	Programación Web con Tecnología JavaCurso:  	Programación Web con Tecnología Java
Curso: Programación Web con Tecnología Javaalvaro alcocer sotil
 

Similar a Presentacion jade (20)

Reporte 4
Reporte 4Reporte 4
Reporte 4
 
La herramienta de desarrollo de agentes JADE
La herramienta de desarrollo de agentes JADELa herramienta de desarrollo de agentes JADE
La herramienta de desarrollo de agentes JADE
 
Sistemas distribuidos
Sistemas distribuidosSistemas distribuidos
Sistemas distribuidos
 
herramientas tecnológicas
herramientas tecnológicasherramientas tecnológicas
herramientas tecnológicas
 
La herramienta de desarrollo de agentes Jade
La herramienta de desarrollo de agentes JadeLa herramienta de desarrollo de agentes Jade
La herramienta de desarrollo de agentes Jade
 
P3 Componentes
P3 ComponentesP3 Componentes
P3 Componentes
 
EQUIPO 2,2A PARTE DE REVISION DE TECNOLOGIAS WEB
EQUIPO 2,2A PARTE DE REVISION DE TECNOLOGIAS WEBEQUIPO 2,2A PARTE DE REVISION DE TECNOLOGIAS WEB
EQUIPO 2,2A PARTE DE REVISION DE TECNOLOGIAS WEB
 
Introduccion Java.ppt
Introduccion Java.pptIntroduccion Java.ppt
Introduccion Java.ppt
 
EQUIPO 2,2A PARTE DE REVISION DE TECNOLOGIAS WEB
EQUIPO 2,2A PARTE DE REVISION DE TECNOLOGIAS WEBEQUIPO 2,2A PARTE DE REVISION DE TECNOLOGIAS WEB
EQUIPO 2,2A PARTE DE REVISION DE TECNOLOGIAS WEB
 
Proyecto multicapa y conexión
Proyecto multicapa y conexiónProyecto multicapa y conexión
Proyecto multicapa y conexión
 
EQUIPO 2,2A PARTE DE LAS AGUILAS
EQUIPO 2,2A PARTE DE LAS AGUILASEQUIPO 2,2A PARTE DE LAS AGUILAS
EQUIPO 2,2A PARTE DE LAS AGUILAS
 
Como sacar el máximo partido a los Cores de MuleSoft - optimización y buenas ...
Como sacar el máximo partido a los Cores de MuleSoft - optimización y buenas ...Como sacar el máximo partido a los Cores de MuleSoft - optimización y buenas ...
Como sacar el máximo partido a los Cores de MuleSoft - optimización y buenas ...
 
SG 09 Patrones de Integración Empresarial Apache Camel
SG 09 Patrones de Integración Empresarial Apache CamelSG 09 Patrones de Integración Empresarial Apache Camel
SG 09 Patrones de Integración Empresarial Apache Camel
 
Java Web Services - Introduccion
Java Web Services - IntroduccionJava Web Services - Introduccion
Java Web Services - Introduccion
 
Seminario Jade 2014
Seminario Jade 2014Seminario Jade 2014
Seminario Jade 2014
 
Servidor Web Apache para Linux
Servidor Web Apache para LinuxServidor Web Apache para Linux
Servidor Web Apache para Linux
 
Miranda yesenia tarea3
Miranda yesenia tarea3Miranda yesenia tarea3
Miranda yesenia tarea3
 
Curso: Programación Web con Tecnología Java
Curso:  	Programación Web con Tecnología JavaCurso:  	Programación Web con Tecnología Java
Curso: Programación Web con Tecnología Java
 
Cómo elegir un servidor Web
Cómo elegir un servidor WebCómo elegir un servidor Web
Cómo elegir un servidor Web
 
Modelo OSI y TCP/IP
Modelo OSI y TCP/IPModelo OSI y TCP/IP
Modelo OSI y TCP/IP
 

Último

Concurso de Innovación Pedagógica T2 FONDEP 2024 Ccesa007.pdf
Concurso de Innovación Pedagógica  T2  FONDEP 2024 Ccesa007.pdfConcurso de Innovación Pedagógica  T2  FONDEP 2024 Ccesa007.pdf
Concurso de Innovación Pedagógica T2 FONDEP 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
5°-CARPETA PEDAGÓGICA 2024-MAESTRAS DE PRIMARIA PERÚ-978387435.doc
5°-CARPETA PEDAGÓGICA 2024-MAESTRAS DE PRIMARIA PERÚ-978387435.doc5°-CARPETA PEDAGÓGICA 2024-MAESTRAS DE PRIMARIA PERÚ-978387435.doc
5°-CARPETA PEDAGÓGICA 2024-MAESTRAS DE PRIMARIA PERÚ-978387435.docGLADYSPASTOR
 
Recursos Tecnológicos, página AIP-CRT 2 0 2 4.pdf
Recursos Tecnológicos, página  AIP-CRT 2 0 2 4.pdfRecursos Tecnológicos, página  AIP-CRT 2 0 2 4.pdf
Recursos Tecnológicos, página AIP-CRT 2 0 2 4.pdfNELLYKATTY
 
21 MARZO DIA INTERNACIONAL DOS BOSQUES.pdf
21 MARZO DIA INTERNACIONAL DOS BOSQUES.pdf21 MARZO DIA INTERNACIONAL DOS BOSQUES.pdf
21 MARZO DIA INTERNACIONAL DOS BOSQUES.pdfceeabarcia
 
Revista digital primer ciclo 2024 colección ediba
Revista digital primer ciclo 2024 colección edibaRevista digital primer ciclo 2024 colección ediba
Revista digital primer ciclo 2024 colección edibaTatiTerlecky1
 
Escrito administrativo técnico y comerciales
Escrito administrativo técnico y comercialesEscrito administrativo técnico y comerciales
Escrito administrativo técnico y comercialesmelanieteresacontrer
 
ficha de aplicacion para estudiantes El agua para niños de primaria
ficha de aplicacion para estudiantes El agua para niños de primariaficha de aplicacion para estudiantes El agua para niños de primaria
ficha de aplicacion para estudiantes El agua para niños de primariamichel carlos Capillo Dominguez
 
SECUENCIA DIDÁCTICA Matemática 1er grado
SECUENCIA  DIDÁCTICA Matemática 1er gradoSECUENCIA  DIDÁCTICA Matemática 1er grado
SECUENCIA DIDÁCTICA Matemática 1er gradoAnaMara883998
 
Adoración sin fin al Dios Creador por sus bendiciones
Adoración sin fin al Dios Creador por sus bendicionesAdoración sin fin al Dios Creador por sus bendiciones
Adoración sin fin al Dios Creador por sus bendicionesAlejandrino Halire Ccahuana
 
plan espacios inspiradores para nivel primaria
plan espacios inspiradores para nivel primariaplan espacios inspiradores para nivel primaria
plan espacios inspiradores para nivel primariaElizabeth252489
 
Herbert James Drape. Erotismo y sensualidad.pptx
Herbert James Drape. Erotismo y sensualidad.pptxHerbert James Drape. Erotismo y sensualidad.pptx
Herbert James Drape. Erotismo y sensualidad.pptxArs Erótica
 
Los escritos administrativos, técnicos y comerciales
Los escritos administrativos, técnicos y comercialesLos escritos administrativos, técnicos y comerciales
Los escritos administrativos, técnicos y comercialeshanda210618
 
Programación Anual 2024 - CIENCIAS SOCIALES.docx
Programación Anual 2024  - CIENCIAS SOCIALES.docxProgramación Anual 2024  - CIENCIAS SOCIALES.docx
Programación Anual 2024 - CIENCIAS SOCIALES.docxJhordanBenitesSanche1
 
1ro Programación Anual D.P.C.C ACTUALIZADO
1ro Programación Anual D.P.C.C ACTUALIZADO1ro Programación Anual D.P.C.C ACTUALIZADO
1ro Programación Anual D.P.C.C ACTUALIZADODJElvitt
 
UNIDAD DE APRENDIZAJE MARZO 2024.docx para educacion
UNIDAD DE APRENDIZAJE MARZO 2024.docx para educacionUNIDAD DE APRENDIZAJE MARZO 2024.docx para educacion
UNIDAD DE APRENDIZAJE MARZO 2024.docx para educacionCarolVigo1
 
Presentación: Actividad de Diálogos adolescentes.pptx
Presentación: Actividad de  Diálogos adolescentes.pptxPresentación: Actividad de  Diálogos adolescentes.pptx
Presentación: Actividad de Diálogos adolescentes.pptxNabel Paulino Guerra Huaranca
 

Último (20)

Concurso de Innovación Pedagógica T2 FONDEP 2024 Ccesa007.pdf
Concurso de Innovación Pedagógica  T2  FONDEP 2024 Ccesa007.pdfConcurso de Innovación Pedagógica  T2  FONDEP 2024 Ccesa007.pdf
Concurso de Innovación Pedagógica T2 FONDEP 2024 Ccesa007.pdf
 
5°-CARPETA PEDAGÓGICA 2024-MAESTRAS DE PRIMARIA PERÚ-978387435.doc
5°-CARPETA PEDAGÓGICA 2024-MAESTRAS DE PRIMARIA PERÚ-978387435.doc5°-CARPETA PEDAGÓGICA 2024-MAESTRAS DE PRIMARIA PERÚ-978387435.doc
5°-CARPETA PEDAGÓGICA 2024-MAESTRAS DE PRIMARIA PERÚ-978387435.doc
 
Recursos Tecnológicos, página AIP-CRT 2 0 2 4.pdf
Recursos Tecnológicos, página  AIP-CRT 2 0 2 4.pdfRecursos Tecnológicos, página  AIP-CRT 2 0 2 4.pdf
Recursos Tecnológicos, página AIP-CRT 2 0 2 4.pdf
 
21 MARZO DIA INTERNACIONAL DOS BOSQUES.pdf
21 MARZO DIA INTERNACIONAL DOS BOSQUES.pdf21 MARZO DIA INTERNACIONAL DOS BOSQUES.pdf
21 MARZO DIA INTERNACIONAL DOS BOSQUES.pdf
 
Revista digital primer ciclo 2024 colección ediba
Revista digital primer ciclo 2024 colección edibaRevista digital primer ciclo 2024 colección ediba
Revista digital primer ciclo 2024 colección ediba
 
Escrito administrativo técnico y comerciales
Escrito administrativo técnico y comercialesEscrito administrativo técnico y comerciales
Escrito administrativo técnico y comerciales
 
Actividad de bienestar docente 2016 Pereira
Actividad de bienestar docente 2016 PereiraActividad de bienestar docente 2016 Pereira
Actividad de bienestar docente 2016 Pereira
 
ficha de aplicacion para estudiantes El agua para niños de primaria
ficha de aplicacion para estudiantes El agua para niños de primariaficha de aplicacion para estudiantes El agua para niños de primaria
ficha de aplicacion para estudiantes El agua para niños de primaria
 
SECUENCIA DIDÁCTICA Matemática 1er grado
SECUENCIA  DIDÁCTICA Matemática 1er gradoSECUENCIA  DIDÁCTICA Matemática 1er grado
SECUENCIA DIDÁCTICA Matemática 1er grado
 
Adoración sin fin al Dios Creador por sus bendiciones
Adoración sin fin al Dios Creador por sus bendicionesAdoración sin fin al Dios Creador por sus bendiciones
Adoración sin fin al Dios Creador por sus bendiciones
 
plan espacios inspiradores para nivel primaria
plan espacios inspiradores para nivel primariaplan espacios inspiradores para nivel primaria
plan espacios inspiradores para nivel primaria
 
Herbert James Drape. Erotismo y sensualidad.pptx
Herbert James Drape. Erotismo y sensualidad.pptxHerbert James Drape. Erotismo y sensualidad.pptx
Herbert James Drape. Erotismo y sensualidad.pptx
 
Los escritos administrativos, técnicos y comerciales
Los escritos administrativos, técnicos y comercialesLos escritos administrativos, técnicos y comerciales
Los escritos administrativos, técnicos y comerciales
 
Programación Anual 2024 - CIENCIAS SOCIALES.docx
Programación Anual 2024  - CIENCIAS SOCIALES.docxProgramación Anual 2024  - CIENCIAS SOCIALES.docx
Programación Anual 2024 - CIENCIAS SOCIALES.docx
 
Power Point E. Sab: Adoración sin fin...
Power Point E. Sab: Adoración sin fin...Power Point E. Sab: Adoración sin fin...
Power Point E. Sab: Adoración sin fin...
 
1ro Programación Anual D.P.C.C ACTUALIZADO
1ro Programación Anual D.P.C.C ACTUALIZADO1ro Programación Anual D.P.C.C ACTUALIZADO
1ro Programación Anual D.P.C.C ACTUALIZADO
 
UNIDAD DE APRENDIZAJE MARZO 2024.docx para educacion
UNIDAD DE APRENDIZAJE MARZO 2024.docx para educacionUNIDAD DE APRENDIZAJE MARZO 2024.docx para educacion
UNIDAD DE APRENDIZAJE MARZO 2024.docx para educacion
 
Tema 5.- BASES DE DATOS Y GESTIÓN DE LA INF. PARA EL MARKETING.pdf
Tema 5.- BASES DE DATOS Y GESTIÓN DE LA INF. PARA EL MARKETING.pdfTema 5.- BASES DE DATOS Y GESTIÓN DE LA INF. PARA EL MARKETING.pdf
Tema 5.- BASES DE DATOS Y GESTIÓN DE LA INF. PARA EL MARKETING.pdf
 
Presentación: Actividad de Diálogos adolescentes.pptx
Presentación: Actividad de  Diálogos adolescentes.pptxPresentación: Actividad de  Diálogos adolescentes.pptx
Presentación: Actividad de Diálogos adolescentes.pptx
 
Conducta ética en investigación científica.pdf
Conducta ética en investigación científica.pdfConducta ética en investigación científica.pdf
Conducta ética en investigación científica.pdf
 

Presentacion jade

  • 1. JADE Java Agent DEvelopment Framework EXPOSITOR: Francisco Javier Arias Sánchez
  • 2. PLAN DE TEMAS • Introducción a JADE • El estándar FIPA • Características de JADE • Arquitectura JADE y subsistema de comunicación • Modelo de ejecución • Comparación entre Plataformas • Conclusiones
  • 3. PLAN DE TEMAS • Introducción a JADE • El estándar FIPA • Características de JADE • Arquitectura JADE y subsistema de comunicación • Modelo de ejecución • Comparación entre Plataformas • Conclusiones
  • 4. INTRODUCCIÓN A JADE Las tecnologías basadas en agentes aun están inmaduras y pocos sistemas basados en agentes han sido realizados. Anteriormente se habían creado herramientas de desarrollo que hacen mas fácil el trabajo, pero no se acogían a ningún estándar para la interoperabilidad.
  • 5. INTRODUCCIÓN A JADE •Concordia •FIPA-OS • Zeus • Gossip • JATLite • Odyssey •Aglets • Voyager
  • 6. INTRODUCCIÓN A JADE JADE es un middleware desarrollado por Telecom Italy Lab (TILAB), antes llamado CSELT, para el desarrollo de aplicaciones distribuidas multi-agente que cumplen con las especificaciones FIPA para la interoperabilidad de sistemas multi-agente.
  • 7. INTRODUCCIÓN A JADE JADE proporciona: •Entorno de desarrollo para la creación de aplicaciones basadas en agentes. •Entorno de ejecución para que los agentes vivan y se comuniquen. • Arquitectura peer-to-peer (P2P) • Interoperabilidad: especificaciones FIPA • Portabilidad: realizado en JAVA
  • 8. PLAN DE TEMAS • Introducción a JADE • El estándar FIPA • Características de JADE • Arquitectura JADE y subsistema de comunicación • Modelo de ejecución • Comparación entre Plataformas • Conclusiones
  • 9. FIPA Permite la interoperabilidad entre plataformas de diferentes empresas y organizaciones, FIPA especifica la normatividad que se debe llevar a cabo para la construcción de plataformas Multi- Agente. Estas especificaciones no restringen la tecnología usada para la implementación de plataformas.
  • 10. FIPA Modelo de referencia para una plataforma de agentes
  • 11. FIPA Agent Managment System (AMS) •Encargado de la supervisión y control sobre el acceso y uso de la plataforma. • Responsable de la autenticación de los agentes residentes y control de registros (ANS).
  • 12. FIPA Agent Communication Channel (ACC) •Proporciona la ruta para el contacto básico entre agentes dentro y fuera de la plataforma. • Método por defecto de comunicación que ofrece un servicio confiable, ordenado y exacto. •También soporta IIOP para la interoperabilidad entre agentes en diferentes plataformas.
  • 13. FIPA Directory Facilitator (DF) •Proporciona el servicio de paginas amarillas. • En el se registran los servicios que ofrecen los agentes; y de igual forma se pueden buscar dichos servicios.
  • 14. FIPA KQML  FIPA ACL El lenguaje de comunicación KQML, que era muy comúnmente usado fue reemplazado por uno nuevo, mas corto y preciso: ACL. La principal ventaja de ACL es que al acortar su tamaño posee una semántica bien definida, eliminando ambigüedades.
  • 15. PLAN DE TEMAS • Introducción a JADE • El estándar FIPA • Características de JADE • Arquitectura JADE y subsistema de comunicación • Modelo de ejecución • Comparación entre Plataformas • Conclusiones
  • 16. CARACTERÍSTICAS DE JADE Para simplificar el desarrollo mientras se asegura el cumplimiento del estándar FIPA, JADE ofrece al programador las siguientes características:
  • 18. CARACTERÍSTICAS DE JADE •Plataforma de agentes distribuidas La plataforma de agentes puede estar distribuida en diferentes host, y solo una Virtual Machine por host estará corriendo. Cada agente es implementado como un Hilo de Java.
  • 20. CARACTERÍSTICAS DE JADE • Interfaz DF de JADE
  • 21. CARACTERÍSTICAS DE JADE •Interfaz para el registro de servicios
  • 22. CARACTERÍSTICAS DE JADE • Mecanismo de transporte JADE proporciona un mecanismo de transporte de mensajes utilizando Remote Method Invocation (RMI). El programador únicamente se preocupa por implementar la clase ACLMessage y el mecanismo de transporte es oculto al programador.
  • 23. CARACTERÍSTICAS DE JADE • Protocolo IIOP* JADE proporciona un protocolo para realizar la comunicación entre diferentes plataformas. El programador únicamente se preocupa por implementar la clase ACLMessage y el mecanismo de transporte es oculto al programador. *Internet Inter-Orb Protocol. Orb: Object Request Broker
  • 24. CARACTERÍSTICAS DE JADE • Librerías de protocolos de interacción FIPA JADE facilita un conjunto de librerías de protocolos de interacción listas para ser usadas. FIPA_BROKERING FIPA_QUERY FIPA_DUTCH_AUCTION FIPA_RECRUITING FIPA_ENGLISH_AUCTION FIPA_REQUEST FIPA_PROPOSE FIPA_REQUEST_WHEN FIPA_CONTRACT_NET FIPA_SUBSCRIBE FIPA_ITERATED_CONTRACT_NET
  • 25. CARACTERÍSTICAS DE JADE •Registro automático y servicio de nombres Cada vez que un agente es creado, e instanciado se realiza un registro automático de su nombre con el AMS, que presta el servicio de servidor de nombres. El nombre se registra usando la siguiente sintaxis: <nombre_agente>@<nombre_plataforma> donde <nombre_plataforma> esta compuesto por <nombre_equipo>:<puerto que utiliza jade>/JADE. Por ejemplo: comercializador@Hogar:1099/JADE
  • 26. CARACTERÍSTICAS DE JADE • Interfaz grafica RMA (Remote Management Agent) y agentes de utilidad
  • 27. CARACTERÍSTICAS DE JADE • Interfaz grafica RMA Permite controlar el resto de agentes en una plataforma. La interfaz grafica permite: -Terminar la ejecución de un agente o de todos los de un container, incluyendo el RMA. -Terminar con la ejecución de la plataforma en la que se encuentra. -Comenzar, Detener, Continuar, Migrar o Clonar un agente. -Mandar un mensaje a un agente seleccionado
  • 28. CARACTERÍSTICAS DE JADE • Agente Sniffer Permite monitorizar los mensajes que un agente o un grupo de ellos intercambian.
  • 29. CARACTERÍSTICAS DE JADE • Agente Introspector Permite monitorizar la ejecución de un agente y los mensajes intercambiados por este, así como la de sus comportamientos y su ejecución paso a paso.
  • 30. CARACTERÍSTICAS DE JADE • Agente Introspector
  • 31. CARACTERÍSTICAS DE JADE • Agente Dummy Permite interactuar con otros agentes. Proporciona una interfaz grafica que nos permite construir mensajes ACL, mandarlos, almacenarlos y verlos en detalle.
  • 33. PLAN DE TEMAS • Introducción a JADE • El estándar FIPA • Características de JADE • Arquitectura JADE y subsistema de comunicación • Modelo de ejecución • Comparación entre Plataformas • Conclusiones
  • 34. ARQUITECTURA DE JADE Definiciones Básicas Plataforma: entorno de ejecución en donde los agentes “viven”. Una plataforma puede tener uno o mas contenedores. Contenedor: Es una Instancia del entorno de ejecución de JADE. En esta es posible albergar un número indeterminado de agentes. Cada contenedor debe poseer un “Message Dispatcher”. Contenedor principal: Es donde se alojan el AMS, DF y ACC. Debe haber uno y solo uno por plataforma.
  • 36. SUBSISTEMA DE COMUNICACIÓN •El contenedor principal mantiene una tabla de todos los contenedores con su referencia hacia el objeto RMI de cada uno de estos. Además, una tabla descriptora global de agentes es mantenida para relacionar cada nombre del agente con sus datos AMS y con su referencia RMI del contenedor. •Cuando el contenedor principal se comienza a ejecutar, crea un registro RMI interno en el host actual escuchando usuarios por el puerto TCP/IP, luego se ejecutan el ACC, AMS Y DF.
  • 37. SUBSISTEMA DE COMUNICACIÓN •Cuando un contenedor se comienza a ejecutar, busca el registro RMI del contenedor principal para registrarse, también notifica al contenedor principal cuando un agente es creado o terminado, para mantener la tabla descriptora global de agentes actualizada. •Para mejorar el desempeño, cada contenedor guarda en cache la referencia de otro contenedor tan pronto como un mensaje es enviado a ellos. Esto evita buscar en la tabla de agentes cada vez que un mensaje debe ser enviado.
  • 38. SUBSISTEMA DE COMUNICACIÓN Cuando un agente JADE envía un mensaje, puede presentarse los siguientes casos: 1) Agentes en el mismo contenedor: No se utiliza RMI, el método clone() es llamado para enviar un objeto ACL Message. 2) Agentes en la misma plataforma, pero en diferente contenedor, con cache: Se realiza una sola llamada RMI. El objeto ACL Message es serializado y desserializado por el RMI.
  • 39. SUBSISTEMA DE COMUNICACIÓN 3) Agentes en la misma plataforma, pero en diferente contenedor, sin cache: Se realizan dos llamadas RMI. La primera para actualizar el cache de la tabla descriptora global de agentes y la segunda para enviar el mensaje como en la anterior. 4) Agentes en diferentes plataformas (ambas JADE): Se realiza una llamada directa al ACC, esto implica una invocación CORBA, una doble transformación desde un objeto java a un String java y desde este a un flujo de bytes IIOP para el que envía, y para el que recibe lo hace al contrario. Luego para entregar el mensaje desde el ACC del agente que recibe se puede usar 1), 2) o 3).
  • 40. SUBSISTEMA DE COMUNICACIÓN 5) Agentes en diferentes plataformas (no JADE): Se realiza el mismo procedimiento que el caso anterior hasta la invocación IIOP. Lo que suceda en el lado del agente que recibe depende de la implementación de la otra plataforma.
  • 41. PLAN DE TEMAS • Introducción a JADE • El estándar FIPA • Características de JADE • Arquitectura JADE y subsistema de comunicación • Modelo de ejecución • Comparación entre Plataformas • Conclusiones
  • 42. MODELO DE EJECUCIÓN JADE usa la abstracción de Behavior o comportamiento para modelar las tareas que un agente debe realizar. JADE usa el modelo de concurrencia de hilo-por-agente en lugar de hilo-por-comportamiento para mantener pocos hilos en concurrencia. Cada agente posee un programador de comportamientos que implementa una política “round-robin non- preemptive”. Se utilizan dos métodos para manejar la cola de comportamientos de agente: addBehabiour(Behaviour) y removeBehaviour(behaviour).
  • 45. PLAN DE TEMAS • Introducción a JADE • El estándar FIPA • Características de JADE • Arquitectura JADE y subsistema de comunicación • Modelo de ejecución • Comparación entre Plataformas • Conclusiones
  • 46. COMPARACIÓN ENTRE PLATAFORMAS • Para comparar el desempeño de las plataformas JADE, ZEUS y SKELETONAGENT se realizo un sistema multi-agente que recupera noticias en la WEB, desde ciertos portales especificados.
  • 47. COMPARACIÓN ENTRE PLATAFORMAS
  • 48. COMPARACIÓN ENTRE PLATAFORMAS
  • 49. PLAN DE TEMAS • Introducción a JADE • El estándar FIPA • Características de JADE • Arquitectura JADE y subsistema de comunicación • Modelo de ejecución • Comparación entre Plataformas • Conclusiones
  • 50. CONCLUSIONES • La razón fundamental para el uso de JADE, es porque es un middleware que oculta una arquitectura distribuida donde va a residir la aplicación, permitiendo al desarrollador centrarse solo en el aspecto lógico dejando de lado el desarrollo de las comunicaciones entre los diferentes hosts. •JADE simplifica la comunicación y la cooperación entre los agentes, que tienen de forma distribuida la lógica de control para alcanzar el objetivo de la aplicación. • JADE cumple con la especificación de FIPA, luego puede comunicarse con agentes realizados en otros entornos que sigan FIPA.
  • 51. CONCLUSIONES •Es código abierto. Multitud de personas colaboran en la realización y mantenimiento de JADE. La evolución de JADE es controlada por el JADE Governing Board, para que su crecimiento no se realice de forma desordenada. •Los agentes JADE pueden controlar su propio ciclo de vida, y pueden ser programados para que dejen de funcionar o empiecen a hacerlo dependiendo del estado del sistema y de la función que debe realizar el agente. • Los agentes JADE pueden correr en las diferentes versiones de Java: J2EE, J2SE y J2ME.
  • 52. CONCLUSIONES •Proporciona un plug-in para implementar agentes en dispositivos móviles. Es una versión de jade mas ligera, teniendo en cuenta las capacidades de memoria de este dispositivo. •El API proporcionado por JADE es intuitivo, fácil de aprender y sencillo de usar, haciendo que el desarrollo se produzca de manera mas rápida que si no se utilizase. • Permite una fácil integración con otras librerias para la implementación de razonamientos y con PROTÉGÉ para el desarrollo de ontologías. Además, es posible comunicar JADE con aplicaciones realizadas en java.
  • 53. REFERENCIAS BIBLIOGRAFICAS • Fabio Bellifemine, Agostini Poggi, Giovanni Rimassa. JADE – A FIPA compliant agent framework. 1999. • Juan Francisco Garamendi Bragado. Agentes Inteligentes: JADE. Abril de 2004. • Escuela de primavera de agentes. Tutorial Basico de JADE. 19 de Febrero de 2005. • Giovanni Caire. JADE TUTORIAL. Jade programming for beginners. 4 de Diciembre de 2003. • Fabio Bellifemine, Giovanni Rimessa, Tiziana Trucco, Giovanni Caire. JADE PROGRAMMER’S GUIDE. 2 de marzo de 2005. • David Camacho, Ricardo Aler, César Castro, Jose M. Molina. Performance Evaluation of ZEUS, JADE and SKELETONAGENT Frameworks. 2002.
  • 54. ELEMENTOS DEL SISTEMA Interfaz principal FIPA-OS
  • 55. Interfaz para agregar un nuevo agente
  • 60. ZEUS ZEUS define una metodología de diseño de sistemas Multi-agente y lo soporta mediante un entorno visual para capturar las especificaciones de los agentes. Estas especificaciones son luego utilizadas para generar el código fuente en Java.
  • 61. ZEUS Análisis del dominio. Se orienta a obtener el modelo de roles. El modelo de roles se compone de diagramas de clases (UML) para representar roles, diagramas UML de colaboración para indicar qué mensajes se intercambian y fichas para describir los roles.
  • 62. ZEUS Diseño del agente. Consiste en determinar qué necesita cada agente para poder desempeñar su cometido. Esto incluye revisar las tecnologías y disciplinas relacionadas con el diseño de agentes y desarrollar un conjunto de modelos propuestos.
  • 63. ZEUS Implementación de los agentes o realización y soporte en tiempo de ejecución. Se trata de utilizar la herramienta ZEUS para trasladar los conceptos de diseño dentro de la plataforma que ZEUS tiene ya implementada. El resultado es un modelo ejecutable del sistema.
  • 64. ZEUS
  • 65. ZEUS
  • 67. Propuestas proyectos SMA para simular un proceso de negociación (cualquier mercado diferente al de energía) con subastas tipo: -Brokering -fipa Contract-Net -fipa Iterated-Contract-Net -holandesa -inglesa -Recruiting -yanqui Simulación de un Carrito de compras (Agentes para tomar pedido, Agentes para recolectar pedido, agente para cancelar pedido ....)
  • 68. Propuestas proyectos Recuperación de información web (teniendo en cuenta el perfil del usuario). -Mercados de libros. -Información de diversos temas en periódicos (recordar ejemplo). -.... Sistemas distribuidos para recuperar información desde diversos servidores (demostrar la mejora en los tiempos de respuesta)
  • 69. Propuestas proyectos ***Otros mas complicados agentes y procesamiento digital de imágenes agentes móviles