Desarrollo de Agentes Software - Fdi Ucm · • De análisis, diseño, implementación,...

22
Curso de doctorado: Desarrollo de Agentes Software Metodologías de desarrollo de sistemas multi-agente Carmen Fernández Chamizo Jorge Gómez Sanz Juan Pavón Mestras Dep. de Sistemas Informáticos y Programación http://grasia.fdi.ucm.es Juan Pavón Mestras Facultad de Informática UCM, 2004 Metodologías de Sistemas Multi-Agente 2 Introducción n Hemos visto n Qué son los agentes n Varios tipos de arquitecturas de agentes n Estándares de agentes n Aplicaciones de agentes n Pero, ¿cómo se construye un sistema multi-agente? Cómo se concibe un SMA Cómo se programa Qué herramientas hay de desarrollo Qué plataformas hay de ejecución

Transcript of Desarrollo de Agentes Software - Fdi Ucm · • De análisis, diseño, implementación,...

Page 1: Desarrollo de Agentes Software - Fdi Ucm · • De análisis, diseño, implementación, validación, … n Guías n Métricas n Paradigma de ingeniería del software • Estructuración

1

Curso de doctorado:

Desarrollo de Agentes Software

Metodologías de desarrollo de sistemas multi-agente

Carmen Fernández ChamizoJorge Gómez Sanz

Juan Pavón Mestras

Dep. de Sistemas Informáticos y Programación

http://grasia.fdi.ucm.es

Juan Pavón MestrasFacultad de Informática UCM, 2004 Metodologías de Sistemas Multi-Agente 2

Introducción

n Hemos viston Qué son los agentesn Varios tipos de arquitecturas de agentesn Estándares de agentesn Aplicaciones de agentes

n Pero, ¿cómo se construye un sistema multi-agente?

• Cómo se concibe un SMA• Cómo se programa• Qué herramientas hay de desarrollo • Qué plataformas hay de ejecución

Page 2: Desarrollo de Agentes Software - Fdi Ucm · • De análisis, diseño, implementación, validación, … n Guías n Métricas n Paradigma de ingeniería del software • Estructuración

2

Juan Pavón MestrasFacultad de Informática UCM, 2004 Metodologías de Sistemas Multi-Agente 3

La necesidad de utilizar una metodología

n Desarrollar SMAs es complejon Hay soluciones tecnológicas:

n Arquitecturas: subsunción, BDI, capas, ...n Entornos de desarrollo: Zeus, AgentBuilder, …n Plataformas de ejecución: JADE, FIPA-OS, Jackal, OAA, …

n Pero hace falta responder a varias cuestiones:• Qué problema tengo que resolver• Desarrollar muchos agentes o agentes de elevada complejidad• Explicar a otros cómo es el SMA• Trabajar más de una persona: Coordinar el trabajo• Valorar la calidad del desarrollo• Qué proceso seguir• …

Juan Pavón MestrasFacultad de Informática UCM, 2004 Metodologías de Sistemas Multi-Agente 4

La metodología ayuda

No sé qué problema tengo que resolver

Desarrollar muchos agentes o agentes de elevada

complejidad

Explicar a otros cómo es el sistema

Trabaja más de una persona

Cómo evoluciona el proceso de desarrollo

Análisis de sistema, guías

Actividades, proceso de desarrollo, herramientas

Análisis justificado

Proceso de desarrollo

Actividades, resultados, métricas

Page 3: Desarrollo de Agentes Software - Fdi Ucm · • De análisis, diseño, implementación, validación, … n Guías n Métricas n Paradigma de ingeniería del software • Estructuración

3

Juan Pavón MestrasFacultad de Informática UCM, 2004 Metodologías de Sistemas Multi-Agente 5

Lo necesario para definir una metodología

n Definir los resultados a producir• Documentación• Código, prototipos, pruebas

n Un lenguaje para definir los resultados• Visuales: Data Flow Diagrams, Entity-Relationship diagrams,

Message Sequence Charts, UML• Formales: Z, redes de Petri

