Presentacion jade

1,389 views

Published on

Presentacion_JADE

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,389
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
60
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Presentacion jade

  1. 1. JADEJava Agent DEvelopment Framework EXPOSITOR: Francisco Javier Arias Sánchez
  2. 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. 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. 4. INTRODUCCIÓN A JADELas tecnologías basadas en agentes aun estáninmaduras y pocos sistemas basados en agenteshan sido realizados.Anteriormente se habían creado herramientas dedesarrollo que hacen mas fácil el trabajo, pero nose acogían a ningún estándar para lainteroperabilidad.
  5. 5. INTRODUCCIÓN A JADE •Concordia •FIPA-OS • Zeus • Gossip • JATLite • Odyssey •Aglets • Voyager
  6. 6. INTRODUCCIÓN A JADEJADE es un middleware desarrollado por TelecomItaly Lab (TILAB), antes llamado CSELT, para eldesarrollo de aplicaciones distribuidas multi-agenteque cumplen con las especificaciones FIPA para lainteroperabilidad de sistemas multi-agente.
  7. 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. 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. 9. FIPAPermite la interoperabilidad entre plataformas dediferentes empresas y organizaciones, FIPAespecifica la normatividad que se debe llevar acabo para la construcción de plataformas Multi-Agente.Estas especificaciones no restringen la tecnologíausada para la implementación de plataformas.
  10. 10. FIPAModelo de referencia para una plataforma deagentes
  11. 11. FIPAAgent Managment System (AMS)•Encargado de la supervisión y control sobre elacceso y uso de la plataforma.• Responsable de la autenticación de los agentesresidentes y control de registros (ANS).
  12. 12. FIPAAgent Communication Channel (ACC)•Proporciona la ruta para el contacto básico entreagentes dentro y fuera de la plataforma.• Método por defecto de comunicación que ofreceun servicio confiable, ordenado y exacto.•También soporta IIOP para la interoperabilidadentre agentes en diferentes plataformas.
  13. 13. FIPADirectory Facilitator (DF)•Proporciona el servicio de paginas amarillas.• En el se registran los servicios que ofrecen losagentes; y de igual forma se pueden buscar dichosservicios.
  14. 14. FIPAKQML  FIPA ACLEl lenguaje de comunicación KQML, que era muycomúnmente usado fue reemplazado por unonuevo, mas corto y preciso: ACL.La principal ventaja de ACL es que al acortar sutamaño posee una semántica bien definida,eliminando ambigüedades.
  15. 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. 16. CARACTERÍSTICAS DE JADEPara simplificar el desarrollo mientras se asegurael cumplimiento del estándar FIPA, JADE ofreceal programador las siguientes características:
  17. 17. CARACTERÍSTICAS DE JADE•Plataforma de agentes
  18. 18. CARACTERÍSTICAS DE JADE•Plataforma de agentes distribuidasLa plataforma de agentes puede estar distribuidaen diferentes host, y solo una Virtual Machinepor host estará corriendo. Cada agente esimplementado como un Hilo de Java.
  19. 19. CARACTERÍSTICAS DE JADE• Varios DFs
  20. 20. CARACTERÍSTICAS DE JADE• Interfaz DF de JADE
  21. 21. CARACTERÍSTICAS DE JADE•Interfaz para el registro de servicios
  22. 22. CARACTERÍSTICAS DE JADE• Mecanismo de transporteJADE proporciona un mecanismo de transportede mensajes utilizando Remote MethodInvocation (RMI). El programador únicamentese preocupa por implementar la claseACLMessage y el mecanismo de transporte esoculto al programador.
  23. 23. CARACTERÍSTICAS DE JADE• Protocolo IIOP*JADE proporciona un protocolo para realizar lacomunicación entre diferentes plataformas. Elprogramador únicamente se preocupa porimplementar la clase ACLMessage y elmecanismo de transporte es oculto alprogramador.*Internet Inter-Orb Protocol. Orb: Object Request Broker
  24. 24. CARACTERÍSTICAS DE JADE• Librerías de protocolos de interacción FIPAJADE facilita un conjunto de librerías deprotocolos de interacción listas para ser usadas.FIPA_BROKERING FIPA_QUERYFIPA_DUTCH_AUCTION FIPA_RECRUITINGFIPA_ENGLISH_AUCTION FIPA_REQUESTFIPA_PROPOSE FIPA_REQUEST_WHENFIPA_CONTRACT_NET FIPA_SUBSCRIBEFIPA_ITERATED_CONTRACT_NET
  25. 25. CARACTERÍSTICAS DE JADE•Registro automático y servicio de nombresCada vez que un agente es creado, e instanciadose realiza un registro automático de su nombrecon el AMS, que presta el servicio de servidor denombres. El nombre se registra usando lasiguiente 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. 26. CARACTERÍSTICAS DE JADE• Interfaz grafica RMA (Remote Management Agent)y agentes de utilidad
  27. 27. CARACTERÍSTICAS DE JADE• Interfaz grafica RMAPermite controlar el resto de agentes en unaplataforma. La interfaz grafica permite:-Terminar la ejecución de un agente o de todos los deun container, incluyendo el RMA.-Terminar con la ejecución de la plataforma en la que seencuentra.-Comenzar, Detener, Continuar, Migrar o Clonar unagente.-Mandar un mensaje a un agente seleccionado
  28. 28. CARACTERÍSTICAS DE JADE• Agente SnifferPermite monitorizar los mensajes que un agente o un grupo deellos intercambian.
  29. 29. CARACTERÍSTICAS DE JADE• Agente IntrospectorPermite monitorizar la ejecución de un agente ylos mensajes intercambiados por este, así como lade sus comportamientos y su ejecución paso apaso.
  30. 30. CARACTERÍSTICAS DE JADE• Agente Introspector
  31. 31. CARACTERÍSTICAS DE JADE• Agente DummyPermite interactuar con otros agentes.Proporciona una interfaz grafica que nos permiteconstruir mensajesACL, mandarlos, almacenarlos y verlos en detalle.
  32. 32. CARACTERÍSTICAS DE JADE•Agente Dummy
  33. 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. 34. ARQUITECTURA DE JADEDefiniciones BásicasPlataforma: entorno de ejecución en donde losagentes “viven”. Una plataforma puede tener uno omas contenedores.Contenedor: Es una Instancia del entorno deejecución de JADE. En esta es posible albergar unnúmero indeterminado de agentes. Cada contenedordebe poseer un “Message Dispatcher”.Contenedor principal: Es donde se alojan el AMS,DF y ACC. Debe haber uno y solo uno porplataforma.
  35. 35. ARQUITECTURA DE JADE
  36. 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. 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. 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. 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. 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. 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. 42. MODELO DE EJECUCIÓNJADE usa la abstracción de Behavior o comportamientopara modelar las tareas que un agente debe realizar.JADE usa el modelo de concurrencia de hilo-por-agenteen lugar de hilo-por-comportamiento para mantenerpocos hilos en concurrencia.Cada agente posee un programador de comportamientosque implementa una política “round-robin non-preemptive”.Se utilizan dos métodos para manejar la cola decomportamientos de agente: addBehabiour(Behaviour) yremoveBehaviour(behaviour).
  43. 43. MODELO DE EJECUCIÓN
  44. 44. MODELO DE EJECUCIÓN
  45. 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. 46. COMPARACIÓN ENTRE PLATAFORMAS• Para comparar el desempeño de las plataformasJADE, ZEUS y SKELETONAGENT se realizo unsistema multi-agente que recupera noticias en laWEB, desde ciertos portales especificados.
  47. 47. COMPARACIÓN ENTRE PLATAFORMAS
  48. 48. COMPARACIÓN ENTRE PLATAFORMAS
  49. 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. 50. CONCLUSIONES• La razón fundamental para el uso de JADE, es porquees un middleware que oculta una arquitectura distribuidadonde va a residir la aplicación, permitiendo aldesarrollador centrarse solo en el aspecto lógico dejandode lado el desarrollo de las comunicaciones entre losdiferentes hosts.•JADE simplifica la comunicación y la cooperación entrelos agentes, que tienen de forma distribuida la lógica decontrol para alcanzar el objetivo de la aplicación.• JADE cumple con la especificación de FIPA, luegopuede comunicarse con agentes realizados en otrosentornos que sigan FIPA.
  51. 51. CONCLUSIONES•Es código abierto. Multitud de personas colaboran en larealización y mantenimiento de JADE. La evolución deJADE es controlada por el JADE Governing Board, paraque su crecimiento no se realice de forma desordenada.•Los agentes JADE pueden controlar su propio ciclo devida, y pueden ser programados para que dejen defuncionar o empiecen a hacerlo dependiendo del estadodel sistema y de la función que debe realizar el agente.• Los agentes JADE pueden correr en las diferentesversiones de Java: J2EE, J2SE y J2ME.
  52. 52. CONCLUSIONES•Proporciona un plug-in para implementar agentes endispositivos móviles. Es una versión de jade masligera, teniendo en cuenta las capacidades de memoria deeste dispositivo.•El API proporcionado por JADE es intuitivo, fácil deaprender y sencillo de usar, haciendo que el desarrollo seproduzca de manera mas rápida que si no se utilizase.• Permite una fácil integración con otras librerias para laimplementación de razonamientos y con PROTÉGÉpara el desarrollo de ontologías. Además, es posiblecomunicar JADE con aplicaciones realizadas en java.
  53. 53. REFERENCIAS BIBLIOGRAFICAS• Fabio Bellifemine, Agostini Poggi, Giovanni Rimassa. JADE – AFIPA compliant agent framework. 1999.• Juan Francisco Garamendi Bragado. Agentes Inteligentes: JADE.Abril de 2004.• Escuela de primavera de agentes. Tutorial Basico de JADE. 19 deFebrero de 2005.• Giovanni Caire. JADE TUTORIAL. Jade programming forbeginners. 4 de Diciembre de 2003.• Fabio Bellifemine, Giovanni Rimessa, Tiziana Trucco, GiovanniCaire. JADE PROGRAMMER’S GUIDE. 2 de marzo de 2005.• David Camacho, Ricardo Aler, César Castro, Jose M. Molina.Performance Evaluation of ZEUS, JADE andSKELETONAGENT Frameworks. 2002.
  54. 54. ELEMENTOS DEL SISTEMAInterfaz principal FIPA-OS
  55. 55. Interfaz para agregar un nuevo agente
  56. 56. Interfaz agente iotestagent
  57. 57. Interfaz agente swingdfgui
  58. 58. Interfaz Thread Pool Monitor
  59. 59. Interfaz Task Manager
  60. 60. ZEUSZEUS define una metodología de diseño desistemas Multi-agente y lo soporta mediante unentorno visual para capturar las especificaciones delos agentes. Estas especificaciones son luegoutilizadas para generar el código fuente en Java.
  61. 61. ZEUSAnálisis del dominio. Se orienta a obtener elmodelo de roles. El modelo de roles se componede diagramas de clases (UML) para representarroles, diagramas UML de colaboración para indicarqué mensajes se intercambian y fichas para describirlos roles.
  62. 62. ZEUSDiseño del agente. Consiste en determinar quénecesita cada agente para poder desempeñar sucometido. Esto incluye revisar las tecnologías ydisciplinas relacionadas con el diseño de agentes ydesarrollar un conjunto de modelos propuestos.
  63. 63. ZEUSImplementación de los agentes o realización ysoporte en tiempo de ejecución. Se trata deutilizar la herramienta ZEUS para trasladar losconceptos de diseño dentro de la plataforma queZEUS tiene ya implementada. El resultado es unmodelo ejecutable del sistema.
  64. 64. ZEUS
  65. 65. ZEUS
  66. 66. http://jade.tilab.comhttp://www.nortelnetworks.com/products/announcements/fipa/
  67. 67. Propuestas proyectosSMA para simular un proceso de negociación (cualquiermercado diferente al de energía) con subastas tipo:-Brokering-fipa Contract-Net-fipa Iterated-Contract-Net-holandesa-inglesa-Recruiting-yanquiSimulación de un Carrito de compras (Agentes para tomarpedido, Agentes para recolectar pedido, agente para cancelarpedido ....)
  68. 68. Propuestas proyectosRecuperación de información web (teniendo en cuenta el perfildel usuario).-Mercados de libros.-Información de diversos temas en periódicos (recordarejemplo).-....Sistemas distribuidos para recuperar información desde diversosservidores (demostrar la mejora en los tiempos de respuesta)
  69. 69. Propuestas proyectos***Otros mas complicadosagentes y procesamiento digital de imágenesagentes móviles

×