10-1 SMA: Metodologias Luis Otavio Alvares - II/UFRGS.

29
10-1 SMA: Metodologias Luis Otavio Alvares - II/UFRGS

Transcript of 10-1 SMA: Metodologias Luis Otavio Alvares - II/UFRGS.

Page 1: 10-1 SMA: Metodologias Luis Otavio Alvares - II/UFRGS.

10-1

SMA: Metodologias

Luis Otavio Alvares - II/UFRGS

Page 2: 10-1 SMA: Metodologias Luis Otavio Alvares - II/UFRGS.

10-2

Sumário

Tipos de abordagens Exemplo

Gaia

Page 3: 10-1 SMA: Metodologias Luis Otavio Alvares - II/UFRGS.

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

Page 4: 10-1 SMA: Metodologias Luis Otavio Alvares - II/UFRGS.

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

Page 5: 10-1 SMA: Metodologias Luis Otavio Alvares - II/UFRGS.

10-5

Uma metodologia orientada a agentes: Gaia

Page 6: 10-1 SMA: Metodologias Luis Otavio Alvares - II/UFRGS.

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

Page 7: 10-1 SMA: Metodologias Luis Otavio Alvares - II/UFRGS.

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

Page 8: 10-1 SMA: Metodologias Luis Otavio Alvares - II/UFRGS.

10-8

GAIA: relações entre os modelos

analysis

design

requirements statement

roles modelinteractions

model

agent model services modelacquaintance

modelprojeto

análise

Page 9: 10-1 SMA: Metodologias Luis Otavio Alvares - II/UFRGS.

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.

Page 10: 10-1 SMA: Metodologias Luis Otavio Alvares - II/UFRGS.

10-10

GAIA: conceitos da fase de análise

sistema

papéis

responsabilidades atividades protocolos

safety properties

liveliness properties

permissões

Page 11: 10-1 SMA: Metodologias Luis Otavio Alvares - II/UFRGS.

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

Page 12: 10-1 SMA: Metodologias Luis Otavio Alvares - II/UFRGS.

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)

Page 13: 10-1 SMA: Metodologias Luis Otavio Alvares - II/UFRGS.

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

Page 14: 10-1 SMA: Metodologias Luis Otavio Alvares - II/UFRGS.

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.

Page 15: 10-1 SMA: Metodologias Luis Otavio Alvares - II/UFRGS.

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)

Page 16: 10-1 SMA: Metodologias Luis Otavio Alvares - II/UFRGS.

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

Page 17: 10-1 SMA: Metodologias Luis Otavio Alvares - II/UFRGS.

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

Page 18: 10-1 SMA: Metodologias Luis Otavio Alvares - II/UFRGS.

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

Page 19: 10-1 SMA: Metodologias Luis Otavio Alvares - II/UFRGS.

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

Page 20: 10-1 SMA: Metodologias Luis Otavio Alvares - II/UFRGS.

10-20

Template para protocolo

purpose

initiator responder

processing

inputs

outputs

Page 21: 10-1 SMA: Metodologias Luis Otavio Alvares - II/UFRGS.

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:

Page 22: 10-1 SMA: Metodologias Luis Otavio Alvares - II/UFRGS.

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.

Page 23: 10-1 SMA: Metodologias Luis Otavio Alvares - II/UFRGS.

10-23

Gaia: a fase de projeto

Page 24: 10-1 SMA: Metodologias Luis Otavio Alvares - II/UFRGS.

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)

Page 25: 10-1 SMA: Metodologias Luis Otavio Alvares - II/UFRGS.

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

Page 26: 10-1 SMA: Metodologias Luis Otavio Alvares - II/UFRGS.

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

Page 27: 10-1 SMA: Metodologias Luis Otavio Alvares - II/UFRGS.

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

Page 28: 10-1 SMA: Metodologias Luis Otavio Alvares - II/UFRGS.

10-28

Exemplo: Acquaintance Model

CustomerAgent

CustomerServiceDivisionAgent

LegalAdvisorAgentNetworkDesignAgentVetCustomerAgent

Page 29: 10-1 SMA: Metodologias Luis Otavio Alvares - II/UFRGS.

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