n Actividades orientadas a producir los resultados• De análisis, diseño, implementación, validación, …

n Guíasn Métricasn Paradigma de ingeniería del software

• Estructuración de actividades• Estimación de habilidades necesarias en el equipo de desarrollo• Gestión del proceso

n Y herramientas

Juan Pavón MestrasFacultad de Informática UCM, 2004 Metodologías de Sistemas Multi-Agente 6

Tendencias

n En general, los sistemas multi-agente aplican una mezcla de técnicasn Orientación a objetos:

• encapsulado del comportamiento• estructura del sistema• asignación de responsabilidades

n Sistemas de gestión de conocimiento• definición del comportamiento• representación de conocimiento

n Inteligencia artificial distribuida• organización• comunicación de conocimiento• coordinación

Page 4: Desarrollo de Agentes Software - Fdi Ucm · • De análisis, diseño, implementación, validación, … n Guías n Métricas n Paradigma de ingeniería del software • Estructuración

4

Juan Pavón MestrasFacultad de Informática UCM, 2004 Metodologías de Sistemas Multi-Agente 7

Metodologías de desarrollo de SMA

Orientación a objetos

Conceptos de agentes:

Análisis de roles

Métodos Formales

Z, lógica temporal

Sistemasexpertos

Conceptos de agentes:

BDI

SMA

Juan Pavón MestrasFacultad de Informática UCM, 2004 Metodologías de Sistemas Multi-Agente 8

Metodologías de desarrollo de SMA

Orientación a objetos

Kendall, MaSE, Styx, ODAC, MASB, Adelfe,...

Análisis de roles

Gaia, AAII, ...

Métodos Formales

SMART, DESIRE,Concurrent METATEM

Sistemas expertos

MAS-CommonKADS,CoMoMAS

BDI

AAIIIntegración:Integración:

MESSAGE, INGENIAS

Page 5: Desarrollo de Agentes Software - Fdi Ucm · • De análisis, diseño, implementación, validación, … n Guías n Métricas n Paradigma de ingeniería del software • Estructuración

5

Juan Pavón MestrasFacultad de Informática UCM, 2004 Metodologías de Sistemas Multi-Agente 9

Algunas metodologías

n AAII (Australian Artificial Intelligence Institute)n Basada en el modelo BDI

n Gaian SMA como conjunto de entidades que interactúan

n MaSEn OO con conversaciones entre objetos

n Troposn Énfasis en la gestión de requisitos

n Zeusn Entorno visual de desarrollo de agentesn Prototipos de agentes

n MAS-CommonKADSn CommonKADS extendido con OO, SDL y MSC

n MESSAGE, INGENIASn Meta-modelado, agentes que siguen el principio de racionalidad de

Newell

Juan Pavón MestrasFacultad de Informática UCM, 2004 Metodologías de Sistemas Multi-Agente 10

Metodología AAII [Kinny, Georgeff y Rao 96]

(Australian Artificial Intelligence Institute)

n Modelo BDI (Beliefs, Desires, Intentions) [Bratman87]

CreenciasDeseos

Intenciones

Page 6: Desarrollo de Agentes Software - Fdi Ucm · • De análisis, diseño, implementación, validación, … n Guías n Métricas n Paradigma de ingeniería del software • Estructuración

6

Juan Pavón MestrasFacultad de Informática UCM, 2004 Metodologías de Sistemas Multi-Agente 11

Metodología AAII [Kinny, Georgeff y Rao 96]

(Australian Artificial Intelligence Institute)

n Punto de vista externo• Modelo de agentes: jerarquía de clases• Modelo de interacciones: responsabilidades de los agentes,

servicios que proporcionan, interacciones asociadas, relaciones de control entre agentes

n Basado en análisis de roles:1. Identificar roles del dominio de aplicación

• Primera definición de clases de agentes

2. Para cada role, identificar las responsabilidades asociadas y servicios que proporciona

• Descompone las clases de agentes hasta el nivel de servicios

3. Para cada servicio,identificar las interacciones asociadas• Modelo interno de cada clase de agente

