32
David Estévez Queija Diego Pérez Montes

Trabajo Programacion Agentes

  • Upload
    kabute

  • View
    1.242

  • Download
    2

Embed Size (px)

DESCRIPTION

Trabajo Programacion Agentes

Citation preview

Page 1: Trabajo Programacion Agentes

David Estévez QueijaDiego Pérez Montes

Page 2: Trabajo Programacion Agentes

1. Estado del Arte: Frameworks2. Metodologías de Desarrollo de SMA3. Principales Líneas de Trabajo4. Futuro Próximo: artefactos5. Bibliografía

Page 3: Trabajo Programacion Agentes

Java Agend Development Framework, creado por TILAB.

Probablemente el más utilizado.Cumple con los estándares descritos por la

FIPA (Foundations of Intelligent Physical Agents).

Lenguaje de comunicación de agentes: ACL.Clara orientación a agentes para

dispositivos móviles.Arquitectura P2P.Futuro: Agentes con roles.

Page 4: Trabajo Programacion Agentes

Versión ampliada de AgentSpeak (lenguaje de programación orientado a agentes).

Orientación a BDI desde un principio.Ambiente programable.Lenguaje de comunicación de agentes:

Knowledge Query and Manipulation Language (“predecesor” de ACL).

Muchos investigadores lo consideran superado por Jade, pero sigue siendo motivo de muchos papers.

Page 5: Trabajo Programacion Agentes

SMA programados en C/C++.Alto rendimiento (en algunos casos un

speedup del 100%).Cumple con FIPA, lenguaje: ACL.Capacidad de adaptación de los agentes

virtualmente ilimitada: recompilación y reconfiguración en tiempo de ejecución (“built-in compiler”).

Orientación a agentes móviles, muchos papers sobre dispositivos empotrados (sistemas complejos completos <6MB).

Arquitectura P2P.

Page 6: Trabajo Programacion Agentes

Agency: Instancia en cada nodo de la plataforma. AMS: Páginas Blancas; DF: Páginas Amarillas. SA: Stationary Agents MA: Mobile Agents; AEE: Agent Execution Engine for Mobile Agents

(SandBox)

Page 7: Trabajo Programacion Agentes

Estudio de 7 metodologías:

1.Vowel Engineering2.MAS-CommonKADS3.BDI4.ZEUS5.MaSE6.GAIA7.INGENIAS

Page 8: Trabajo Programacion Agentes

grupo MAGMAordenación y agrupamiento de aspectos

identificados por cuatro vocales:◦ A -> agentes◦ E -> entorno◦ I -> interacciones◦ O -> organización

Page 9: Trabajo Programacion Agentes
Page 10: Trabajo Programacion Agentes

El propósito de “Vowel Engineering” es lograr librerías de componentes que den soluciones al diseño de cada uno de estos aspectos.

Vowel Enginering sólo proporciona las vocales como resumen de elementos a considerar en el desarrollo y un conjunto de tecnologías aplicadas.

Page 11: Trabajo Programacion Agentes

gira alrededor del modelo de experienciapensada para desarrollar sistemas expertos

que interactúen con el usuarioconsidera sólo dos agentes básicos: el

usuario y el sistemaplantea un desarrollo de SMA integrado con

un ciclo de vida de software, concretamente el espiral dirigido por riesgos

Page 12: Trabajo Programacion Agentes

siete modelos para la definición del sistema:◦ Agente◦ Tareas◦ Experiencia◦ Coordinación◦ Comunicación◦ Organización◦ Diseño

El modelo en sí parte de una descripción gráfica que luego se complementa con explicaciones en lenguaje natural de cada elemento

Page 13: Trabajo Programacion Agentes

B -> BeliefsD -> DesiresI -> Intentions

el agente es visto como un agente racional con un conjunto de actitudes mentales◦ Creencias, Deseos e Intenciones

el agente toma sus acciones en función de sus estados

Page 14: Trabajo Programacion Agentes

Esta aproximación es considerada como muy apropiada para agentes en entornos reales complejos y dinámicos

Elementos que dan nombre al modelo BDI:◦ Una creencia del agente sería información que

tiene el agente sobre el entorno. Componente informativo del agente.

◦ Un deseo del agente es algo que el agente quiere conseguir y que por tanto tiene preferencia. Componente de motivación del agente

Page 15: Trabajo Programacion Agentes

Los objetivos serían un subconjunto de deseos consistentes entre sí que el agente debe perseguir.

Las intenciones del agente son los objetivos elegidos. Existe un compromiso por parte del agente a conseguir sus intenciones.◦ Componente deliberativo del sistema

Page 16: Trabajo Programacion Agentes

MaSE (Multi-agent systems Software Engineering)

Parte del paradigma orientado a objetos y asume que un agente es sólo una especialización de un objeto.

se coordinan unos con otros vía conversaciones actúan proactivamente para alcanzar metas

individuales y del sistema.

Page 17: Trabajo Programacion Agentes

El proceso de desarrollo en MaSE es un conjunto de pasos.

La mayoría de los pasos se ejecutan dentro de la herramienta AgentTool.

El análisis en MaSE consta de tres pasos:◦ capturar los objetivos

diagramas de objetivos -> representan los requisitos funcionales del sistema

◦ capturar los casos de uso casos de uso -> enumeración de los casos de uso

considerados con la posibilidad de usar diagramas de secuencia para detallarlos

◦ refinar roles diagramas de roles -> identifica roles, tareas asociadas a

roles y comunicaciones entre roles y entre tareas

Page 18: Trabajo Programacion Agentes
Page 19: Trabajo Programacion Agentes

