Metodología en ZEUS ZEUS

Anuncio
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
Descargar