4. Refinar la jerarquía de agentes• Definir superclases cuando hay clases de agentes con similitud• Componer clases de agentes con herencia o agregación• Introducir clases concretas de agente teniendo en cuenta aspectos

específicos de implementación

Juan Pavón MestrasFacultad de Informática UCM, 2004 Metodologías de Sistemas Multi-Agente 12

Metodología AAII [Kinny, Georgeff y Rao 96]

(Australian Artificial Intelligence Institute)

n Punto de vista interno (basado en BDI)• Modelo de creencias: información sobre el entorno, estado

interno del agente y acciones que puede realizar• Modelo de objetivos: objetivos que puede adoptar el agente y

eventos a los que puede responder• Modelo de planes: secuencias de acciones que puede emplear el

agenten Basado en el análisis del propósito de los servicios y su

descomposición hasta llegar a planes:1. Analizar los medios para alcanzar los objetivos

• Descomposición de cada objetivo en acciones y subobjetivos• Generar planes

2. Construir las creencias del sistema• A partir de las condiciones que controlan la ejecución de actividades,

y requisitos de entrada y salida para cada objetivo

n El refinamiento de los modelos internos realimenta los modelos externos

Page 7: Desarrollo de Agentes Software - Fdi Ucm · • De análisis, diseño, implementación, validación, … n Guías n Métricas n Paradigma de ingeniería del software • Estructuración

7

Juan Pavón MestrasFacultad de Informática UCM, 2004 Metodologías de Sistemas Multi-Agente 13

GAIA [Wooldridge, Jennings y Kinny, 2000]

n Extiende la metodología Fusion [Coleman et al. 94]

n SMA como organización de entidades que interactúann Análisis: Basado en análisis de roles en interacción

n Modelo de roles: • Para cada rol (un individuo, departamento u organización de la

vida real):• Responsabilidades: funcionalidad del agente (como propiedades de

viveza y seguridad)• Permisos: derechos a información y recursos• Actividades: acciones privadas (sin interactuar con otros agentes)• Protocolos

n Modelo de interacciones: define los protocolos (entre roles)• Atributos: propósito, iniciador, respondedor, entradas/salidas,

proceso

n Diseño: Basado en agrupación de roles en agentesn Modelo de agentes: tipos de agentes (agente=conjunto de roles) y

sus instanciasn Modelo de servicios: funciones de cada roln Modelo de conocidos: con quienes puede interaccionar

Juan Pavón MestrasFacultad de Informática UCM, 2004 Metodologías de Sistemas Multi-Agente 14

GAIA [Wooldridge, Jennings y Kinny, 2000]

n Extensiones: ROADMAP [Juan, Pearce y Sterling, 2002]

n En el análisis añade:• Captura de requisitos utilizando casos de uso• Modelo de entorno• Modelo de conocimiento, derivado de los dos anteriores

n Especificación de interacciones utilizando AUML

Page 8: Desarrollo de Agentes Software - Fdi Ucm · • De análisis, diseño, implementación, validación, … n Guías n Métricas n Paradigma de ingeniería del software • Estructuración

8

Juan Pavón MestrasFacultad de Informática UCM, 2004 Metodologías de Sistemas Multi-Agente 15

MaSE [DeLoach et al. 01]

n Agentes como objetos con capacidad de coordinarse mediante conversaciones

n Agentes: clases cuyo comportamiento está definido por autómatas

n Soportado por la herramienta agentTool [DeLoach y Wood 01]

n Generación automática de códigon Notación UML

n Basado en el RUP, trata especialmente las actividades de análisis y diseño

Juan Pavón MestrasFacultad de Informática UCM, 2004 Metodologías de Sistemas Multi-Agente 16

MaSE [DeLoach et al. 01]

Las conversaciones (protocolos de coordinación) se definen con dos diagramas de estados: uno para cada clase de agente participante

Page 9: Desarrollo de Agentes Software - Fdi Ucm · • De análisis, diseño, implementación, validación, … n Guías n Métricas n Paradigma de ingeniería del software • Estructuración

9

