Andrés Acuña Steven Walker O-MaSE y agentTool Andrés Acuña Steven Walker
Agenda Introducción Metodología MaSE Problemas de MaSE O-MaSE agentTool Conclusiones Referencias
Introducción Sistemas multiagente Necesidad de metodologías para el desarrollo de sistemas multiagente MaSE, O-Mase y agentTool
En el principio… Multiagent System Engineering (MaSE) [1] Diseñada para desarrollar multiagentes de propósito general Análisis Definir metas a partir de los requerimientos Definir roles necesarios para satisfacer las metas
En el principio… (cont.) Diseño Definir clases de agentes basado en los roles Un agente puede ejecutar varios roles Un rol puede ser dividido y ejecutado por varios agentes Construir conversaciones Ensamblar agentes Definir la arquitectura Definir los componentes de la arquitectura Diseño del sistema
Problemas de MaSE [2] No provee un mecanismo para modelar la interacción de los agentes con su ambiente MaSE produce un sistema multiagente con una organización definida. Estos sistemas deben ser capaces de diseñar y adaptar su organización dinámicamente MaSE no incluye el concepto de sub-equipos, todos los agentes pertenecen a una misma capa
Problemas de MaSE (cont.) Las conversaciones entre agentes se diseñan a muy bajo nivel. Entender el proceso de comunicación entre agentes se vuelve complicado agentTool no permitía que el usuario personalizara el proceso a como creyera conveniente
O-MaSE Framework [3] Organization-based Multiagent Systems Engineering Basado en el OPEN Process Framework Definido en términos de: Metamodelo Fragmentos de métodos Guías o pautas
O-MaSE Framework (cont.)
O-MaSE: Metamodelo Define los conceptos principales utilizados en los sistemas multiagente Basado en un enfoque organizacional Organización Metas Roles Agentes Modelo de dominio Políticas
O-MaSE: Metamodelo (cont.) Meta: función u objetivo de la organización Rol: posición dentro de la organización que intenta alcanzar una meta Agente: percibe el ambiente y ejecuta acciones Capacidades Planes Acciones
O-MaSE: Metamodelo (cont.) Modelo del dominio: descripción del ambiente Políticas: reglas de la organización
O-MaSE: Metamodelo (cont.)
O-MaSE: Fragmentos de métodos Define actividades a realizar durante el proceso de desarrollo de software FIPA se encarga de desarrollar (agrupar) estos fragmentos [4]
O-MaSE: Fragmentos de métodos (cont.) Definido en términos de: Escenarios Unidades de trabajo Actividades Tareas Técnicas Productores Productos Lenguajes
O-MaSE: Fragmentos de métodos (cont.) Ejemplo: Unidad de trabajo: Actividad: Modelado de Requerimientos Tarea: Modelado de metas Técnica: Descomposición de metas Productor: Modelador de metas Producto: Árbol de metas Lenguaje: UML
O-MaSE: Guías Combinar los fragmentos de métodos para obtener procesos Los procesos describen la metodología final que se va a utilizar Se especifican como (Entrada, Salida, Precondiciones, Postcondiciones) Entrada y salida: un conjunto de productos Condiciones: estado de productos y productores
O-MaSE: Ejemplo Buscador de armas de destrucción masiva Tipos de armas: Radioactivas Químicas Biológicas
O-MaSE: Ejemplo (cont.) Tareas: Modelar metas Refinar metas Modelar clases de agentes Modelar protocolo (interacción) Modelar plan
O-MaSE: Ejemplo (cont.)
O-MaSE: Ejemplo (cont.)
O-MaSE: Ejemplo (cont.)
O-MaSE: Ejemplo (cont.)
O-MaSE: Ejemplo (cont.)
agentTool [5] Plugin para Eclipse Provee los siguientes modelos de O-MaSE Modelo de metas Modelo de agentes Modelo de roles Modelo de organización Modelo de protocolos Modelo de planes Modelo de capacidades Modelo de dominio Modelo de políticas
Ejemplo con AgentTool Se tiene una granja que produce Frutas, la granja pertence a un Terrateniente, y se quiere producir ganancias a partir de la venta de una Fruta X dada. Queremos formular este problema en un SMA, usando O-MaSE
Modelo de Metas (con algo de refinamiento)
Modelo de Organización
Modelo de Roles
Modelo de Agentes
Modelo de Capacidades
Modelo de Planes (Ej)
Modelo de Protocolos (Ej)
Conclusiones OMaSE es una metodología dinámica y personalizable, en donde el diseñador escoge los módulos que considere necesarios para la definición de su arquitectura con SMA. AgentTool es una herramienta práctica para mantener centralizada la especificación de un diseño SMA. AgentTool permite realizar una validación a alto nivel de la consistencia de un diseño en SMA. Aunque FIPA tenía originalmente la idea de agrupar los fragmentos de métodos, AgenTool consiste en la primera implementación de ese concepto.
Referencias [1] S. DeLoach. M. Wood, C. Sparkman. “Multiagent Systems Engineering”, The International Journal of Software Engineering and Knowledge Engineering. Volume 11 no. 3, June 2001. [2] S. DeLoach. “Multiagent Systems Engineering of Organization-based Multiagent Systems”, 4th International Workshop on Software Engineering for Large-Scale Multi-Agent Systems. Volume 3914, Apr 2006, pp 109 - 125. [3] J. Garcia-Ojeda, S. DeLoach, Robby, W. Oyenan, J. Valenzuela. “O-MaSE: A Customizable Approach to Developing Multiagent Development Processes”. Proceedings of the 8th International Workshop on Agent Oriented Software Engineering. Honolulu HI, May 2007.
Referencias (cont.) [4] FIPA Methodology Technical Comittee, “(Methodology) Meta-model”. FIPA, URL: http://www.pa.icar.cnr.it/~cossentino/FIPAmet h/metamodel.htm. Accesado el 29 Agosto, 2010. [5] AgentTool, “The agentTool III Project”. URL: http://agenttool.cis.ksu.edu/. Última actualización: 01 Octubre, 2009.