SMA: Metodologias
Luis Otavio Alvares - II/UFRGS
10-1
Sumário


Tipos de abordagens
Exemplo

Gaia
10-2
Tipos de abordagens

Orientadas a objeto


estendem /adaptam técnicas ou metodologias
existentes
Baseadas em conhecimento

construídas a partir de técnicas de modelagem da
engenharia do conhecimento
10-3
Tipos de abordagens

Métodos formais


específicas do domínio de aplicação



Usam métodos formais e linguagens como Z e fornecem
definições para suportar sistemas multiagentes
Foco em um tipo especial de SMA
exemplo: CASSIOPEIA (para futebol de robôs)
específicas para SMA




AAII
SODA
Tropos
Gaia
10-4
Uma metodologia orientada a
agentes: Gaia
10-5
Porque uma nova metodologia?

Agentes representam um novo nível de abstração que “... pode
ser utilizado pelos desenvolvedores de software para mais
naturalmente entender , modelar e desenvolver uma classe
importante de sistemas distribuídos.”

Técnicas de desenvolvimento de software existentes não são
desejadas para a tarefa porque falham em capturar aspectos
específicos de SMA:

comportamento flexível, autônomo

riquesa de interações

complexidade da estrutura organizacional
10-6
GAIA: domínios característicos





Cada agente faz uso de recursos computacionais
significativos (coarse-grained)
Ao agentes são heterogêneos (podem ser desenvolvidos com
diferentes linguagens de programação, arquiteturas e
técnicas)
A estrutura organizacional do sistema é estática: as
interações entre os agentes não se alteram em tempo de
execução
As habilidades dos agentes e suas funcionalidades são
estáticas: não se alteram em tempo de execução
número relativamente pequeno de agentes: menos de 100
10-7
GAIA: relações entre os modelos
requirements
statement
roles model
agent model
interactions
model
services model
acquaintance
model
análise
analysis
projeto
design
10-8
GAIA: fase de análise


Objetivo: desenvolver um entendimento do sistema
e suas estruturas (sem referência a qualquer
detalhe de implementação).
O entendimento do sistema é obtido através de sua
organização: coleção de papéis e o relacionamento
entre os papéis.
10-9
GAIA: conceitos da fase de análise
sistema
papéis
responsabilidades
permissões
liveliness
properties
atividades
protocolos
safety
properties
10-10
GAIA: papéis (roles)
Considere uma organização humana, como uma empresa por
exemplo:

a empresa tem papéis com o de presidente, vice-presidente,
gerentes, vendedores, faxineiros, etc.

durante a existência da empresa, várias pessoas podem
passar por cada um dos papéis. Uma pessoa pode ter um
papel (presidente) ou vários simultaneamente (servir café e
limpar a empresa)

Um papel é definido por 4 atributos: responsabilidades,
permissões, atividades e protocolos
10-11
PAPÉIS: Responsabilidades



Um papel serve para fazer algo
As responsabilidades determinam as
funcionalidades e são os atributos-chave dos papéis
São divididas em dois tipos:


propriedades vivas (liveness): definem ações que os
agentes devem executar dadas algumas condições.
Significa “algo bom acontece”
propriedades de segurança (safety): significa que “nada de
ruim acontece” (p.ex: garantir que a temperatura do reator
permaneça entre 100 e 150 graus)
10-12
PAPÉIS: permissões




Para realizar as responsabilidades, um papel tem
um conjunto de permissões
São os “direitos” associados a um papel
identificam os recursos que estão disponíveis ao
papel para realizar suas responsabilidades
tendem a ser recursos de informação. P.ex: um
papel pode ter associado o direito de acessar ou
modificar certas informações, ou a habilidade de
gerar informação
10-13
PAPÉIS: atividades

São computações associadas ao papel que podem
ser realizadas pelo agente sem interação com
outros agentes, individualmente.
10-14
PAPÉIS: protocolos


Definem como um papel pode interagir com outros
papéis
Por exemplo, o papel de gerente pode ter associado
a si o protocolo de Redes de Contrato (contract net)
10-15
O modelo de papéis