Juan Pavón MestrasFacultad de Informática UCM, 2004 Metodologías de Sistemas Multi-Agente 17

Tropos

n Integración de trabajo teórico previo: i*, KAOSn Proceso de desarrollo

n Análisis y Diseño basado en refinamiento de diagramas i* ampliados

n Diseño detallado empleando técnicas adicionales• AUML para modelar protocolos• Diagramas de Planes

n Implementación mediante plantillas de traducción a plataformas de agentes BDI

n Existen ejemplos de aplicaciónn Hay herramientas de soporte pero no son de dominio

público

Juan Pavón MestrasFacultad de Informática UCM, 2004 Metodologías de Sistemas Multi-Agente 18

Tropos

n Fases:n Requisitos iniciales

• Identifica actores relevantes con sus objetivos

n Requisitos posteriores• El sistema a desarrollar se considera un actor, y a partir de las

dependencias con otros actores se identifican sus obligaciones

n Diseño arquitectural• Se introducen más actores del sistema mediante descomposición

de objetivos y tareas del sistema

n Diseño detallado• Definición de los actores del sistema en detalle, incluyendo

protocolos de comunicación y coordinación

n Implementación• Transforma las especificaciones en plantillas adaptadas a una

plataforma de programación de agentes (p.ej. Jack)

Page 10: Desarrollo de Agentes Software - Fdi Ucm · • De análisis, diseño, implementación, validación, … n Guías n Métricas n Paradigma de ingeniería del software • Estructuración

10

Juan Pavón MestrasFacultad de Informática UCM, 2004 Metodologías de Sistemas Multi-Agente 19

Tropos

actor

objetivo fuerte

objetivo

plan

recurso

contribuye

Juan Pavón MestrasFacultad de Informática UCM, 2004 Metodologías de Sistemas Multi-Agente 20

Zeus [Nwana et al. 99]

n Zeus: entorno visual de desarrollo de SMAhttp://more.btexact.com/projects/agents/zeus/

n Proporciona una plataforma de ejecución de agentes, prototipos de agentes, y componentes para su realizaciónn Agentes de utilidad

• Servidor de nombres • Agentes facilitadores• Agente visualizador

n Herramienta de construcción de agentesn Librería de componentes de agentes

n El desarrollador configurará agentes genéricos mediante la definición den Ontologíasn Agentesn Tareasn Organizaciónn Coordinación

Page 11: Desarrollo de Agentes Software - Fdi Ucm · • De análisis, diseño, implementación, validación, … n Guías n Métricas n Paradigma de ingeniería del software • Estructuración

11

Juan Pavón MestrasFacultad de Informática UCM, 2004 Metodologías de Sistemas Multi-Agente 21

Zeus [Nwana et al. 99]

n Etapas de desarrollon Análisis del dominio

• Basado en el modelado de roles, utilizando diagramas de clase UML y patrones

n Diseño de los agentes• Identificación de ontologías, servicios, tareas y relaciones entre

agentes

n Realización de los agentes• Definición de los elementos identificados en el diseño y su

implementación• Guiado por las herramientas gráficas de construcción de agentes

de Zeus

n Soporte en tiempo de ejecución• Depuración y optimización de código con herramientas de

visualización y monitorización

Juan Pavón MestrasFacultad de Informática UCM, 2004 Metodologías de Sistemas Multi-Agente 22

Zeus [Nwana et al. 99]

n Etapa de realización de agentesn Creación de la ontología (Zeus Ontology Editor)

• Conocimiento declarativo que representa los conceptos significativos dentro del dominio de la aplicación

n Creación de agente (Zeus Agent Editor)• Configuración de un agente genérico de Zeus: definición de

agente, descripción de tareas, organización del agente, coordinación del agente

n Configuración de agentes de utilidad (Code Generation Editor)

• Atributos de los agentes de utilidad (plataforma de agentes)

n Configuración de agentes de tarea• Parámetros de ejecución de los agentes de tarea

n Implementación de agentes• Utilizando la herramienta de generación de código

