Sei sulla pagina 1di 31

JADE

Java Agent Development Framework

EXPOSITOR: Melvin Fallas Cascante A62098

Historia
Middleware Desarrollado por Telecom Italy Lab (TILAB)

Desarrollo de sistemas distribuidos multi-agente Cumplen con las especificaciones FIPA

Conceptos Bsicos
Agentes

Un agente es un programa autnomo que constituye las plataformas de agentes y que tienen caractersticas propias
Entre ellas identidad, prestacin de servicios y una direccin que le permite recibir mensajes de parte de otros agentes

Agentes (Caractersticas)
Tienen un nombre nico en el entorno de ejecucin Se implementan como un nico hilo a ejecutar (single-threaded) Tienen un mtodo de inicio (setup) Tienen un mtodo de fin (takeDown)

El mtodo Setup
Sirve para inicializar el agente incluyendo instrucciones que especificarn la ontologa a utilizar y los comportamientos asociados al agente

Se invoca al comenzar la ejecucin del agente

El mtodo takeDown
Sirve para liberar eliminacin del agente recursos antes de la

Es invocado cuando se realiza una llamada al mtodo doDelete(), que es el que realmente da por finalizada la ejecucin del agente

Agentes (Caractersticas)
Un agente define en su implementacin una clase interna por cada uno de los comportamientos asociados al agente Estos comportamientos se utilizan bsicamente para el envo y recepcin de mensajes, aunque tambin se pueden utilizar para realizar otras tareas

La Clase Agent
Es una superclase comn 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 aadir tantos comportamientos especficos como sean necesarios y explotando las capacidades de la clase Agent

La Clase Agent
Suministra mtodos que permiten ejecutar las tareas bsicas de los agentes: Mensajes con objetos ACLMessage Soporte para el ciclo de vida de un agente Planificacin y ejecucin de mltiples actividades concurrentes

Ciclo de Vida de un Agente


Estados de un Agente Iniciado Activo Suspendido En espera Desconocido Trnsito

Estado de Inicio
El objeto Agente est creado pero todava no se ha registrado en el AMS No tiene nombre ni direccin y tampoco se puede comunicar con otros agentes

Estado Activo
El Agente est registrado en el AMS Tiene un nombre, una direccin y puede acceder a todas las opciones de JADE

Estado Suspendido
El Agente est interrumpido
Su hilo de ejecucin est detenido y no ejecuta ningn Comportamiento

Estado en Espera
El Agente est bloqueado esperando por algo Su hilo de ejecucin est dormido en un monitor de java y se despertar cuando se cumpla una cierta condicin (Cuando reciba un mensaje)

Estado de Desconocido
El Agente ha sido eliminado
El hilo de ejecucin ha terminado y se ha eliminado del registro del AMS

Estado en Trnsito
Un Agente mvil entra en este estado mientras est migrando a una nueva localizacin. El sistema sigue guardando los mensajes en el buffer hasta que el agente vuelve a estar activo

Transiciones de Estado

Transiciones de Estado

Cdigo Mnimo de un Agente

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

Mtodos de un Comportamiento
Existen dos principales:

Action Done

El mtodo Action
Define la accin a ser realizada cuando se ejecute el comportamiento Es invocado cuando se produce el evento asociado al comportamiento

El mtodo Action
Es recomendable que los mtodos action() no tengan un tiempo de ejecucin alto ya que mientras que se ejecutan no pueden ser interrumpidos por otro comportamiento

El mtodo Done
Es invocado cuando finaliza la ejecucin del mtodo action() Determina si el comportamiento ha sido completado o no

El mtodo 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

Flujo de Control de un Agente

Ejemplo de Ontologa

Referencias

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/

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-arquitecturajade.html http://www.slideshare.net/pcuestaesei/la-herramienta-dedesarrollo-de-agentes-jade-293816

Potrebbero piacerti anche