Metodología en ZEUS Curso Doctorado Sistemas Multi-agente ZEUS Zeus es una herramienta de desarrollo de SMA. Presenta una “metodología” basada en el modelo de roles. Dicha metodología comprende un conjunto de métodos y principios para el desarrollo de agentes ZEUS. 1 ZEUS Etapas en el desarrollo Domain Analysis Stage ... Activities ... Role Modelling Explained in ... Role Modelling Guide Software Support ... Problems Design Identification of Ontology, Agents, Services & Acquaintances Case Studies Solutions Realisation Implementations Agent Definition, Co-ordination & Organisation Runtime Support Visualisation Debugging Application Realisation Guide Runtime Guide ZEUS Agent Generator ZEUS Visualiser ZEUS Análisis Modelar y entender el problema No indica la aproximación a emplear Recomienda la modelización de Roles No se ofrece soporte SW para esta fase Diseño Se determina que agentes hay Se trasladan las responsabilidades de los roles a problemas a nivel de agente No se ofrece soporte SW para esta fase 2 ZEUS Realización Crear implementaciones desde el diseño conceptual anterior Zeus provee de una herramienta para generar código Java Soporte de ejecución Se dispone de un conjunto de herramientas para ayudar a la depuración accesibles desde el agente Visualizador. ZEUS Modelo de Roles (Kendall) Cada rol describe una posición y un conjunto de responsabilidades en un cierto contexto Los roles deben: Ser modulares Alta cohesión No disponer de responsabilidades extrañas Ser completo (no triviales) Bajo acoplamiento La idea es que un agente podrá jugar uno o varios roles. En el diseño los roles se transformarán en agentes. 3 ZEUS Modelo de Roles Dominio Æ un grupo de modelos de rol Modelo de Rol Æ patrones de arquitectura Notación: Parte de la notación del diagrama de clases de UML Æ Diagrama de Roles Æ Diagrama de Colaboración ZEUS Diagrama de Roles (relaciones estáticas) Parent Role KEY Interaction Containing Role Peer Role Peer Role Multiplicity Containment Inheritance Sub-role 1 Sub-role 2 4 ZEUS Diagrama de Colaboración (relaciones dinámicas) En este diagrama sólo se expresan interacciones enumeradas según un orden preestablecido 3 Containing Role Peer Role 2 1 Peer Role Sub-role 1 or 2 Cada interacción es especificada posteriormente ZEUS Role description section Son tablas donde se describe cada rol en términos de sus obligaciones sociales y funcionalidades ROLE NAME Role Model: the model that contains this role Relationships to other roles: roles that this contains or specialises Description: A written description of this role's characteristics, abilities, responsibilities etc. Responsibilities: [1] An outgoing interaction Collaborators: ⇒ Source Role [2, 3] An incoming and outgoing interaction ⇐ ⇒ Source and Destination Role External Interfaces: An application specific activity Necessary Social Protocols: responsibilities The abilities necessary to fulfil its 5 ZEUS ZEUS Application Role Model Diagram Name Inquirer Name Server Task Agent Ability Inquirer Facilitator Name Registrant Visualiser Ability Registrant ZEUS Ejemplo de Modelo de Rol: Shared Information Space Role Model Diagram Publisher Model View Subscriber Controller 6 ZEUS Ejemplo de Modelo de Rol: Distributed Marketplace Role Model Diagram Inquirer Broker Registrant Trader Seller Buyer ZEUS Ejemplo de Modelo de Rol: Institutional Auction Role Model Diagram Auctioneer Auction Participant Accountant Bidder Doorman Seller 7 ZEUS La selección del dominio y del modelo de rol más apropiado en cada problema es el primer paso en las fases de desarrollo en ZEUS. A partir de aquí se obtienen los agentes que cumplan dichos roles. Se fijan las responsabilidades (sociales y de dominio). Se diseñan las tareas e interacciones. Se pasa a la implementación del sistema. ZEUS Ejemplo: FRUITMARKET. An Agent Trading Application 8 ZEUS FRUITMARKET Mercado sencillo de frutas Tres tipos de participantes OrchardBot: agricultor, con unos determinadas bienes pero sin capital, intenta vender sus productos con un margen mínimo del 10% SupplyBot: intermediario, con capacidad económica y determinados bienes, intenta vender sus productos con un margen mínimo del 5% ShopBot: supermercado, con pocos bienes y bastante capital, intenta vender sus productos con un margen mínimo del 5 % ZEUS FRUITMARKET Mercado abierto Se fijan unos precios base La moneda es el euro (€) 1. Análisis 2. Diseño 3. Realización 9 ZEUS FRUITMARKET. Análisis El dominio es evidentemente el Multi-Agent Trading Este contiene dos modelos de roles: Distributed Marketplace Institutional Auction Para este caso no es necesario un intermediario, parece adecuado pensar que este modelo es el adecuado ZEUS FRUITMARKET. Análisis Inquirer Distributed Marketplace Broker Test Esfera de Responsabilidad Test Punto de Interacción Registrant • Identificación de agentes • Asignación de roles Trader Buyer Seller 10 ZEUS FRUITMARKET. Análisis A través del modelo de roles podemos obtener las responsabilidades de un agente TRADER Æ que tiene asociado dicho rol Nota: Se distingue entre responsabilidades sociales (interacciones) y de dominio (tareas) ZEUS FRUITMARKET. Análisis También podemos obtener las responsabilidades de un agente BROKER Æ que tiene asociado dicho rol El caso del Visualizador sigue el modelo de rol estándar de ZEUS, por tanto se adoptará la herramienta de Visualización predefinida 11 ZEUS FRUITMARKET. Diseño Es un proceso de refinamiento Donde se mapea cada responsabilidad y se selecciona la solución más apropiada Se van construyendo unas estructuras para cada rol definido en la fase anterior. ZEUS FRUIT MARKET. Diseño (TRADER) 12 ZEUS FRUIT MARKET. Diseño (TRADER) ZEUS Cont. Domain Responsibilities FRUIT MARKET. Diseño (TRADER) 13 ZEUS FRUITMARKET. Diseño (BROKER) ZEUS FRUITMARKET. Diseño Modelización del conocimiento Consiste en: Modelar el conocimiento declarativo a usar por los roles de agente Hechos, atributos y posibles valores 14 ZEUS FRUITMARKET. Realización (implementación) Actividades Creación de la ontología Creación de los agentes Definición Descripción de tareas Organización del agente Coordinación del agente Configuración de los agentes de utilidad Configuración de tareas Implementación ZEUS FRUITMARKET. Realización (implementación) A partir de este punto se pueden emplear las herramientas que ofrece ZEUS. Por tanto la realización se verá sobre la propia herramienta de desarrollo. 15