Page 12: Desarrollo de Agentes Software - Fdi Ucm · • De análisis, diseño, implementación, validación, … n Guías n Métricas n Paradigma de ingeniería del software • Estructuración

12

Juan Pavón MestrasFacultad de Informática UCM, 2004 Metodologías de Sistemas Multi-Agente 23

MAS-CommonKADS [Iglesias 98]

n Extiende la metodología CommonKADS [deHoog et al. 93] de desarrollo de sistemas expertos con:n Técnicas de orientación a objetos (OMT y OOSE)n Técnicas de ingeniería de protocolos: SDL y MSC

n Modelo de ciclo de vida en espiral dirigido por riesgosn Y modelo en cascada con reutilización para proyectos pequeños

n El desarrollo de un SMA consiste en rellenar un conjunto de plantillas de un número de modelos interrelacionadosn Asociada a cada plantilla hay un estado que caracteriza los hitos en

el desarrollo de cada modelo• Para cada variable de estado se pueden asociar varios valores: vacío,

identificado, descrito y validado• Ejemplo de estados hito: identificación inicial de los agentes, descripción

de objetivos y servicios, validación de relaciones entre un modelo y los demás

Juan Pavón MestrasFacultad de Informática UCM, 2004 Metodologías de Sistemas Multi-Agente 24

MAS-CommonKADS [Iglesias 98]

n Fase de conceptuaciónn Definición de casos de uso

n Especificación del sistema (Análisis)n Modelo de agente

• Un agente es cualquier actor: humano, agente software, sistemas software (e.g. BD)

• Capacidades de razonamiento, habilidades, servicios, sensores, efectores, grupos de agentes a los que pertenece y clase de agente

n Modelo de tareas• Qué tareas pueden realizar los agentes, cómo se estructuran, objetivos, ...

n Modelo de experiencia (o modelo de conocimiento)• Conocimiento necesario por los agentes para alcanzar sus objetivos

n Modelo de organización de la sociedad de agentes:• Organización de los agentes y su relación con el entorno

n Modelo de comunicación con el usuario• Factores de la interacción humano-agente

n Modelo de coordinación• Interacciones entre agentes software

n Modelo de diseño• Arquitectura y diseño del SMA como paso previo a su implementación

Page 13: Desarrollo de Agentes Software - Fdi Ucm · • De análisis, diseño, implementación, validación, … n Guías n Métricas n Paradigma de ingeniería del software • Estructuración

13

Juan Pavón MestrasFacultad de Informática UCM, 2004 Metodologías de Sistemas Multi-Agente 25

MAS-CommonKADS [Iglesias 98]

Juan Pavón MestrasFacultad de Informática UCM, 2004 Metodologías de Sistemas Multi-Agente 26

MESSAGE [Message 2000]

n Methodology for Engineering Systems of Software AGents) Proyecto Eurescom P907

n Extiende ingeniería de software OO con conceptos del área de agentesn Que se definen en 5 meta-modelos:

• Agente• Organización• Dominio• Tareas-objetivos• Interacciones

n Adopta el Proceso Unificado de Desarrollo de Software (también conocido como Rational Unified Process)

Page 14: Desarrollo de Agentes Software - Fdi Ucm · • De análisis, diseño, implementación, validación, … n Guías n Métricas n Paradigma de ingeniería del software • Estructuración

14

Juan Pavón MestrasFacultad de Informática UCM, 2004 Metodologías de Sistemas Multi-Agente 27

INGENIAS

1. Especificación y notación para los elementos que constituyen un SMAn Agentes, organización, roles, servicios, objetivos, tareas,

entorno, ...

2. Modelo de ciclo de desarrollo de un SMAn Etapas del ciclo de vida, actividades, productos, métodos, ...

3. Herramientas de ayudan Modelado, generación de documentación, generación de

código, validación, ...

Evolución de MESSAGE

Abordando con mayor profundidad los distintos aspectos que definen la metodología:

Juan Pavón MestrasFacultad de Informática UCM, 2004 Metodologías de Sistemas Multi-Agente 28

Modelos de un SMA en Ingenias

