trabajo programacion agentes

Post on 06-May-2015

1.242 Views

Category:

Technology

2 Downloads

Preview:

Click to see full reader

DESCRIPTION

Trabajo Programacion Agentes

TRANSCRIPT

David Estévez QueijaDiego Pérez Montes

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

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.

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.

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.

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)

Estudio de 7 metodologías:

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

grupo MAGMAordenación y agrupamiento de aspectos

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

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.

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

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

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

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

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

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.

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

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

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

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)

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

especificación GAIA hasta su implementación sea alto

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

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)

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

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

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.

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

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

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

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

top related