AgentTool permite generar código automáticamente a partir de la especificación del sistema, que en MaSe es el conjunto final de diagramas.

La generación de código es independiente del lenguaje de programación utilizado, ya que se realiza recorriendo las estructuras de datos generadas en la especificación y generando texto como salida

Page 20: Trabajo Programacion Agentes

propone un desarrollo en cuatro etapas:◦ el análisis del dominio◦ el diseño de los agentes◦ la realización de los agentes (herramienta)◦ el soporte en tiempo de ejecución (herramienta)

herramienta:◦ creación de un sistema ya ejecutable:

Visor de Sociedad Herramienta de Control Generadores de Informes

Page 21: Trabajo Programacion Agentes

Objetivo:◦ obtener un sistema que maximice alguna medida

de calidad global◦ Creación de un diseño lo suficientemente detallado

para ser implementado directamenteSólo se busca especificar cómo una

sociedad de agentes colabora para alcanzar los objetivos del sistema (incluyendo tareas individuales)

Page 22: Trabajo Programacion Agentes

nivel de abstracción demasiado altoel esfuerzo a invertir para pasar de una

especificación GAIA hasta su implementación sea alto

Page 23: Trabajo Programacion Agentes

INGENIAS define un conjunto de meta-modelos (una descripción de alto nivel de qué elementos tiene un modelo) con los que hay que describir el sistema

Los meta-modelos indican qué hace falta para describir:◦ agentes aislados◦ organizaciones de agentes◦ el entorno◦ interacciones entre agentes o roles◦ tareas◦ objetivo

Page 24: Trabajo Programacion Agentes

lenguaje de meta-modelado, el GOPRR (Graph, Object, Property, Relationship, and Role).

construcción:◦ entidades y relaciones entre entidades

la instanciación de estos meta-modelos produce diagramas similares a UML (para agentes)

Page 25: Trabajo Programacion Agentes
Page 26: Trabajo Programacion Agentes

herramienta para modelado visual:◦ INGENIAS IDE

almacena la especificación del sistema usando XML

desde la especificación en XML se puede:◦ generar código◦ generar la documentación

el proceso de desarrollo que propone INGENIAS es excesivo cuando se trata de desarrollos reducidos

Page 27: Trabajo Programacion Agentes

Mejora en depuración y traceo de los BDI (Belief-Desire-Intentio).

Nueva capa de abstracción de ACL (Albratross), compromisos para complementar a BDI.

Cumple con FIPA, lenguaje: ACL.Algoritmia avanzada en la gestión de

recursos compartidos entre agentes.Uso de artefactos (siguiente punto).

Page 28: Trabajo Programacion Agentes

Hasta ahora “sólo” comunicaciones e interacciones entre agentes.

Intento de plasmar el “mundo real”: los humanos interactuamos con objetos (artefactos), lo que es un signo inteligencia.

Los artefactos de un SMA son una abstracción de los reales que puede ser explotado para conseguir una meta.

Acciones básicas: Creación y eliminación dinámica (instancias). Descubrimiento de artefactos. Compartición. Uso. Manipulación.

Page 29: Trabajo Programacion Agentes

Componentes de un artefacto (SMA):◦ Cualidades.◦ Intefaz de Uso.◦ Estado.◦ Eventos.

Page 30: Trabajo Programacion Agentes

Framework CARTAGO.◦ Funciones disponibles:

Creación de artefacto: createArtifact(Name,TypeID,Conf,WspID)

Descubrimiento de artefactos disponibles: getArtifactID(Name,WspID):AID

Eliminar instancia de artefacto: disposeArtifact(AID)

Uso de artefactos:◦ Uso del objeto enfocado:

execOp(AID,Op(Name,Params),SID)◦ "Enfocar": focus(AID,SID)◦ "Desenfocar": unfocus(AID,ID)◦ Visualizar estado del artefacto:

getObsState(AID):ObsState

Page 31: Trabajo Programacion Agentes

La tecnología de Agentes es bastante madura, aún así no parece salir de ser “cutting edge”.

Cada metodología se especializa en áreas concretas. No existe una metodología única y válida en todos los ámbitos.

La aplicación de metodologías depende de la formación que tenga su usuario final (son interpretadas en función de los intereses de quien las aplica).

Todo parece apuntar a los artefactos, roles y entornos como futuro próximo y cómo tema de investigación.

La programación de agentes ha evolucionado en 2 áreas: los agentes móviles que han ganado nivel de abstracción y los agentes de “bajo nivel”.

Page 32: Trabajo Programacion Agentes

F. Bellifemine, G. Caire, A. Poggi, G. Rimassa, Jade Whitepaper, EXP in search of innovation, número 3 - volumen 3, Septiembre 2003

Matteo Baldoni, Guido Boella, Valerio Genovese, Roberto Grenna, Andrea Mugnaini and Leon van der Torre. A Middleware for modeling Organizations and Roles in Jade, Seventh international Workshop on Programming Multi-Agent Systems, Mayo 2009

Alessandro Ricci and Mirko Viroli. A Formal Model for Artifact-Based Environments in MAS Programming, Seventh international Workshop on Programming Multi-Agent Systems, Mayo 2009

Bo Chen, Harry H. Cheng,, and Joe Palen, Mobile-C: a mobile agent platform for mobile C/C++ agents, Wiley Interscience DOI 10.1002/spe 742, 13 de Julio de 2006

Inteligencia Artificial, Revista Iberoamericana de Inteligencia Artificial. No.18 (2003), pp. 51-63.

ISSN: 1137-3601. © AEPIA (http://www.aepia.dsic.upv.es/)