Modelo de Agente

Modelo de Objetivos/Tareas

Modelo de Entorno

Modelo de Organización

Modelo de Interacciones

SistemaMulti

Agentes

Page 15: Desarrollo de Agentes Software - Fdi Ucm · • De análisis, diseño, implementación, validación, … n Guías n Métricas n Paradigma de ingeniería del software • Estructuración

15

Juan Pavón MestrasFacultad de Informática UCM, 2004 Metodologías de Sistemas Multi-Agente 29

Modelos de un SMA en Ingenias

n Modelo de organizaciónn Estructura del SMA, roles, relaciones de poder, workflows

n Modelo de agenten Los agentes realizan tareas o persiguen objetivosn Responsabilidades, control y estado mental del agente

n Modelo de objetivos y tareasn Identificación de objetivos generales y descomposición en

objetivos más concretos que se pueden asignar a agentesn Similarmente con tareasn Objetivos: motivación ⇔ Tareas: actividad

n Modelo de interacciónn Qué interacciones existen entre agentes/roles

n Modelo de entornon Entidades y relaciones con el entorno del SMA

Juan Pavón MestrasFacultad de Informática UCM, 2004 Metodologías de Sistemas Multi-Agente 30

Integración de metodologías

n El paradigma de agente extiende al de objeto:n Aprovechar las metodologías OO

• Más fácil de aceptar por los ingenieros software• Aprovecha herramientas y experiencia

n Ciclo de desarrollo iterativo e incremental, basado en casos de uso

n Extensiones: • Aspectos sociales (organización, interacciones, negociación)• Comportamiento (autonomía, estado mental, objetivos, tareas)• Concurrencia y distribución

n Modelado desde varios puntos de vista (Vowel Engineering, AAII, MAS-CommonKADS, MESSAGE)n Para poder gestionar la complejidad del SMAn Modelos: Entorno, dominio/ontología, roles, objetivos/tareas,

interacciones/protocolos, organización, agente

Page 16: Desarrollo de Agentes Software - Fdi Ucm · • De análisis, diseño, implementación, validación, … n Guías n Métricas n Paradigma de ingeniería del software • Estructuración

16

Juan Pavón MestrasFacultad de Informática UCM, 2004 Metodologías de Sistemas Multi-Agente 31

Integración de metodologías

n Análisisn Casos de uso para capturar requisitos funcionalesn Roles y servicios para agrupar las distintas funcionalidades

asociadas a un agente o grupo de agentes

n Diseñon Independiente de la arquitectura (Gaia)n Basado en una arquitectura concreta (MaSE, AAII, Zeus)n Define el modelo computacional del agente => arquitectura

del agente (MAS-CommonKADS)

n Relevancia de las herramientas (Zeus, MaSE, MESSAGE)

Juan Pavón MestrasFacultad de Informática UCM, 2004 Metodologías de Sistemas Multi-Agente 32

Manos a la obra...

Page 17: Desarrollo de Agentes Software - Fdi Ucm · • De análisis, diseño, implementación, validación, … n Guías n Métricas n Paradigma de ingeniería del software • Estructuración

17

Juan Pavón MestrasFacultad de Informática UCM, 2004 Metodologías de Sistemas Multi-Agente 33

Plataformas de agentes

n Estándaresn FIPA (www.fipa.org)

• JADE http://sharon.cselt.it/projects/jade/• FIPA OS http://fipa-os.sourceforge.net/• LEAP (para PDAs) http://leap.crm-paris.com

n MASIF (Agentes móviles) • Grasshopper http://www.grasshopper.de• Aglets (IBM) http://sourceforge.net/projects/aglets/

n No estándares• ABLE (IBM) http://www.alphaworks.ibm.com/tech/able• ZEUS (BT) http://193.113.209.147/projects/agents/zeus/

• agentBuilder http://www.agentbuilder.com/• MadKit http://www.madkit.org• INGENIAS http://ingenias.sourceforge.net

Juan Pavón MestrasFacultad de Informática UCM, 2004 Metodologías de Sistemas Multi-Agente 34

