10-1 sma: metodologias luis otavio alvares - ii/ufrgs
TRANSCRIPT
10-1
SMA: Metodologias
Luis Otavio Alvares - II/UFRGS
10-2
Sumário
Tipos de abordagens Exemplo
Gaia
10-3
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-4
Tipos de abordagens
Métodos formais Usam métodos formais e linguagens como Z e fornecem definições para
suportar sistemas multiagentes específicas do domínio de aplicação
Foco em um tipo especial de SMA exemplo: CASSIOPEIA (para futebol de robôs)
específicas para SMA AAII SODA Tropos Gaia
10-5
Uma metodologia orientada a agentes: Gaia
10-6
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-7
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-8
GAIA: relações entre os modelos
analysis
design
requirements statement
roles modelinteractions
model
agent model services modelacquaintance
modelprojeto
análise
10-9
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-10
GAIA: conceitos da fase de análise
sistema
papéis
responsabilidades atividades protocolos
safety properties
liveliness properties
permissões
10-11
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-12
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-13
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-14
PAPÉIS: atividades
São computações associadas ao papel que podem ser realizadas pelo agente sem interação com outros agentes, individualmente.
10-15
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-16
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-17
Exemplo:
ROLE SCHEMA: CoffeeFiller
DESCRIPTION:
PROTOCOLS:
PERMISSIONS:
RESPONSIBILITIES
LIVELINESS:
SAFETY:
coffeeStatus //full or empty
changes coffeeStock //stock level of coffee
informing the workers when fresh coffee has been brewed.This role involves ensuring the coffee is kept filled and
Fill, InformWorkers, CheckStock, AwaitEmpty
reads supplied coffeeMaker //name of coffee maker
CoffeeFiller = (Fill.InformWorkers.CheckStock.AwaitEmpty)
• coffeeStock 0
10-18
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-19
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-20
Template para protocolo
purpose
initiator responder
processing
inputs
outputs
10-21
Exemplo: Modelo de Interação
TenderContract
QM CV
select which CV toaward contract to
VettingRequest
QM CV
CV QM
ask for vetting of customer
perform vetting andreturn credit rating
vettingRequirements
customerDetails
customerDetails
ratingInfo
creditRating
Definition of
Protocol VetCustomer:
10-22
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-23
Gaia: a fase de projeto
10-24
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-25
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-26
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-27
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-28
Exemplo: Acquaintance Model
CustomerAgent
CustomerServiceDivisionAgent
LegalAdvisorAgentNetworkDesignAgentVetCustomerAgent
10-29
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