La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

JADE Java Agent Development Framework EXPOSITOR: Melvin Fallas CascanteA62098.

Presentaciones similares


Presentación del tema: "JADE Java Agent Development Framework EXPOSITOR: Melvin Fallas CascanteA62098."— Transcripción de la presentación:

1 JADE Java Agent Development Framework EXPOSITOR: Melvin Fallas CascanteA62098

2 Agenda IntroducciónIntroducción HistoriaHistoria El estándar FIPAEl estándar FIPA CaracterísticasCaracterísticas Conceptos BásicosConceptos Básicos ArquitecturaArquitectura EjemplosEjemplos ConclusionesConclusiones

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 Permite la interoperabilidad entre plataformas de diferentes empresas y organizaciones. 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. 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. 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. 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). 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. 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. 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. 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. En el se registran los servicios que ofrecen los agentes; y de igual forma se pueden buscar dichos servicios.

12 Características de 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 Agentes Agentes Comportamientos Comportamientos Comunicación Comunicación Ontologías 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

34 Código Mínimo de un Agente

35 Conceptos Básicos Comportamientos 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

51 ACL Los términos del lenguaje de contenido que representen conocimiento pertenecen a un vocabulario común a los distintos agentes que se llama ontología.

52 Intercambio de Mensajes Se realiza mediante mensajes FIPA-ACL Mecanismo: Paso asíncrono de mensajes Cada agente tiene una cola de mensajes entrantes La lectura efectiva de los mensajes es a voluntad del agente

53 Intercambio de Mensajes Un agente puede: Leer el primer mensaje en la cola Leer el primer mensaje que satisfaga un requisito La cola de mensajes es única para cada agente y, por lo tanto, es compartida por todos los comportamientos

54 Intercambio de Mensajes Cada vez que se coloca un mensaje en la cola el agente receptor es avisado Un comportamiento puede ser bloqueado en espera de la recepción de un mensaje: Sincronización Los mensajes intercambiados por agentes son instancias de la clase jade.lang.acl.ACLMessage

55 Mecanismo de paso de Mensajes

56 Conceptos Básicos Ontologías Conjuntos de elementos que definen la estructura de los predicados, las acciones de los agentes y conceptos relevantes al dominio del problema.

57 Conceptos Básicos Ontologías Una ontología es una instancia de la clase jade.content.onto.Ontology en la cual se definen los Schemas jade.content.onto.Ontology Especifican la semántica de las relaciones

58 Conceptos Básicos Ontologías Conjuntos de elementos que definen la estructura de los predicados, las acciones de los agentes y conceptos relevantes al dominio del problema.

59 Elementos de una Ontología Predicados: Expresiones sobre el estado de mundo Acciones de los agentes: Expresiones que indican acciones que pueden realizar los agentes.

60 Elementos de una Ontología Conceptos: Expresiones que representan objetos, representan una estructura con varios atributos. No aparecen aislados en los mensajes sino incluidos en otros elementos. Otros elementos: primitivas, agregaciones, expresiones, variables, entre otros

61 El Modelo de Contenido

62 Ejemplo de Ontología

63 Arquitectura

64 Arquitectura Plataforma: entorno de ejecución en donde viven los agentes. Una plataforma puede tener uno o mas contenedores.

65 Arquitectura 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.

66 Arquitectura Contenedor principal: Es donde se alojan el AMS, DF y ACC. Debe haber uno y solo uno por plataforma.

67 Agentes Auxiliares RMA RMA Dummy Agent Dummy Agent Sniffer Agent Sniffer Agent DF y AMS DF y AMS

68 Agentes Auxiliares: RMA

69 Agentes Auxiliares: Agente Dummy

70 Agentes Auxiliares: Agente Sniffer

71 Agentes Auxiliares: DF

72 Ejemplos

73 Conclusiones

74 Referencias

75 REFERENCIAS BIBLIOGRAFICAS Giovanni Caire. JADE TUTORIAL. Jade programming for beginners., 2003. http://programacionjade.wikispaces.com/ Juan Francisco Garamendi Bragado. Agentes Inteligentes: JADE. 2004. http://jade.tilab.com/

76 REFERENCIAS BIBLIOGRAFICAS http://es.scribd.com/doc/44652685/Programacion-Jade Escuela de primavera de agentes. Tutorial Basico de JADE, 2005. http://proyectojadeud.blogspot.com/2007/12/02-arquitectura- jade.htmlhttp://proyectojadeud.blogspot.com/2007/12/02-arquitectura- jade.html http://www.slideshare.net/pcuestaesei/la-herramienta-de- desarrollo-de-agentes-jade-293816http://www.slideshare.net/pcuestaesei/la-herramienta-de- desarrollo-de-agentes-jade-293816

77


Descargar ppt "JADE Java Agent Development Framework EXPOSITOR: Melvin Fallas CascanteA62098."

Presentaciones similares


Anuncios Google