1 / 77

JADE Java Agent Development Framework

JADE Java Agent Development Framework. EXPOSITOR: Melvin Fallas Cascante A62098. Agenda. Introducción Historia El estándar FIPA Características Conceptos Básicos Arquitectura Ejemplos Conclusiones. Introducción. Introducción. Las tecnologías basadas en agentes: Inmaduras

zaina
Télécharger la présentation

JADE Java Agent Development Framework

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. JADEJava Agent Development Framework EXPOSITOR: Melvin Fallas Cascante A62098

  2. Agenda • Introducción • Historia • El estándar FIPA • Características • Conceptos Básicos • Arquitectura • Ejemplos • Conclusiones

  3. Introducción

  4. Introducción • Las tecnologías basadas en agentes: • Inmaduras • Pocos sistemas • Las herramientas existentes no se acogían a ningún estándar.

  5. Historia

  6. Historia • Middleware • Desarrollado por Telecom Italy Lab (TILAB) • Desarrollo de sistemas distribuidos multi-agente • Cumplen con las especificaciones FIPA

  7. Estándar FIPA

  8. Estándar FIPA • Permite la interoperabilidad entre plataformas de diferentes empresas y organizaciones. • 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.

  9. Estándar FIPA • Agent Managment System (AMS) • 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).

  10. Estándar 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.

  11. Estándar 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.

  12. Característicasde JADE

  13. Características • Entorno de desarrollo para la creación de aplicaciones basadas en agentes. • Entorno de ejecución para que los agentes vivan y se comuniquen.

  14. Características • Plataforma distribuida • Herramientas de debugging • Movilidad de agentes inter-plataforma • Soporta ejecución paralela de múltiples agentes • Transporte de mensajes ACL dentro de la plataforma • Servicio de nombres • Interface para aplicaciones externas

  15. Características • Arquitectura peer to peer (P2P) • Interoperabilidad: • Especificaciones FIPA • Portabilidad: • Realizado en JAVA

  16. Conceptos Básicos

  17. Conceptos Básicos • Agentes • Comportamientos • Comunicación • Ontologías

  18. Conceptos Básicos • Agentes • Un agente es un programa autónomo que constituye las plataformas de agentes y que tienen características propias • Entre ellas identidad, prestación de servicios y una dirección que le permite recibir mensajes de parte de otros agentes

  19. Agentes (Características) • Tienen un nombre único en el entorno de ejecución • Se implementan como un único hilo a ejecutar (single-threaded) • Tienen un método de inicio (setup) • Tienen un método de fin (takeDown)

  20. El método Setup • Sirve para inicializar el agente incluyendo instrucciones que especificarán la ontología a utilizar y los comportamientos asociados al agente • Se invoca al comenzar la ejecución del agente

  21. El método takeDown • Sirve para liberar recursos antes de la eliminación del agente • Es invocado cuando se realiza una llamada al método doDelete(), que es el que realmente da por finalizada la ejecución del agente

  22. Agentes (Características) • Un agente define en su implementación una clase interna por cada uno de los comportamientos asociados al agente • Estos comportamientos se utilizan básicamente para el envío y recepción de mensajes, aunque también se pueden utilizar para realizar otras tareas

  23. La Clase Agent • Es una superclase común que permite a los usuarios crear software de agentes • Los programadores de aplicaciones basadas en agentes deben escribir sus propios agentes como subclases de Agent • Se debe añadir tantos comportamientos específicos como sean necesarios y explotando las capacidades de la clase Agent

  24. La Clase Agent • Suministra métodos que permiten ejecutar las tareas básicas de los agentes: • Mensajes con objetos ACLMessage • Soporte para el ciclo de vida de un agente • Planificación y ejecución de múltiples actividades concurrentes

  25. Ciclo de Vida de un Agente • Estados de un Agente • Iniciado • Activo • Suspendido • En espera • Desconocido • Tránsito

  26. Estado de Inicio • El objeto Agente está creado pero todavía no se ha registrado en el AMS • No tiene nombre ni dirección y tampoco se puede comunicar con otros agentes

  27. Estado Activo • El Agente está registrado en el AMS • Tiene un nombre, una dirección y puede acceder a todas las opciones de JADE

  28. Estado Suspendido • El Agente está interrumpido • Su hilo de ejecución está detenido y no ejecuta ningún Comportamiento

  29. Estado en Espera • El Agente está bloqueado esperando por algo • Su hilo de ejecución está dormido en un monitor de java y se despertará cuando se cumpla una cierta condición • (Cuando reciba un mensaje)

  30. Estado de Desconocido • El Agente ha sido eliminado • El hilo de ejecución ha terminado y se ha eliminado del registro del AMS

  31. Estado en Tránsito • Un Agente móvil entra en este estado mientras está migrando a una nueva localización. • El sistema sigue guardando los mensajes en el buffer hasta que el agente vuelve a estar activo

  32. Transiciones de Estado

  33. Transiciones de Estado

  34. Código Mínimo de un Agente

  35. Conceptos Básicos • Comportamientos (Behaviours) • Son métodos que permiten realizar acciones en hilos de ejecución • Funcionalidad que incorpora el agente • Dan soporte al agente para realizar varias tareas y establecer los tiempos de ejecución de cada una

  36. Comportamientos (Behaviours) • Son útiles para atender peticiones de forma ordenada • Por ejemplo recibiendo mensajes de un solo emisor • Deben heredar de la clase Behaviour

  37. Métodos de un Comportamiento • Existen dos principales: • Action • Done

  38. El método Action • Define la acción a ser realizada cuando se ejecute el comportamiento • Es invocado cuando se produce el evento asociado al comportamiento

  39. El método Action • Es recomendable que los métodos action() no tengan un tiempo de ejecución alto ya que mientras que se ejecutan no pueden ser interrumpidos por otro comportamiento

  40. El método Done • Es invocado cuando finaliza la ejecución del método action() • Determina si el comportamiento ha sido completado o no • Devuelve un booleano (true si ha terminado o false en caso contrario) • Si el comportamiento ha finalizado, éste se elimina de la cola de comportamientos activos. • Se puede utilizar una marca que se activa cuando se quiere que finalice el comportamiento (se evalúa su valor en el método done()).

  41. El método Done • Devuelve un booleano • true si ha terminado • false en caso contrario • Si el comportamiento ha finalizado, éste se elimina de la cola de comportamientos activos • Se puede utilizar una marca que se activa cuando se quiere que finalice el comportamiento

  42. Tipos de Comportamientos • Simples • Cíclicos • De recepción y envío de mensajes • Los que ejecutan tareas al despertar de un bloqueo o en segmentos de tiempo

  43. El comportamiento CyclicBehaviour • Es el más fácil de usar • Ejecuta una tarea de forma cíclica, deteniéndola algunos segundos si así se le indica

  44. Código del comportamiento CyclicBehaviour

  45. Algunas Precauciones ! • Un loop infinito en el setup antes de un comportamiento impedirá que este último se ejecute.

  46. Esquema Conceptual

  47. Flujo de Control de un Agente

  48. Conceptos Básicos • Comunicación • Fundamental para poder conseguir la potencia propia de los sistemas multiagente • Para que los agentes se puedan comunicar deben usar el mismo lenguaje de comunicación

  49. Conceptos Básicos • Comunicación • Un lenguaje de comunicación define los tipos de mensaje • Las conversaciones entre agentes se rigen por una serie de protocolos de interacción

  50. ACL • Lenguaje de Comunicación de Agentes • Permite transmitir una serie de conocimiento que vendrá expresado en un lenguaje de contenido

More Related