JADE (Java Agent Development Environment)

n Desarrollada por CSELT, open source GPL, en Javan Plataforma de agentes conforme al estándar FIPA

(www.fipa.org)• Es actualmente la más utilizada

n Ayudas para el desarrollo de agentes en Java• Los agentes en JADE son instancias de alguna clase definida por

el desarrollador que herede de la clase base Agent• Utilidades:

• Remote Monitoring Agent (RMA) permite controlar el ciclo de vida de la plataforma de agentes y de todos los agentes registrados

• Agentes Dummy, para probar interacciones• Agentes Sniffer, para ver qué mensajes están pasando

Page 18: Desarrollo de Agentes Software - Fdi Ucm · • De análisis, diseño, implementación, validación, … n Guías n Métricas n Paradigma de ingeniería del software • Estructuración

18

Juan Pavón MestrasFacultad de Informática UCM, 2004 Metodologías de Sistemas Multi-Agente 35

JADE (Java Agent Development Environment)

n Los agentes envían y reciben objetos Java que representan mensajes ACLn Jade se encarga de la codificación de los mensajes

n Jade proporciona también una librería de protocolos de interacción de agentes

Juan Pavón MestrasFacultad de Informática UCM, 2004 Metodologías de Sistemas Multi-Agente 36

JADE

n Componentes de JADEn ACC (Agent Communication Channel)

• Servicios de mensajería asíncrona entre plataformas• Permite interconectar plataformas ubicadas en distintas máquinas

n DF (Directory Facilitator)• Páginas amarillas donde se registran los agentes

n AMS (Agent Management System)• Gestiona los agentes en una plataforma.

• Movilidad• Creación/Destrucción de agentes

Page 19: Desarrollo de Agentes Software - Fdi Ucm · • De análisis, diseño, implementación, validación, … n Guías n Métricas n Paradigma de ingeniería del software • Estructuración

19

Juan Pavón MestrasFacultad de Informática UCM, 2004 Metodologías de Sistemas Multi-Agente 37

JADE

n Agentes JADEn El comportamiento de los agentes JADE se codifica mediante

clases de objetosn Existe una taxonomía de comportamientos posibles que

permiten expresar acciones compuestas (secuenciales, concurrentes e iterativas) o atómicas

n Existe un hilo de ejecución por agente, no un hilo de ejecución por comportamiento

• Cada agente es responsable de la ejecución de su comportamiento

Juan Pavón MestrasFacultad de Informática UCM, 2004 Metodologías de Sistemas Multi-Agente 38

Page 20: Desarrollo de Agentes Software - Fdi Ucm · • De análisis, diseño, implementación, validación, … n Guías n Métricas n Paradigma de ingeniería del software • Estructuración

20

Juan Pavón MestrasFacultad de Informática UCM, 2004 Metodologías de Sistemas Multi-Agente 39

INGENIAS Development Kit (IDK)

n Editor de modelosn Herramienta visual (notación grasia!)n Gestión de consistencia de modelosn Generación de documentación (HTML)n Inicialmente basado en herramienta de meta-modelado

(METAEDIT+)• Actualmente 100% Pure Java

n Generador de códigon Armazones (plantillas) configurables, especificados con XML,

para distintas plataformas de agentes• Jade, Robocode, Servlets, Agentes grasia!

n Herramientasn Validación de especificaciones

Juan Pavón MestrasFacultad de Informática UCM, 2004 Metodologías de Sistemas Multi-Agente 40

INGENIAS Development Kit (IDK)

Page 21: Desarrollo de Agentes Software - Fdi Ucm · • De análisis, diseño, implementación, validación, … n Guías n Métricas n Paradigma de ingeniería del software • Estructuración

21

Juan Pavón MestrasFacultad de Informática UCM, 2004 Metodologías de Sistemas Multi-Agente 41

Generación de código

SMA

modelo de agentemodelo de agentemodelo de

agente

modelo de organización

modelo de objetivos/tareasmodelo de

objetivos/tareasmodelo de objetivos/tareas

