Descargar la presentación
La descarga está en progreso. Por favor, espere
Publicada porConcha Alcaraz Modificado hace 10 años
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
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
Presentaciones similares
© 2025 SlidePlayer.es Inc.
All rights reserved.