370 likes | 674 Views
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
E N D
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… • MultiagentSystemEngineering (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: 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: 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
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
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 MethodologyTechnicalComittee, “(Methodology) Meta-model”. FIPA, URL: http://www.pa.icar.cnr.it/~cossentino/FIPAmeth/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.