modelo de entorno

modelo de interaccionesmodelo de interaccionesmodelo de interacciones

Plataforma de ejecución de agentes

Juan Pavón MestrasFacultad de Informática UCM, 2004 Metodologías de Sistemas Multi-Agente 42

modelo SMAmodelo SMAmodelo

SMA (XML)

Específicos de una plataforma(deben reunir los elementos de los metamodelos)

Generación de código

plantilla de códigomarcado con XML

Plataforma de agentes

plantilla de códigomarcado con XML

plantilla de códigomarcado con XML

modelo SMA

Generadorcódigo

de agentecódigode agentecódigo

de agente

Completar/Revisarpor el programador

Preprocesador(dependienteplataforma)

modelo SMAmodelo SMA

Page 22: Desarrollo de Agentes Software - Fdi Ucm · • De análisis, diseño, implementación, validación, … n Guías n Métricas n Paradigma de ingeniería del software • Estructuración

22

Juan Pavón MestrasFacultad de Informática UCM, 2004 Metodologías de Sistemas Multi-Agente 43

Conclusiones

n Metodologías n Todavía son de ámbito académicon Faltan desarrollos de ámbito público

• Implementación• Especificación

n Faltan herramientas industrialesn Hay plataformas de desarrollon Hay Arquitecturas de agentesn Hay Entornos de desarrollo

• ZEUS• agentTool• IDK (Ingenias Development Kit)

n Las metodologías evolucionann Cambios en una metodología deben venir acompañados de

cambios en las herramientas de soporte• ¿Cuál es el coste de modificar una herramienta de soporte?

Solución: meta-modelado

Juan Pavón MestrasFacultad de Informática UCM, 2004 Metodologías de Sistemas Multi-Agente 44

Bibliografía

Bratman, M. E. (1987) Intentions, Plans, and Practical Reason. Harvard University Press.

DeLoach, S. 2001. Analysis and Design using MaSE and agentTool.. Proceedings of the 12th Midwest Artificial Intelligence and Cognitive Science Conferece (MAICS).

Ferber, J., 1999. Multi-Agent System: An Introduction to Distributed Artificial Intelligence. Addison Wesley Longman.

Iglesias, C. (1998). Definición de una metodología para el desarrollo de sistemas multiagente, TesisDoctoral, UPM.

Jennings, N.R., On agent-based software engineering. Artificial Intelligence, 117, 2000.

Juan, T., Pearce, A. y Sterling, L. (2002). ROADMAP: Extending the Gaia Methodology for Complex Open Systems. Proceedings of the first international joint conference on Autonomous agents and multiagent systems (AAMAS2002), Bologna, Italia, 3-10.

Kinny, D., Georgeff, M. y Rao, A. (1996). A methodology and modelling technique for systems of BDI agents. En Agents Breaking Away: Proceedings of the Seventh European Workshop on Modelling Autonomous Agents in a Multi-Agent World, LNAI 1038, 56–71.

Nwana, H. S. et al. (1999) ZEUS: A Toolkit for Building Distributed Multi-Agent Systems, Applied Artificial Intelligence Journal, vol. 1, no. 13, pp. 129-185.

Rosenschein, S. J. y Kaelbling, L. P. (1995) A Situated View of Representation and Control. Artificial Intelligence. Vol. 73 no. 1/2, pp. 149-173

Russell, S. y Norvig, P. (1995) Artificial Intelligence: a modern approach. Prentice Hall. Shoham, Y. Agent-oriented programming. Artificial Intelligence, 60, 1993.Weiss, G. Multiagent Systems. The MIT Press, 1999.

Wooldridge, M., Jennings, N. R. y Kinny, D (2000). The Gaia Methodology for Agent-Oriented Analysis and Design, Journal of Autonomous Agents and Multi-Agent Systems, 3 (3), 285-312.

Zilouchian, A. (2000) Fundamentals of Neural Networks, en Intelligent Control Systems . CRC Press, pp. 17-38

Web sobre metodologías de agentes: http://ma.ei.uvigo.es/isoa/