des arrollo sma

Upload: jairo-andres-charris-mercado

Post on 02-Mar-2016

21 views

Category:

Documents


0 download

TRANSCRIPT

  • Curso de doctorado:

    Agentes Inteligentes

    Desarrollo de Sistemas Multi-AgenteLa metodologa INGENIAS

    Jorge Gmez Sanz

    Juan Pavn Mestras

    Dep. de Sistemas Informticos y Programacin

    http://grasia.fdi.ucm.es

    Juan Pavn MestrasUCM 2004 Ingeniera del Software Orientada a Agentes 2

    Sistemas multi-agente (SMA)

    Qu son?Por qu otro paradigma?Otra moda tecnolgica?Qu hay de nuevo?Para qu sirven?

    Cmo se construyen?

    Juan Pavn MestrasUCM 2004 Ingeniera del Software Orientada a Agentes 3

    Sistemas multi-agente (SMA)

    Los agentes software tienen un conjunto de caractersticasque habr que tener en cuenta para su desarrollo

    No son simplemente objetos distribuidos pero se puedenimplementar como tales

    Tampoco son sistemas expertos pero su comportamientopodra implementarse con conceptos similares

    Podran verse como un tipo de componentes software perono se plantean como las tcnicas actuales de componentes(J2EE, .NET, CCM)

    Son estas cosas y algo ms

    Juan Pavn MestrasUCM 2004 Ingeniera del Software Orientada a Agentes 4

    SMA vs. OO

    Agentes Autonoma de decisin

    Flujo de control propio

    Encapsula la activacin del comportamiento

    Estado mental: objetivos, creencias, ...

    Comportamiento: cmo decidir lo que hacer

    Interacciones: actos de habla (intencionalidad)

    Organizacin: relaciones sociales entre agentes

    Objetos

    Ejecuta los mtodos invocados

    Flujo de control del llamante

    Encapsula estado y comportamiento

    Estado: valor de variables

    Comportamiento: salida a partir de una entrada

    Mensajes invocan procedimiento

    Asociaciones entre objetos

  • Juan Pavn MestrasUCM 2004 Ingeniera del Software Orientada a Agentes 5

    SMA vs. Sistemas Expertos

    Agentes Interactan con el entorno

    Distribucin de la toma de decisiones:Comportamiento emergente

    Mayor grado de interaccin con el usuario

    Interaccin con otros agentes

    Sistemas Expertos Sistemas cerrados

    Sistemas de decisin centralizados

    Interaccin con el usuario bajo peticin del usuario

    Juan Pavn MestrasUCM 2004 Ingeniera del Software Orientada a Agentes 6

    Sobre la utilidad de los agentes

    La primera pregunta que habr que plantearse cuando se va a realizar un sistema es:

    Hace falta utilizar agentes?

    O bastara con objetos, componentes, ...?

    Juan Pavn MestrasUCM 2004 Ingeniera del Software Orientada a Agentes 7

    Sobre la utilidad de los agentes

    Se trata de un sistema distribuido abierto? Pueden incorporarse dinmicamente nuevos tipos de entidades en el sistema? Pueden cambiar las existentes?

    Es necesario considerar una evolucin del comportamiento independiente para cada uno de los componentes del sistema o para una parte significativa?

    Hay incertidumbre? Es posible para una entidad del sistema conocer su contexto suficientemente para poder decidir con certeza el efecto de las acciones que puede realizar?

    Hay personalizacin? Un mismo servicio se puede ofrecer simultneamente de manera distinta segn las caractersticas de cada usuario?

    Hace falta definir una organizacin de entidades que interactan para resolver conjuntamente problemas globales?

    Juan Pavn MestrasUCM 2004 Ingeniera del Software Orientada a Agentes 8

    Metodologas de desarrollo de SMA

    Una vez decidido construir un SMA habr que ver Qu resultados producir

    Documentacin Cdigo, prototipos, pruebas

    Con qu lenguaje especificar el SMA Visuales: Data Flow Diagrams, Entity-Relationship diagrams, Message Sequence Charts, UML

    Formales: Z, redes de Petri

    Qu actividades para producir los resultados De anlisis, diseo, implementacin, validacin,

    Cmo: Guas Mtricas Con qu herramientas

    Desarrollo Entorno de ejecucin

  • Juan Pavn MestrasUCM 2004 Ingeniera del Software Orientada a Agentes 9

    Metodologas de desarrollo de SMA

    La respuesta:

    Metodologas de desarrollo de SMA

    Pero... cul elegir?

    Juan Pavn MestrasUCM 2004 Ingeniera del Software Orientada a Agentes 10

    Metodologas para desarrollar SMA

    Orientacin a objetos

    Conceptos de agentes:

    Anlisis de roles

    Mtodos Formales

    Z, lgica temporal

    Sistemasexpertos

    Conceptos de agentes:

    BDI

    SMA

    Juan Pavn MestrasUCM 2004 Ingeniera del Software Orientada a Agentes 11

    Metodologas para desarrollar SMA

    Orientacin a objetos

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

    Anlisis de roles

    Gaia, AAII, ...

    Mtodos Formales

    SMART, DESIRE,Concurrent METATEM

    Sistemas expertos

    MAS-CommonKADS,CoMoMAS

    BDI

    AAIIIntegraciIntegracin:n:

    MESSAGE, INGENIAS

    Juan Pavn MestrasUCM 2004 Ingeniera del Software Orientada a Agentes 12

    Algunas metodologas

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

    Gaia SMA como conjunto de entidades que interactan

    MaSE OO con conversaciones entre objetos

    Tropos nfasis en la gestin de requisitos

    Zeus Entorno visual de desarrollo de agentes Prototipos de agentes

    MAS-CommonKADS CommonKADS extendido con OO, SDL y MSC

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

    Newell

  • Juan Pavn MestrasUCM 2004 Ingeniera del Software Orientada a Agentes 13

    Metodologa AAII [Kinny, Georgeff y Rao 96](Australian Artificial Intelligence Institute)

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

    CreenciasDeseos

    Intenciones

    Juan Pavn MestrasUCM 2004 Ingeniera del Software Orientada a Agentes 14

    Metodologa AAII [Kinny, Georgeff y Rao 96](Australian Artificial Intelligence Institute)

    Punto de vista externo Modelo de agentes: jerarqua de clases Modelo de interacciones: responsabilidades de los agentes,

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

    Basado en anlisis de roles:1. Identificar roles del dominio de aplicacin

    Primera definicin 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 jerarqua de agentes Definir superclases cuando hay clases de agentes con similitud Componer clases de agentes con herencia o agregacin Introducir clases concretas de agente teniendo en cuenta aspectos

    especficos de implementacin

    Juan Pavn MestrasUCM 2004 Ingeniera del Software Orientada a Agentes 15

    Metodologa AAII [Kinny, Georgeff y Rao 96](Australian Artificial Intelligence Institute)

    Punto de vista interno (basado en BDI) Modelo de creencias: informacin 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

    agente Basado en el anlisis del propsito de los servicios y su

    descomposicin hasta llegar a planes:1. Analizar los medios para alcanzar los objetivos

    Descomposicin de cada objetivo en acciones y subobjetivos Generar planes

    2. Construir las creencias del sistema A partir de las condiciones que controlan la ejecucin de actividades,

    y requisitos de entrada y salida para cada objetivo

    El refinamiento de los modelos internos realimenta los modelos externos

    Juan Pavn MestrasUCM 2004 Ingeniera del Software Orientada a Agentes 16

    GAIA [Wooldridge, Jennings y Kinny, 2000]

    Extiende la metodologa Fusion [Coleman et al. 94] SMA como organizacin de entidades que interactan Anlisis: Basado en anlisis de roles en interaccin

    Modelo de roles: Para cada rol (un individuo, departamento u organizacin de la vida real):

    Responsabilidades: funcionalidad del agente (como propiedades de viveza y seguridad)

    Permisos: derechos a informacin y recursos Actividades: acciones privadas (sin interactuar con otros agentes) Protocolos

    Modelo de interacciones: define los protocolos (entre roles) Atributos: propsito, iniciador, respondedor, entradas/salidas, proceso

    Diseo: Basado en agrupacin de roles en agentes Modelo de agentes: tipos de agentes (agente=conjunto de roles) y

    sus instancias Modelo de servicios: funciones de cada rol Modelo de conocidos: con quienes puede interaccionar

  • Juan Pavn MestrasUCM 2004 Ingeniera del Software Orientada a Agentes 17

    GAIA [Wooldridge, Jennings y Kinny, 2000]

    Extensiones ROADMAP [Juan, Pearce y Sterling, 2002]

    En el anlisis aade: Captura de requisitos utilizando casos de uso Modelo de entorno Modelo de conocimiento, derivado de los dos anteriores

    Especificacin de interacciones utilizando AUML

    Gaia II [Zambonelli, Jennings y Wooldridge, 2003] En el anlisis aade:

    Modelo del entorno: representacin computacional abstracta del entorno del SMA, como una lista de recursos abstractos

    Reglas organizacionales: restricciones para las actividades de los roles

    En el diseo considera la definicin de la estructura organizacional

    Definida a partir de un conjunto de patrones organizacionales

    Sigue sin considerar la implementacin

    Juan Pavn MestrasUCM 2004 Ingeniera del Software Orientada a Agentes 18

    MaSE [DeLoach et al. 01]

    Agentes como objetos con capacidad de coordinarse mediante conversaciones

    Agentes: clases cuyo comportamiento est definido por autmatas

    Soportado por la herramienta agentTool [DeLoach y Wood 01] Generacin automtica de cdigo Notacin UML

    Basado en el RUP, trata especialmente las actividades de anlisis y diseo

    Juan Pavn MestrasUCM 2004 Ingeniera del Software Orientada a Agentes 19

    MaSE [DeLoach et al. 01]

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

    Juan Pavn MestrasUCM 2004 Ingeniera del Software Orientada a Agentes 20

    Tropos

    Integracin de trabajo terico previo: i*, KAOS Proceso de desarrollo

    Anlisis y Diseo basado en refinamiento de diagramas i* ampliados

    Diseo detallado empleando tcnicas adicionales AUML para modelar protocolos Diagramas de Planes

    Implementacin mediante plantillas de traduccin a plataformas de agentes BDI

    Existen ejemplos de aplicacin Hay herramientas de soporte pero no son de dominio

    pblico

  • Juan Pavn MestrasUCM 2004 Ingeniera del Software Orientada a Agentes 21

    Tropos

    Fases: Requisitos iniciales

    Identifica actores relevantes con sus objetivos

    Requisitos posteriores El sistema a desarrollar se considera un actor, y a partir de las dependencias con otros actores se identifican sus obligaciones

    Diseo arquitectural Se introducen ms actores del sistema mediante descomposicin de objetivos y tareas del sistema

    Diseo detallado Definicin de los actores del sistema en detalle, incluyendo protocolos de comunicacin y coordinacin

    Implementacin Transforma las especificaciones en plantillas adaptadas a una plataforma de programacin de agentes (p.ej. Jack)

    Juan Pavn MestrasUCM 2004 Ingeniera del Software Orientada a Agentes 22

    Tropos

    actor

    objetivo fuerte

    objetivo

    plan

    recurso

    contribuye

    Juan Pavn MestrasUCM 2004 Ingeniera del Software Orientada a Agentes 23

    Zeus [Nwana et al. 99]

    Zeus: entorno visual de desarrollo de SMA http://more.btexact.com/projects/agents/zeus/

    Proporciona una plataforma de ejecucin de agentes, prototipos de agentes, y componentes para su realizacin Agentes de utilidad

    Servidor de nombres Agentes facilitadores Agente visualizador

    Herramienta de construccin de agentes Librera de componentes de agentes

    El desarrollador configurar agentes genricos mediante la definicin de Ontologas Agentes Tareas Organizacin Coordinacin

    Juan Pavn MestrasUCM 2004 Ingeniera del Software Orientada a Agentes 24

    Zeus [Nwana et al. 99]

    Etapas de desarrollo Anlisis del dominio

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

    Diseo de los agentes Identificacin de ontologas, servicios, tareas y relaciones entre agentes

    Realizacin de los agentes Definicin de los elementos identificados en el diseo y su implementacin

    Guiado por las herramientas grficas de construccin de agentes de Zeus

    Soporte en tiempo de ejecucin Depuracin y optimizacin de cdigo con herramientas de visualizacin y monitorizacin

  • Juan Pavn MestrasUCM 2004 Ingeniera del Software Orientada a Agentes 25

    Zeus [Nwana et al. 99]

    Etapa de realizacin de agentes Creacin de la ontologa (Zeus Ontology Editor)

    Conocimiento declarativo que representa los conceptos significativos dentro del dominio de la aplicacin

    Creacin de agente (Zeus Agent Editor) Configuracin de un agente genrico de Zeus: definicin de agente, descripcin de tareas, organizacin del agente, coordinacin del agente

    Configuracin de agentes de utilidad (Code GenerationEditor) Atributos de los agentes de utilidad (plataforma de agentes)

    Configuracin de agentes de tarea Parmetros de ejecucin de los agentes de tarea

    Implementacin de agentes Utilizando la herramienta de generacin de cdigo

    Juan Pavn MestrasUCM 2004 Ingeniera del Software Orientada a Agentes 26

    MAS-CommonKADS [Iglesias 98]

    Extiende la metodologa CommonKADS [deHoog et al. 93] de desarrollo de sistemas expertos con: Tcnicas de orientacin a objetos (OMT y OOSE) Tcnicas de ingeniera de protocolos: SDL y MSC

    Modelo de ciclo de vida en espiral dirigido por riesgos Y modelo en cascada con reutilizacin para proyectos pequeos

    El desarrollo de un SMA consiste en rellenar un conjunto de plantillas de un nmero de modelos interrelacionados 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: vaco, identificado, descrito y validado

    Ejemplo de estados hito: identificacin inicial de los agentes, descripcin de objetivos y servicios, validacin de relaciones entre un modelo y los dems

    Juan Pavn MestrasUCM 2004 Ingeniera del Software Orientada a Agentes 27

    MAS-CommonKADS [Iglesias 98]

    Fase de conceptuacin Definicin de casos de uso

    Especificacin del sistema (Anlisis) 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

    Modelo de tareas Qu tareas pueden realizar los agentes, cmo se estructuran, objetivos, ...

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

    Modelo de organizacin de la sociedad de agentes: Organizacin de los agentes y su relacin con el entorno

    Modelo de comunicacin con el usuario Factores de la interaccin humano-agente

    Modelo de coordinacin Interacciones entre agentes software

    Modelo de diseo Arquitectura y diseo del SMA como paso previo a su implementacin

    Juan Pavn MestrasUCM 2004 Ingeniera del Software Orientada a Agentes 28

    MAS-CommonKADS [Iglesias 98]

  • Juan Pavn MestrasUCM 2004 Ingeniera del Software Orientada a Agentes 29

    MESSAGE [Message 2000]

    Methodology for Engineering Systems of Software AGents) Proyecto Eurescom P907

    Extiende ingeniera de software OO con conceptos del rea de agentes Que se definen en 5 meta-modelos:

    Agente Organizacin Dominio Tareas-objetivos Interacciones

    Adopta el Proceso Unificado de Desarrollo de Software (tambin conocido como Rational Unified Process)

    Juan Pavn MestrasUCM 2004 Ingeniera del Software Orientada a Agentes 30

    INGENIAS

    Evolucin de MESSAGE

    Abordando con mayor profundidad los distintos aspectos que definen la metodologa:

    Notacin: Lenguaje visual para expresar el diseo de SMA y agentes

    Mtodos: Organizacin de entregas Actividades relacionadas

    Herramientas: Ingenias Development Kit (IDK) Generacin de especificacin Validacin de diseo Generacin de cdigo Generacin de documentacin

    Juan Pavn MestrasUCM 2004 Ingeniera del Software Orientada a Agentes 31

    Planteamiento de INGENIAS

    Principios Agentes como paradigma de modelado

    Conceptos de ms alto nivel que en objetos y ms cercanos al dominio

    Se pueden considerar adaptaciones especficas a dominios de aplicacin particulares

    Los aspectos organizativos e intencionales reducen el salto de especificacin de requisitos a implementacin

    Implementacin sobre distintos tipos de plataforma Un modelo de SMA se puede implementar sobre una plataforma de agentes o sobre un entorno de objetos tradicional

    La metodologa facilita y promueve el desarrollo de herramientas de generacin de cdigo que faciliten el paso del modelo (anlisis y diseo) a la implementacin

    Contempla la evolucin de la tecnologa de agentes Adaptabilidad a nuevos lenguajes y estndares (p.ej. AUML)

    Todo ello basado en la utilizacin y manipulacin de meta-modelos

    Juan Pavn MestrasUCM 2004 Ingeniera del Software Orientada a Agentes 32

    INGENIAS

    El modelo de desarrollo con INGENIAS El desarrollador de SMA: realiza la aplicacin

    Modela con el editordel IDK

    Simula y valida el modelo

    Implanta el SMAen la red

    Genera cdigo y valida el modelo

  • Juan Pavn MestrasUCM 2004 Ingeniera del Software Orientada a Agentes 33

    Editor de INGENIAS

    Juan Pavn MestrasUCM 2004 Ingeniera del Software Orientada a Agentes 34

    INGENIAS

    El modelo de desarrollo con INGENIAS Ingeniero INGENIAS: prepara las herramientas

    Define metamodelodel dominio de

    aplicacin y puede personalizar el editor

    Prepara generador de cdigo para simulador

    Crea generador de cdigo para plataforma final

    Juan Pavn MestrasUCM 2004 Ingeniera del Software Orientada a Agentes 35

    Aspectos de un SMA

    SistemaMulti

    Agentes

    Modelo de Organizacin

    Modelo de Agente

    Modelo de Objetivos/Tareas

    Modelo de Entorno

    Modelo de Interacciones

    Juan Pavn MestrasUCM 2004 Ingeniera del Software Orientada a Agentes 36

    Aspectos del SMA

    Modelo de organizacin Estructura del SMA, roles, relaciones de poder, workflows

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

    Modelo de objetivos y tareas Identificacin de objetivos generales y descomposicin en objetivos ms concretos que se pueden asignar a agentes

    Similarmente con tareas Objetivos: motivacin Tareas: actividad

    Modelo de interaccin Qu interacciones existen entre agentes/roles

    Modelo de entorno Entidades y relaciones con el entorno del SMA

  • Juan Pavn MestrasUCM 2004 Ingeniera del Software Orientada a Agentes 37

    Modelo de organizacin

    La organizacin define una estructura donde van a existir los agentes, recursos, tareas y objetivos Estructura. Descomposicin de la organizacin en:

    Grupos Flujos de trabajo

    Interrelacin de tareas en flujos de trabajo Relaciones entre agentes respecto a las tareas Recursos disponibles y asignacin

    Relaciones sociales Relaciones de poder (p.ej. subordinacin) y cliente/servidor entre agentes

    Relaciones entre grupos Relaciones entre organizaciones

    Funcionalidad Propsito Tareas que debe realizar

    Juan Pavn MestrasUCM 2004 Ingeniera del Software Orientada a Agentes 38

    Elementos del modelo de organizacin

    Descripcin estructural

    Organizacin

    Grupo

    Agente Rol

    juega

    Propsitopersigue

    workflow

    descomponeAplicacin

    descompone

    Recurso

    Juan Pavn MestrasUCM 2004 Ingeniera del Software Orientada a Agentes 39

    Elementos del modelo de organizacin

    Descripcin social

    Organizacin

    Grupo

    Agente

    Rol

    servicio Organizacin

    Grupo

    Agente

    Rol

    subordinacin

    servicio

    subordinacin

    condicional/incondicional

    condicional/incondicional

    servicio

    servicio

    Juan Pavn MestrasUCM 2004 Ingeniera del Software Orientada a Agentes 40

    Elementos del modelo de organizacin

    Descripcin funcional

    workflow

    tarea tareaconecta

    AgenteRol

    Aplicacin

    usaresponsable consume/produce

    RecursoUnidad de interaccin

  • Juan Pavn MestrasUCM 2004 Ingeniera del Software Orientada a Agentes 41

    Modelo de agente

    Descripcin de agentes particulares Funcionalidad del agente: Responsabilidades

    Qu tareas sabe ejecutar Qu objetivos se compromete a alcanzar

    Comportamiento: Control del agente Estado mental

    Agregacin de entidades mentales: objetivos, creencias, compromisos, hechos

    Gestin de estado mental Creacin, destruccin, modificacin de las entidades del estado

    mental

    Mecanismo de decisin: procesador de estado mental Reglas, planificacin, etc.

    Agente Rol

    Juan Pavn MestrasUCM 2004 Ingeniera del Software Orientada a Agentes 42

    Control del agente

    Rol

    Objetivo

    Tarea

    Rol

    Objetivo

    Tarea

    EvidenciaInteraccinProduce

    Satisface

    Satisface

    Quieren satisfacer

    Quieren satisfacer

    puede satisfacerse ejecutando

    puede satisfacerse ejecutando

    Agente

    Agente

    Juan Pavn MestrasUCM 2004 Ingeniera del Software Orientada a Agentes 43

    Elementos del modelo de agente

    Agente Rol

    juega

    Objetivopersigue

    tareaPG

    creencia

    Estado mental

    responsable

    afectaHecho

    Juan Pavn MestrasUCM 2004 Ingeniera del Software Orientada a Agentes 44

    Agente planificador

    Planificador clsico. Las tareas transforman entidades mentales para alcanzar objetivos del agente

  • Juan Pavn MestrasUCM 2004 Ingeniera del Software Orientada a Agentes 45

    Modelo de objetivos y tareas

    Qu consecuencias tiene la ejecucin de tareas y por qu se deberan ejecutar Justifica la ejecucin de tareas basndose en objetivos Que a su vez se van modificando tras su ejecucin

    Objetivo: Situacin deseada Conjunto de estados que el agente quiere lograr, mantener, o evitar Una funcin de utilidad que maximizar Responde a por qu?

    Tarea: Transiciones de estado Conduce a la consecucin de objetivos Responde a cmo?

    Objetivo Tarea

    Juan Pavn MestrasUCM 2004 Ingeniera del Software Orientada a Agentes 46

    Ciclo de vida de un objetivo

    Pendiente Refinado

    Resolvindose

    FalloSatisfecho

    refinamiento

    comienza ejecucin de tarea

    Evidencia de xito Evidencia de fallo

    Juan Pavn MestrasUCM 2004 Ingeniera del Software Orientada a Agentes 47

    Descomposicin de objetivos

    rboles Y/O [Rich y Knight 90]

    Evaluarautnomamente

    No molestaral usuario

    No enviarinformacin indeseada

    Vender ms

    Incrementarbeneficios

    Reducircostes

    O

    - Reglas de transmisin de xito o de fallo

    Juan Pavn MestrasUCM 2004 Ingeniera del Software Orientada a Agentes 48

    Descomposicin de objetivos

    A

    B C

    D E

    Y

    O

    Resolucin por xito

    A

    B C

    D E

    Y

    O

    Resolucin por fracaso

  • Juan Pavn MestrasUCM 2004 Ingeniera del Software Orientada a Agentes 49

    Elementos de definicin de tareas

    Hecho A

    Hecho Btarea

    consume

    consume

    Hecho Cproduce

    AplicacinRecurso

    usausa afecta

    objetivo

    precondicionespostcondiciones

    produce

    interaccin

    Juan Pavn MestrasUCM 2004 Ingeniera del Software Orientada a Agentes 50

    Relaciones entre tareas y objetivos

    Una tarea afecta a un objetivo

    tarea afectaobjetivo

    Crea, destruye o modifica (satisfaciendo o fallando el objetivo)

    objetivotarea

    SATCondicin de satisfaccin del objetivo

    Patrn de estado mental

    La satisfaccin de un objetivo justifica la eleccin de una tarea

    Juan Pavn MestrasUCM 2004 Ingeniera del Software Orientada a Agentes 51

    tarea1

    Relaciones entre tareas y objetivos

    objetivotarea2

    SATOtra condicin

    Patrn de estado mental

    La satisfaccin de un objetivo justifica la eleccin de una tarea

    SATCondicin de satisfaccin del objetivo

    tarea3

    FAILCondicin de fallo

    planificacin

    Juan Pavn MestrasUCM 2004 Ingeniera del Software Orientada a Agentes 52

    Ejemplo de tareas

    Descripcin de relacin productor-consumidor entre dos tareas

  • Juan Pavn MestrasUCM 2004 Ingeniera del Software Orientada a Agentes 53

    Modelo de interacciones

    Intercambio de conocimiento o peticiones (intencionalidad) entre agentes

    Define las interacciones entre los agentes o entre agentes y humanos Se definen a alto nivel, en diseo se detalla el protocolo de interaccin

    Se puede usar el concepto de protocolo de interaccin de Agent UML o los protocolos de Gaia

    Juan Pavn MestrasUCM 2004 Ingeniera del Software Orientada a Agentes 54

    Definicin de interacciones

    Qu actores participan en la interaccin Cada actor debe mostrar la razn por la que participa Roles iniciador y colaboradores

    Definicin de unidades de interaccin Mensajes, actos de habla

    Orden de las unidades de interaccin Protocolos: contract net, FIPA request, especficos. Diagramas de protocolos AUML

    Acciones ejecutadas en la interaccin Criterios para decidir cundo ejecutar una tarea Consecuencias de la ejecucin de una tarea

    Definicin del contexto de la interaccin Objetivos que persigue la interaccin Estado mental de los participantes

    Modelo de control Mecanismos de coordinacin

    Juan Pavn MestrasUCM 2004 Ingeniera del Software Orientada a Agentes 55

    Comunicaciones entre agentes

    Actos del habla Determina un conjunto de primitivas con las que se comunican los agentes request:solicitar la ejecucin de una accin inform: modificar la informacion que almacena un agente not-understood: no se ha comprendido el mensaje

    Necesita de un lenguaje de contenido XML SL0

    Una ontologa A qu se refieren los elementos que aparecen en el mensaje

    Un protocolo Fipa-request: solicitar de un agente la ejecucin de una tarea

    Juan Pavn MestrasUCM 2004 Ingeniera del Software Orientada a Agentes 56

    Protocolo

  • Juan Pavn MestrasUCM 2004 Ingeniera del Software Orientada a Agentes 57

    Modelo de entorno

    Define las entidades del entorno del SMA con las que vaya a interactuar Recursos

    Elementos consumibles o no consumibles: Descriptores de ficheros, hilos de ejecucin, memoria, dispositivos de

    E/S, sockets, ancho de banda, etc.

    Aplicaciones Uso ms complejo, por medio de alguna interfaz Se pueden ver como objetos o como agentes

    Agentes Satisfacen el principio de racionalidad

    Juan Pavn MestrasUCM 2004 Ingeniera del Software Orientada a Agentes 58

    Tipos de entorno [Russel y Norvig 95]

    Accesible/Inaccesible Capacidad para percibir todo el entorno

    Determinista/No determinista Dado un estado y una accin ejecutada, se puede predecir el siguiente estado

    Episdico/No episdico La experiencia del agente se puede segmentar en episodios independientes

    Esttico/Dinmico El mundo no cambia mientras el agente delibera

    Continuo/Discreto Existe un conjunto finito de variables a observar y un conjunto finito de acciones posibles

    Juan Pavn MestrasUCM 2004 Ingeniera del Software Orientada a Agentes 59

    Formas de modelar el entorno

    Representar el mundo que rodea al agente [Ferber 99] Tarea extremadamente difcil

    Enfoque pragmtico (Situated Automata [Rosenschein y Kaelbling 95] y redes neuronales [Zilouchian 00])

    Discretizar el entorno utilizando un conjunto finito de variables observables Categorizar el tipo de entidades relevantes del entorno Restringir la interaccin (percepcin y actuacin) con estas entidades:

    Recursos Aplicaciones Agentes

    Juan Pavn MestrasUCM 2004 Ingeniera del Software Orientada a Agentes 60

    Ejemplo de entorno

    Entorno para un asistente de ficheros en un PC

    AsistenteReubicacinficheros

    6553510000 65535

    HilosEjecucin

    12820 128

    MemoriaDisponible

    DiscoDuro

    dameDirectoriodameFicherodameContenidoFicherodameOcupacinDisco

    ENTORNO

    ______MUESTREO_______dameOcupacin:90min

    ___DiscoDuro___________ContenidoDiscoDuroCambio

  • Juan Pavn MestrasUCM 2004 Ingeniera del Software Orientada a Agentes 61

    Son muchos diagramas, entidades y relaciones

    Por ello definimos Un proceso de desarrollo

    Compuesto de actividades Y que determina entregas a realizar

    Un entorno de desarrollo que facilite la implementacin

    Y damos Ejemplos de modelado Una tesis doctoral que describe la notacin y el proceso siguiendo el planteamiento del proceso unificado

    Actualmente Revisin para adaptar al paradigma de Desarrollo de software dirigido por modelos (MDD, Model Driven Development)

    Juan Pavn MestrasUCM 2004 Ingeniera del Software Orientada a Agentes 62

    Un proceso de desarrollo orientado a agentes

    Ejemplo: Diseo de un sistema de recomendacin usando filtradocolaborativo Los documentos llegan a una comunidad de usuarios Sern evaluados segn los gustos mayoritarios de la comunidadde usuarios de gustos similares

    Juan Pavn MestrasUCM 2004 Ingeniera del Software Orientada a Agentes 63

    Un proceso de desarrollo orientado a agentes

    1. Identificar OBJETIVOS Anlisis: Qu tiene que hacer el sistema (requisitos)

    De casos de uso a objetivos

    Juan Pavn MestrasUCM 2004 Ingeniera del Software Orientada a Agentes 64

    Un proceso de desarrollo orientado a agentes

    2. Descomponer los OBJETIVOS en subOBJETIVOS y TAREAS Del anlisis al diseo:

    OBJETIVOS identifican requisitos (propsito)

  • Juan Pavn MestrasUCM 2004 Ingeniera del Software Orientada a Agentes 65

    Un proceso de desarrollo orientado a agentes

    2. Descomponer los OBJETIVOS en subOBJETIVOS y TAREAS Del anlisis al diseo:

    TAREAS definen procedimientos para satisfacer OBJETIVOS

    Juan Pavn MestrasUCM 2004 Ingeniera del Software Orientada a Agentes 66

    Un proceso de desarrollo orientado a agentes

    3. Asignar OBJETIVOS a ROLES en la ORGANIZACIN Diseo:

    ROLES definen servicios (responsabilidades y funcionalidadesperada)

    Juan Pavn MestrasUCM 2004 Ingeniera del Software Orientada a Agentes 67

    Un proceso de desarrollo orientado a agentes

    3. Asignar OBJETIVOS a ROLES en la ORGANIZACIN Diseo:

    ORGANIZACIN define arquitectura (estructura, normas)

    Juan Pavn MestrasUCM 2004 Ingeniera del Software Orientada a Agentes 68

    Un proceso de desarrollo orientado a agentes

    4. Definir WORKFLOWS e INTERACCIONES Diseo:

    WORKFLOWS definen relaciones entre TAREAS, ROLES y RECURSOS

  • Juan Pavn MestrasUCM 2004 Ingeniera del Software Orientada a Agentes 69

    Un proceso de desarrollo orientado a agentes

    4. Definir WORKFLOWS e INTERACCIONES Diseo:

    INTERACCIONES definen cmo se comunican los ROLES

    Juan Pavn MestrasUCM 2004 Ingeniera del Software Orientada a Agentes 70

    Un proceso de desarrollo orientado a agentes

    4. Definir WORKFLOWS e INTERACCIONES Diseo:

    INTERACCIONES definen cmo se comunican los ROLES

    Juan Pavn MestrasUCM 2004 Ingeniera del Software Orientada a Agentes 71

    Un proceso de desarrollo orientado a agentes

    5. AGENTES desempean ROLES Diseo:

    AGENTES tienen capacidades para desempear ROLES Cada AGENTE puede tener una estrategia diferente para

    satisfacer los objetivos del mismo ROLE

    Juan Pavn MestrasUCM 2004 Ingeniera del Software Orientada a Agentes 72

    Un proceso de desarrollo orientado a agentes

    6. Generacin de cdigo Simulacin: validar el comportamiento del sistema multi-

    agente Realizacin e implantacin de un sistema ejecutable

  • Juan Pavn MestrasUCM 2004 Ingeniera del Software Orientada a Agentes 73

    Proceso de desarrollo orientado a agentes

    Hay otras posibilidades

    Centrarse y comenzar con los workflows Cuando la organizacin est orientada a procesos

    Centrarse en la coordinacin y las interacciones Cuando el problema es la definicin de un algoritmo distribuido Sistemas cooperativos

    Centrarse en el entorno Sistemas empotrados Robtica

    Centrarse en los actores Simulacin social

    Juan Pavn MestrasUCM 2004 Ingeniera del Software Orientada a Agentes 74

    INGENIAS Development Kit

    http://ingenias.sourceforge.net

    Editor de modelos Herramienta visual (notacin grasia!) Inicialmente basado en herramienta de meta-modelado

    (METAEDIT+) Actualmente 100% Java

    Generacin de modelos siguiendo los meta-modelos Integracin con mdulos para procesamiento de las especificaciones Integracin con agentes (en desarrollo)

    Mdulos: Para la generacin de cdigo

    Armazones (plantillas) configurables, especificados con XML, para distintas plataformas de agentes

    Jade, Robocode, Servlets, Agentes grasia!

    Para validar especificaciones: basado en AT Para generar documentacin (HTML) Armazn para desarrollar mdulos personalizados

    Juan Pavn MestrasUCM 2004 Ingeniera del Software Orientada a Agentes 75

    IDK

    Descripcin SMA

    modelo de agentemodelo de agentemodelo de agente

    modelo de organizacin

    modelo de objetivos/tareasmodelo de objetivos/tareasmodelo de objetivos/tareas

    modelo de entorno

    modelo de interaccionesmodelo de interaccionesmodelo de interacciones

    EditorMduloMduloMduloMduloMdulo

    produce procesados por

    contiene

    Juan Pavn MestrasUCM 2004 Ingeniera del Software Orientada a Agentes 76

    Editor del IDK

    El editor del IDK permite Crear y modificar modelos de SMA Generar documentacin (HTML) Sacar snapshots de los diagramas para utilizarlos en otras aplicaciones

    Procesar las especificaciones mientras se estn generando con el editor o una vez grabadas en un fichero

    Introducir explicaciones en lenguaje natural de los diferentes diagramas y de cada elemento en los diagramas, as como aadir etiquetas de texto

  • Juan Pavn MestrasUCM 2004 Ingeniera del Software Orientada a Agentes 77

    Manejo del Editor del IDK

    Juan Pavn MestrasUCM 2004 Ingeniera del Software Orientada a Agentes 78

    Generacin del editor

    Goals/tasks metamodel Environmen

    t metamodel

    Organization

    metamodel Agent

    metamodel Interaction metamodel

    MAS Editor

    Editor template Java/XML

    Metamodel Description

    XML

    icoicoicon

    Relationship Editor Attributes (e.g. Icons)

    With metamodels XML

    MetaEditor

    Juan Pavn MestrasUCM 2004 Ingeniera del Software Orientada a Agentes 79

    modelo SMAmodelo

    SMAmodelo SMA (XML)

    Especficos de una plataforma(deben reunir los elementos de los metamodelos)

    Generacin de cdigo

    plantilla de cdigomarcado con XML

    Plataforma de agentes

    plantilla de cdigomarcado con XML

    plantilla de cdigomarcado con XML

    Generadorcdigo

    de agentecdigode agentecdigode agente

    Completar/Revisarpor el programador

    Juan Pavn MestrasUCM 2004 Ingeniera del Software Orientada a Agentes 80

    Conclusiones

    El paradigma de agente extiende al de objeto: Aprovechar las metodologas OO

    Ms fcil de aceptar por los ingenieros software Aprovecha herramientas y experiencia

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

    Extensiones: Aspectos sociales (organizacin, interacciones, negociacin) Comportamiento (autonoma, estado mental, objetivos, tareas) Concurrencia y distribucin

    Modelado desde varios puntos de vista (VowelEngineering, AAII, MAS-CommonKADS, MESSAGE) Para poder gestionar la complejidad del SMA Modelos: Entorno, dominio/ontologa, roles, objetivos/tareas, interacciones/protocolos, organizacin, agente

  • Juan Pavn MestrasUCM 2004 Ingeniera del Software Orientada a Agentes 81

    Conclusiones

    Anlisis Casos de uso para capturar requisitos funcionales Roles y servicios para agrupar las distintas funcionalidades asociadas a un agente o grupo de agentes

    Diseo Independiente de la arquitectura (Gaia) Basado en una arquitectura concreta (MaSE, AAII, Zeus) Define el modelo computacional del agente => arquitectura del agente (MAS-CommonKADS)

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

    Intentos de estandarizacin: FIPA Methodology TC y AgentLink AOSE TFG

    Juan Pavn MestrasUCM 2004 Ingeniera del Software Orientada a Agentes 82

    Resumen

    INGENIAS proporciona Una notacin para modelar un SMA desde cinco puntos de vista: Organizacin Agente Objetivos/Tareas Interacciones Entorno

    Un conjunto de actividades que se pueden enmarcar dentro de un proceso de desarrollo estndar: el Proceso Unificado

    Herramientas de soporte: Ingenias Development Kit (IDK) Generacin de cdigo sobre distintas plataformas En el futuro tiene que evolucionar para:

    Mejorar la usabilidad y documentacin Facilitar trabajo en equipo (esto requiere, entre otras facilidades,

    control de versiones) Identificacin de patrones de diseo orientado a agentes

    Juan Pavn MestrasUCM 2004 Ingeniera del Software Orientada a Agentes 83

    Bibliografa

    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). Definicin de una metodologa para el desarrollo de sistemas multiagente,

    Tesis Doctoral, UPM. 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 Autonomousagents 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, 5671.

    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.

    Russell, S. y Norvig, P. (1995) Artificial Intelligence: a modern approach. Prentice Hall. 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. Zambonelli, F., Jennings, N. y Wooldridge, M. (2003) The Gaia methodology for agent-oriented

    analysis and design. ACM TOSEM.

    Web sobre metodologas de agentes: http://ma.ei.uvigo.es/isoa/ Gmez Sanz, J.J. y Pavn, J. Methodologies for Developing Multi-Agent

    Systems, Journal of Universal Computer Science (10) 4, 359-374Juan Pavn MestrasUCM 2004 Ingeniera del Software Orientada a Agentes 84

    Bibliografa