+ All Categories
Home > Documents > JADE Java Agent Development Framework

JADE Java Agent Development Framework

Date post: 19-Jan-2016
Category:
Upload: zaina
View: 51 times
Download: 0 times
Share this document with a friend
Description:
JADE Java Agent Development Framework. EXPOSITOR: Melvin Fallas CascanteA62098. 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 - PowerPoint PPT Presentation
Popular Tags:
77
JADE JADE Java Agent Development Java Agent Development Framework Framework EXPOSITOR: Melvin Fallas Cascante A62098
Transcript
Page 1: JADE Java Agent Development Framework

JADEJADEJava Agent Development Java Agent Development

FrameworkFramework

EXPOSITOR:

Melvin Fallas CascanteA62098

Page 2: JADE Java Agent Development Framework

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

Page 3: JADE Java Agent Development Framework

IntroducciIntroducciónón

Page 4: JADE Java Agent Development Framework

IntroducciónIntroducción

Las tecnologías basadas en agentes:• Inmaduras• Pocos sistemas

Las herramientas existentes no se acogían a ningún estándar.

Page 5: JADE Java Agent Development Framework

HistoriaHistoria

Page 6: JADE Java Agent Development Framework

HistoriaHistoria

• Middleware

• Desarrollado por Telecom Italy Lab (TILAB)

• Desarrollo de sistemas distribuidos multi-agente

• Cumplen con las especificaciones FIPA

Page 7: JADE Java Agent Development Framework

Estándar Estándar FIPAFIPA

Page 8: JADE Java Agent Development Framework

Estándar FIPAEstándar FIPA• Permite la interoperabilidad entre Permite la interoperabilidad entre plataformas de diferentes empresas y plataformas de diferentes empresas y organizaciones.organizaciones.

• Especifica la normatividad que se Especifica la normatividad que se debe llevar a cabo para la debe llevar a cabo para la construcción de plataformas Multi-construcción de plataformas Multi-Agente.Agente.

• Estas especificaciones no restringen Estas especificaciones no restringen la tecnología usada para la la tecnología usada para la implementación de plataformas.implementación de plataformas.

Page 9: JADE Java Agent Development Framework

Estándar FIPAEstándar FIPA

Agent Managment System (AMS)Agent Managment System (AMS)

• Supervisión y control sobre el Supervisión y control sobre el acceso y uso de la plataforma.acceso y uso de la plataforma.

• Responsable de la autenticación de Responsable de la autenticación de los agentes residentes y control de los agentes residentes y control de registros (ANS).registros (ANS).

Page 10: JADE Java Agent Development Framework

Estándar FIPAEstándar FIPA

Agent Communication Channel Agent Communication Channel (ACC)(ACC)

• Proporciona la ruta para el contacto Proporciona la ruta para el contacto básico entre agentes dentro y fuera básico entre agentes dentro y fuera de la plataforma.de la plataforma.

• Método por defecto de Método por defecto de comunicación que ofrece un servicio comunicación que ofrece un servicio confiable, ordenado y exacto.confiable, ordenado y exacto.

Page 11: JADE Java Agent Development Framework

Estándar FIPAEstándar FIPA

Directory Facilitator (DF)Directory Facilitator (DF)

• Proporciona el servicio de paginas Proporciona el servicio de paginas amarillas.amarillas.

• En el se registran los servicios que En el se registran los servicios que ofrecen los agentes; y de igual forma ofrecen los agentes; y de igual forma se pueden buscar dichos servicios.se pueden buscar dichos servicios.

Page 12: JADE Java Agent Development Framework

CaracterístCaracterísticasicas

de JADEde JADE

Page 13: JADE Java Agent Development Framework

CaracterísticasCaracterí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.

Page 14: JADE Java Agent Development Framework

CaracterísticasCaracterí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

Page 15: JADE Java Agent Development Framework

CaracterísticasCaracterísticas

• Arquitectura peer to peer (P2P)

• Interoperabilidad: • Especificaciones FIPA