Identifica os papéis importantes para o
sistema.
ROLE SCHEMA:
name of role
DESCRIPTION:
short English description of the role
PROTOCOLS:
protocols in which the role plays a part
PERMISSIONS:
“rights” associated with the role
RESPONSIBILITIES
LIVELINESS:
liveliness responsibilities
SAFETY:
safety responsibilities
10-16
Exemplo:
ROLE SCHEMA:
CoffeeFiller
DESCRIPTION:
This role involves ensuring the coffee is kept filled and
informing the workers when fresh coffee has been brewed.
PROTOCOLS:
Fill, InformWorkers, CheckStock, AwaitEmpty
PERMISSIONS:
reads
changes
supplied coffeeMaker //name of coffee maker
coffeeStatus
//full or empty
coffeeStock
//stock level of coffee
RESPONSIBILITIES
LIVELINESS:
CoffeeFiller = (Fill.InformWorkers.CheckStock.AwaitEmpty)
SAFETY:
• coffeeStock  0
10-17
O modelo de interações



Existem relações e interdependências entre papéis
numa organização multiagente que são
fundamentais no funcionamento do sistema
as ligações entre os papéis são representadas no
modelo de interações
consiste de um conjunto de definições de protocolo:
padrão de interação formalmente definido e com a abstração
de seqüência de passos. Significa que a atenção está focada
na natureza e no objetivo da interação e não na ordem
precisa de uma troca de mensagens
10-18
Protocolo de interação

Uma definição de protocolo consiste dos seguintes
atributos:

objetivo: breve descrição textual da natureza da interação.Ex:
“pedido de informação”, “atribuição de tarefa”



iniciador: o papel responsável por iniciar a interação
respondente: o papel com quem o iniciador interage
entradas: informação usada pelo papel iniciador durante a
interação

saídas: informação fornecida pelo/para o respondente durante a
interação

processamento: breve descrição textual do processamento
realizado pelo iniciador durante a interação
10-19
Template para protocolo
purpose
initiator
responder
inputs
processing
outputs
10-20
Exemplo: Modelo de Interação
TenderContract
QM
Definition of
CV
select which CV to
award contract to
vettingRequirements
Protocol VetCustomer:
VettingRequest
QM
CV
ask for vetting of
customer
customerDetails
customerDetails
CV
QM
perform vetting and
return credit rating
ratingInfo
creditRating
10-21
O processo de análise
1. Identificar os papéis do sistema

saída: o modelo de papéis
2. Identificar e documentar os protocolos

saída: modelo de interações
3. Elaborar o modelo de papéis baseado nos modelos
de interações

saída: modelo de papéis completo
4. Iterar os passos 1-3.
10-22
Gaia: a fase de projeto
10-23
Projeto



Objetivo: transformar o modelo da análise em um
nível de abstração suficientemente baixo para
permitir que técnicas tradicionais de projeto
possam ser aplicadas.
Aborda o que é necessário em cada agente
individual, não como os agentes realizam seus
serviços.
Gera 3 modelos:



modelo de agentes (agent model)
modelo de serviços (services model)
modelo de ligações? (acquaintance model)
10-24
Projeto: modelo de agentes

Identifica os tipos de agentes do sistema
e instâncias de agentes

Pode ou não haver uma correspondência
um-para-um entre tipos e papéis
10-25
Projeto: modelo de serviços




Identifica os serviços associados com cada papel
Especifica as principais propriedades desses serviços
Identifica entradas, saídas, pré-condições, e pós-condições para
cada serviço
 entradas e saídas são derivados do modelo de protocolos
 pré e pós-condições são derivadas das safety
properties
o modelo de serviços não determina a forma de implementação
dos serviços
10-26
Projeto: “Acquaintance Model”




Define os canais de comunicação entre os tipos de
agente
Não define as mensagens ou quando são enviadas
Identifica possíveis gargalos na comunicação
Consiste de um grafo dirigido entre os tipos de
agente
10-27
Exemplo: Acquaintance Model
CustomerAgent
CustomerServiceDivisionAgent
VetCustomerAgent
NetworkDesignAgent
LegalAdvisorAgent
10-28
Projeto: o processo
1. Criar um modelo de agentes:


agregar papéis aos tipode de agentes e refinar para formar
uma hierarquia de tipos de agente
documentar as instâncias de cada tipo de agente
2. Desenvolver o modelo de serviços examinando os
protocolos e as propriedades safety and liveliness
dos papéis
3. Desenvolver um acquaintance
model a partir do modelo de agentes e de
interações
10-29
Download

Metodologias_GAIA