JADE Java Agent Development Framework - PowerPoint PPT Presentation

About This Presentation
Title:

JADE Java Agent Development Framework

Description:

Agentes Auxiliares RMA Dummy Agent Sniffer Agent DF y AMS Agentes Auxiliares: RMA Agentes Auxiliares: Agente Dummy ... Agentes Inteligentes: JADE. 2004. – PowerPoint PPT presentation

Number of Views:1136
Avg rating:3.0/5.0
Slides: 78
Provided by: Ale5151
Category:

less

Transcript and Presenter's Notes

Title: JADE Java Agent Development Framework


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

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
  • 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
  • Dummy Agent
  • Sniffer Agent
  • 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-Ja
    de
  • Escuela de primavera de agentes. Tutorial Basico
    de JADE, 2005.
  • http//proyectojadeud.blogspot.com/2007/12/02-arqu
    itectura-jade.html
  • http//www.slideshare.net/pcuestaesei/la-herramien
    ta-de-desarrollo-de-agentes-jade-293816

77
GRACIAS POR SU ATENCIÓN!
Write a Comment
User Comments (0)
About PowerShow.com