• Portabilidad: • Realizado en JAVA

Page 16: JADE Java Agent Development Framework

Conceptos Conceptos BásicosBásicos

Page 17: JADE Java Agent Development Framework

Conceptos BásicosConceptos Básicos

• AgentesAgentes• ComportamientosComportamientos• ComunicaciónComunicación• OntologíasOntologías

Page 18: JADE Java Agent Development Framework

Conceptos BásicosConceptos Básicos

AgentesAgentes

• 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

Page 19: JADE Java Agent Development Framework

Agentes (Características)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)

Page 20: JADE Java Agent Development Framework

El método SetupEl 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

Page 21: JADE Java Agent Development Framework

El método takeDownEl 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

Page 22: JADE Java Agent Development Framework

Agentes (Características)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

Page 23: JADE Java Agent Development Framework

La Clase AgentLa 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

Page 24: JADE Java Agent Development Framework

La Clase AgentLa 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

Page 25: JADE Java Agent Development Framework

Ciclo de Vida de un Ciclo de Vida de un AgenteAgente

Estados de un AgenteEstados de un Agente• Iniciado• Activo• Suspendido• En espera• Desconocido• Tránsito

Page 26: JADE Java Agent Development Framework

Estado de InicioEstado 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

Page 27: JADE Java Agent Development Framework

Estado ActivoEstado Activo

• El Agente está registrado en el AMS

• Tiene un nombre, una dirección y puede acceder a todas las opciones de JADE

Page 28: JADE Java Agent Development Framework

Estado SuspendidoEstado Suspendido

• El Agente está interrumpido

• Su hilo de ejecución está detenido y no ejecuta ningún Comportamiento

Page 29: JADE Java Agent Development Framework

Estado en EsperaEstado 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)

Page 30: JADE Java Agent Development Framework

Estado de DesconocidoEstado de Desconocido

• El Agente ha sido eliminado

• El hilo de ejecución ha terminado y se ha eliminado del registro del AMS

Page 31: JADE Java Agent Development Framework

Estado en TránsitoEstado 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

Page 32: JADE Java Agent Development Framework

Transiciones de EstadoTransiciones de Estado

Page 33: JADE Java Agent Development Framework

Transiciones de EstadoTransiciones de Estado

Page 34: JADE Java Agent Development Framework

Código Mínimo de un Código Mínimo de un AgenteAgente

Page 35: JADE Java Agent Development Framework

Conceptos BásicosConceptos 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

Page 36: JADE Java Agent Development Framework

Comportamientos Comportamientos (Behaviours)(Behaviours)

• Son útiles para atender peticiones de forma ordenada

• Por ejemplo recibiendo mensajes de un solo emisor

• Deben heredar de la clase Behaviour

Page 37: JADE Java Agent Development Framework

Métodos de un Métodos de un ComportamientoComportamiento

• Existen dos principales:

• Action• Done

Page 38: JADE Java Agent Development Framework

El método ActionEl 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

Page 39: JADE Java Agent Development Framework

El método ActionEl 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

Page 40: JADE Java Agent Development Framework

El método DoneEl 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()).

Page 41: JADE Java Agent Development Framework

El método DoneEl 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

Page 42: JADE Java Agent Development Framework

Tipos de Tipos de ComportamientosComportamientos

• 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

Page 43: JADE Java Agent Development Framework

El comportamiento El comportamiento CyclicBehaviourCyclicBehaviour

• Es el más fácil de usar

• Ejecuta una tarea de forma cíclica, deteniéndola algunos segundos si así se le indica

Page 44: JADE Java Agent Development Framework

Código del Código del comportamiento comportamiento CyclicBehaviourCyclicBehaviour

Page 45: JADE Java Agent Development Framework

Algunas Precauciones !Algunas Precauciones !

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

Page 46: JADE Java Agent Development Framework

Esquema ConceptualEsquema Conceptual

Page 47: JADE Java Agent Development Framework

Flujo de Control de un Flujo de Control de un AgenteAgente

