Metodología en ZEUS - Technical University of Valencia · 2002. 10. 14. · 1 Metodología en ZEUS...
Transcript of Metodología en ZEUS - Technical University of Valencia · 2002. 10. 14. · 1 Metodología en ZEUS...
-
1
Metodología en ZEUS
Curso DoctoradoSistemas Multi-agente
ZEUSZeus 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.
-
2
ZEUSEtapas en el desarrollo
Domain Analysis Design Realisation
Role Modelling
Implem-entations Runtime
Support
Identification of Ontology, Agents, Services & Acquaintances
Agent Definition, Co-ordination & Organisation
Visualisation Debugging
Stage ...
Activities ...
Explained in ... Role
Modelling Guide
Case Studies
Problems Solutions
Application Realisation
Guide
Runtime Guide
ZEUS Agent Generator
ZEUS Visualiser
Software Support ...
ZEUSAnálisis
Modelar y entender el problemaNo indica la aproximación a emplearRecomienda la modelización de RolesNo se ofrece soporte SW para esta fase
DiseñoSe determina que agentes hay Se trasladan las responsabilidades de los roles a problemas a nivel de agenteNo se ofrece soporte SW para esta fase
-
3
ZEUSRealización
Crear implementaciones desde el diseño conceptual anteriorZeus provee de una herramienta para generar código Java
Soporte de ejecuciónSe dispone de un conjunto de herramientas para ayudar a la depuración accesibles desde el agente Visualizador.
ZEUSModelo de Roles (Kendall)
Cada rol describe una posición y un conjunto de responsabilidades en un cierto contextoLos roles deben:
Ser modularesAlta cohesiónNo 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.
-
4
ZEUSModelo de Roles
Dominio un grupo de modelos de rolModelo de Rol patrones de arquitectura
Notación:Parte de la notación del diagrama de clases de UML
Diagrama de RolesDiagrama de Colaboración
ZEUSDiagrama de Roles (relaciones estáticas)
Peer Role
Sub-role 1
Containing Role Peer Role
Sub-role 2
KEY
Interaction
Multiplicity
Containment
Parent Role
Inheritance
-
5
ZEUSDiagrama de Colaboración (relaciones dinámicas)
En este diagrama sólo se expresan interacciones enumeradas según un orden preestablecido
Cada interacción es especificada posteriormente
Containing Role Peer Role Peer Role 1
2
3
Sub-role 1 or 2
ZEUSRole description section
Son tablas donde se describe cada rol en términosde 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: Collaborators: [1] An outgoing interaction ⇒ Source Role [2, 3] An incoming and outgoing interaction ⇐ ⇒ Source and Destination
Role
External Interfaces: An application specific activity Necessary Social Protocols: The abilities necessary to fulfil its responsibilities
-
6
ZEUSZEUS Application Role Model Diagram
Visualiser Task Agent
Facilitator
Name Server Name Inquirer Name Registrant
Ability Inquirer Ability Registrant
ZEUSEjemplo de Modelo de Rol:
Shared Information Space Role Model Diagram
Controller
Publisher
View Model
Subscriber
-
7
ZEUSEjemplo de Modelo de Rol:
Distributed Marketplace Role Model Diagram
Inquirer
Seller Buyer
Trader
Broker Registrant
ZEUSEjemplo de Modelo de Rol:
Institutional Auction Role Model Diagram
Accountant
Seller Bidder
Auctioneer
Auction Participant Doorman
-
8
ZEUSLa 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.
ZEUSEjemplo:
FRUITMARKET. An Agent Trading Application
-
9
ZEUSFRUITMARKET
Mercado sencillo de frutasTres 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 %
ZEUSFRUITMARKET
Mercado abiertoSe fijan unos precios baseLa moneda es el euro (€)
1. Análisis
2. Diseño
3. Realización
-
10
ZEUSFRUITMARKET. Análisis
El dominio es evidentemente el Multi-Agent TradingEste contiene dos modelos de roles:
Distributed MarketplaceInstitutional Auction
Para este caso no es necesario un intermediario, parece adecuado pensar que este modelo es el adecuado
ZEUSFRUITMARKET. Análisis
Distributed Marketplace
Inquirer
Seller Buyer
Trader
Broker Registrant
• Identificación de agentes• Asignación de roles
Test Esfera de ResponsabilidadTest Punto de Interacción
-
11
ZEUSFRUITMARKET. AnálisisA 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)
ZEUSFRUITMARKET. AnálisisTambié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
-
12
ZEUSFRUITMARKET. Diseño
Es un proceso de refinamientoDonde se mapea cada responsabilidad y se selecciona la solución más apropiadaSe van construyendo unas estructuras para cada rol definido en la fase anterior.
ZEUSFRUIT
MARKET. Diseño
(TRADER)
-
13
ZEUSFRUIT
MARKET. Diseño
(TRADER)
ZEUSFRUIT
MARKET. Diseño
(TRADER)
Cont. Domain Responsibilities
-
14
ZEUSFRUITMARKET. Diseño (BROKER)
ZEUSFRUITMARKET. Diseño
Modelización del conocimiento
Consiste en:
Modelar el conocimiento declarativo a usar por los roles de agente
Hechos, atributos y posibles valores
-
15
ZEUSFRUITMARKET. Realización (implementación)
ActividadesCreación de la ontologíaCreación de los agentes
DefiniciónDescripción de tareasOrganización del agenteCoordinación del agente
Configuración de los agentes de utilidadConfiguración de tareasImplementación
ZEUSFRUITMARKET. 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.