Page 48: JADE Java Agent Development Framework

Conceptos BásicosConceptos Básicos

ComunicaciónComunicació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

Page 49: JADE Java Agent Development Framework

Conceptos BásicosConceptos Básicos

ComunicaciónComunicació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

Page 50: JADE Java Agent Development Framework

ACLACL

•Lenguaje de Comunicación de Agentes

• Permite transmitir una serie de conocimiento que vendrá expresado en un lenguaje de contenido

Page 51: JADE Java Agent Development Framework

ACLACL

• 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.

Page 52: JADE Java Agent Development Framework

Intercambio de MensajesIntercambio 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

Page 53: JADE Java Agent Development Framework

Intercambio de MensajesIntercambio 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

Page 54: JADE Java Agent Development Framework

Intercambio de MensajesIntercambio 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

Page 55: JADE Java Agent Development Framework

Mecanismo de paso de Mecanismo de paso de MensajesMensajes

Page 56: JADE Java Agent Development Framework

Conceptos BásicosConceptos Básicos

OntologíasOntologías

• Conjuntos de elementos que definen la estructura de los predicados, las acciones de los agentes y conceptos relevantes al dominio del problema.

Page 57: JADE Java Agent Development Framework

Conceptos BásicosConceptos Básicos

OntologíasOntologí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

Page 58: JADE Java Agent Development Framework

Conceptos BásicosConceptos Básicos

OntologíasOntologías

• Conjuntos de elementos que definen la estructura de los predicados, las acciones de los agentes y conceptos relevantes al dominio del problema.

Page 59: JADE Java Agent Development Framework

Elementos de una Elementos de una OntologíaOntología

• Predicados: • Expresiones sobre el estado de mundo

• Acciones de los agentes:• Expresiones que indican acciones que pueden realizar los agentes.

Page 60: JADE Java Agent Development Framework

Elementos de una Elementos de una OntologíaOntologí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

Page 61: JADE Java Agent Development Framework

El Modelo de ContenidoEl Modelo de Contenido

Page 62: JADE Java Agent Development Framework

Ejemplo de OntologíaEjemplo de Ontología

Page 63: JADE Java Agent Development Framework

ArquitectuArquitecturara

Page 64: JADE Java Agent Development Framework

ArquitecturaArquitectura

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

Page 65: JADE Java Agent Development Framework

ArquitecturaArquitectura

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.

Page 66: JADE Java Agent Development Framework

ArquitecturaArquitectura

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

Page 67: JADE Java Agent Development Framework

Agentes AuxiliaresAgentes Auxiliares

• RMARMA• Dummy AgentDummy Agent• Sniffer AgentSniffer Agent• DF y AMSDF y AMS

Page 68: JADE Java Agent Development Framework

Agentes Auxiliares: RMAAgentes Auxiliares: RMA

Page 69: JADE Java Agent Development Framework

Agentes Auxiliares: Agentes Auxiliares: Agente DummyAgente Dummy

Page 70: JADE Java Agent Development Framework

Agentes Auxiliares: Agentes Auxiliares: Agente SnifferAgente Sniffer

Page 71: JADE Java Agent Development Framework

Agentes Auxiliares: DFAgentes Auxiliares: DF

Page 72: JADE Java Agent Development Framework

EjemplosEjemplos

Page 73: JADE Java Agent Development Framework

ConclusionConclusioneses

Page 74: JADE Java Agent Development Framework

ReferenciaReferenciass

Page 75: JADE Java Agent Development Framework

REFERENCIAS REFERENCIAS BIBLIOGRAFICASBIBLIOGRAFICAS

• 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/

Page 76: JADE Java Agent Development Framework

REFERENCIAS REFERENCIAS BIBLIOGRAFICASBIBLIOGRAFICAS

• 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.html

•http://www.slideshare.net/pcuestaesei/la-herramienta-de-desarrollo-de-agentes-jade-293816

Page 77: JADE Java Agent Development Framework

Recommended