linguagens de modelagem para sma

88
Linguagens de Modelagem para SMA Viviane Torres da Silva [email protected] http://www.ic.uff.br/~viviane.silva/isma

Upload: larya

Post on 05-Jan-2016

23 views

Category:

Documents


0 download

DESCRIPTION

Linguagens de Modelagem para SMA. Viviane Torres da Silva [email protected] http://www.ic.uff.br/~viviane.silva/isma. Linguagens de Modelagem para SMA. Motivação: necessidade de modelagem das entidade de um SMA (agentes, organizações, objetos,...) - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Linguagens de Modelagem para SMA

Linguagens de Modelagem para SMA

Viviane Torres da [email protected]

http://www.ic.uff.br/~viviane.silva/isma

Page 2: Linguagens de Modelagem para SMA

Linguagens de Modelagem para SMA

Motivação: necessidade de modelagem das entidade de um SMA (agentes, organizações, objetos,...)

– UML não dá suporte para a modelagem de SMA– Agentes e objetos possuem características / propriedades diferentes

Objetivo: propor uma linguagem onde os elementos de primeira ordem fossem as entidades de um SMA

Solução: linguagens de modelagem que estendem UML– AUML, AORML, Transformação de Modelos + UML, MAS-ML, AML

.... e linguagens de modelagem que não estendem UML– ANote

Page 3: Linguagens de Modelagem para SMA

AUML

Page 4: Linguagens de Modelagem para SMA

AUML – Agente UML

Primeiro objetivo era especificar protocolos de interação entre agentes (AIP)

1o passo foi estender diagrama de seqüência de UML para modelar as interações entre agentes

Em seguida, estenderam outros diagramas

Page 5: Linguagens de Modelagem para SMA

Diagramas estendido

Diagrama de seqüência (detalhado) e colaboração Diagrama de atividades e de estados Diagrama de classes Diagrama de objetos Pacotes Diagrama de componentes Diagrama de deployment

Page 6: Linguagens de Modelagem para SMA

Diagrama de sequência de UML

Tempo(top-down) ObjetoA

ObjetoB

[se novo]<<create>>

mensagem

mensagem (auto delegação)

valor de retorno

<<destroy>>

(caixa de)ativação

condição de guarda

mensagem síncrona

objeto

símbolo de destruição

linha de vida

Page 7: Linguagens de Modelagem para SMA

Diagrama de sequência de AUML: Modelagem de Mensagens

ato de comunicação (ato de fala)(não chamamos de método)

O inclusivo O exclusivoparalelismo

<agente>/<papel> : <classe>

Viviane / Professor : AgentUsuarioVivianeViviane / Professor: AgentUsuario

Problemas: Como se modela a instância de papel? Onde o agente está executando o papel? Onde o agente está?

Page 8: Linguagens de Modelagem para SMA
Page 9: Linguagens de Modelagem para SMA

Diagrama de sequência de AUML (Exemplo)

Agente A desempenhando o papel customer

Agente A desempenha o papel negotiator

representaçãodo mudançade papel

Problemas: Como se modela a criação de uma instância de papel? Como se modela que o agente cancelou um de seus papéis? Como se modela a organização onde está o agente?

Page 10: Linguagens de Modelagem para SMA

Diagrama de seqüência AUML: Modelagem de Protocolo

protocolo

ato de comunicação (ato de fala)(não chamamos de método)

Page 11: Linguagens de Modelagem para SMA

Possibilidades de comunicação

Protocolo

Indica que este protocolo pode ser utilizado como um template para criar outros protocolos

Page 12: Linguagens de Modelagem para SMA

Diagrama de colaboração de UML

Objeto A

Objeto C

Objeto B

1:<create>2:mensagem5:retorno

3:mensagem4:mensagem

Page 13: Linguagens de Modelagem para SMA

Diagrama de colaboração de AUML (Exemplo)

representaçãoda mudança de papel <agente>/<papel> : <classe>

mensagem

Page 14: Linguagens de Modelagem para SMA

Diagrama de atividades de UML

Utilizado para representar as atividades e a transições entre as atividades

Atividade 1

Atividade 2.1

Atividade 2.4Atividade 2.3

Atividade 3

Atividade 2.2

Atividade 4

Partição 1 agrupa as atividadesque estão relacionadas

divisão

união

atividade

Partição2

Page 15: Linguagens de Modelagem para SMA

Diagrama de atividades de AUML

Utilizado para representar as atividades associadas a um protocolo ou às atividades de um papel

papel

atividade

Problemas: Como se modela a organização onde os papéis são executados?

Page 16: Linguagens de Modelagem para SMA

Diagrama de estado de UML

estado

Estado 1 Estado 2transição1

Estado 3transição2

transição3

transição4

Page 17: Linguagens de Modelagem para SMA

Diagrama de estado de AUML

Utilizado para representar os estados do sistema e as suas transições

estado

agenteou papel

Page 18: Linguagens de Modelagem para SMA

Diagrama de classe em UML

Classe 1

atributo1atributo2...

metodo1metodo2metodo3...

atributos

métodos

nome da classe

Page 19: Linguagens de Modelagem para SMA

ISMA

Diagrama de classesde AUML

atos de fala que podemser utilizados nas mensagens

que recebe e nas mensagens que envia

Nome da classe de agente e os papéis que os agentes podem desempenhar

= atributos

comportamento público

comportamento privado

a organização onde o agente executa e as condiciones para entrar e sair da organização

Problemas: Só pode executar em uma organização? Se pode executar em mais de una organização, qual papel desempenha em cada uma?

Descrição do que pode fazer

Page 20: Linguagens de Modelagem para SMA

Diagrama de classesde AUML

visão da organização

visão da organização

visão da organização

visão de interação

visão do ambiente

visão de agente

visão de agente

Representação das crenças e objetivos

como objetos externos ao agente

Page 21: Linguagens de Modelagem para SMA

Diagrama de classes de AUML

organizaçãoProblemas: Como o agente troca de organização se a organização é um pacote e a classe agente está definida dentro deste pacote?

Page 22: Linguagens de Modelagem para SMA

Diagrama de componentes de UML = AUML

Page 23: Linguagens de Modelagem para SMA

Diagrama de implantação de UML

Page 24: Linguagens de Modelagem para SMA

Diagrama de implantação de AUML

Problemas: Se na AUML os agentes podem trocar de ambiente, não deveria ser possível modelar um agente trocar de ambiente em um diagrama de seqüência?

Page 25: Linguagens de Modelagem para SMA

Representando Organizações

Problemas: Não deveria uma instância de papel ser sempre desempenhada em uma organização? Não deveria uma instância de papel ser sempre desempenhada por um agente?

Page 26: Linguagens de Modelagem para SMA

Diagrama de atividades de AUML

papel

organização

agente

Problemas: Como se representa o ambiente?

Page 27: Linguagens de Modelagem para SMA

Diagrama de classe

Page 28: Linguagens de Modelagem para SMA

Os estados dos papéis

Page 29: Linguagens de Modelagem para SMA

Os estados dos papéis

Page 30: Linguagens de Modelagem para SMA

Os estados dos papéis

Page 31: Linguagens de Modelagem para SMA

ANote

Page 32: Linguagens de Modelagem para SMA

Criando a linguagem

Definir um meta-modelo conceitual

Definir visões guiadas pela abstração

Detalhar o ambiente do sistema de agentes usando ontologia

Permitir a especificação de cenários de adaptação

Usar abstrações totalmente centradas no conceito de agentes

Page 33: Linguagens de Modelagem para SMA

ANote

Linguagem de notação lightweight e orientada a agentes

Foco

– Especificação de sistemas com computação distribuída, agentes e

representação de conhecimento (ontologias)

– Características: fraco acoplamento de mensagens, uso de conteúdo

anotado e pouca interação homem-máquina

Objetivo

– Centrada no conceito de agentes

– Orientada a objetivos

– Visões

– Características de agentes

Page 34: Linguagens de Modelagem para SMA

Meta-modelo Conceitual do ANote

Page 35: Linguagens de Modelagem para SMA

ANote: Conceitos

Objetivo (Goal)

– Um propósito do sistema. define alguma funcionalidade que

deve ser entregue por um ou mais Agentes– Formam o ponto de partida para a modelagem do SMA com o

ANote, organizados em uma hierarquia de especialização

Agente (Agent)

– Módulo que executa Ações e é também a abstração principal

do paradigma de agentes– Pode interagir com outros Agentes– Possui uma percepção, ou conhecimento, limitada dos Recursos

do ambiente

Page 36: Linguagens de Modelagem para SMA

ANote: Conceitos

Recurso (Resource)

– Representa as entidades não-agentes que descrevem o

ambiente

– Formam o conjunto de conhecimento (dados / conteúdo) que os

Agentes manipulam enquanto executam Ações

Cenário (Scenario)

– Ilustra um comportamento (seqüência de Ações) de um Agente

enquanto este procura alcançar um Objetivo em um

determinado contexto (estado do sistema)

– Pode existir contextos normais ou variantes

Page 37: Linguagens de Modelagem para SMA

ANote: Conceitos

Ação (Action)

– É uma computação que resulta em uma mudança no estado de

um Agente

– Há dois tipos de Ações: Ação_Direta (DirectAction) e

Ação_Adaptativa (AdaptiveAction)

Mensagem (Message)

– É uma passagem de informação entre dois Agentes

– Possui protocolo e é, usualmente, assíncrona

Page 38: Linguagens de Modelagem para SMA

ANote: Conceitos

Organização (Organization)

– Define um grupo de Agentes que entregam um Serviço

– Serviços são entregues e Objetivos são alcançados

coletivamente pelos Agentes que constituem a Organização

Cada conceito define uma perspectiva ou visão

ANote define sete visões, cada uma com sua própria representação (diagrama)

Page 39: Linguagens de Modelagem para SMA

Visiones

Cada conceito principal define uma perspectiva ou visão

ANote define sete visiones, cada uma com uma representação (diagrama) própria

Visões de objetivo, agente e ontologia modelam a parte estrutural do SMA

Visões de cenário, interação, planejamento e organização modelam a parte dinâmica do SMA

Page 40: Linguagens de Modelagem para SMA

Visão de Objetivos

Oferece uma identificação inicial de uma árvore de objetivos que descrevem as funções executadas pelos agentes

São especificados por meio de elaborações, descrições de processo e do domínio do problema (decomposição funcional)

Page 41: Linguagens de Modelagem para SMA

Exemplo

Sistema de seguros baseado na Web

Rodadas de negociação

– Recuperação das preferências dos clientes

– Propaganda dos produtos

– Envio de propostas

– Realizar ou abortar as negociações

Page 42: Linguagens de Modelagem para SMA

Visão de Objetivos

Page 43: Linguagens de Modelagem para SMA

Visão de Agentes

Especifica os tipos de agentes (papéis) da solução multi-agente.

Mostra os seus relacionamentos(formando a base estrutural do sistema)

São especificados a partir da sub-divisão lógica dos objetivos funcionais do sistema

Page 44: Linguagens de Modelagem para SMA

Visão de Agentes

Page 45: Linguagens de Modelagem para SMA

Visão de Ontología

Identifica os componentes não-agentes do sistema, especificados como uma ontologia

São especificados a partir dos recursos do ambiente do sistema, seus relacionamentos e operações (abordagem orientada a objetos)

Notação: Diagrama de Classes de UML

Page 46: Linguagens de Modelagem para SMA

Visão de Ontología

Page 47: Linguagens de Modelagem para SMA

Visão de Cenários

Captura o comportamento dos agentes em contextos específicos

Descreve como os objetivos são alcançados, mostrando a ordenação de ações e eventos

Serve para especificar o plano usual (normal) de ação e os caminhos alternativos (contextos emergentes)

Mostra os agentes, as interações e os planos envolvidos para alcançar um objetivo

Notación: – Tabla de escenarios

Page 48: Linguagens de Modelagem para SMA

Visão de Cenários

Page 49: Linguagens de Modelagem para SMA

Visão de Planejamento (Ação)

Especifica as ações que um agente deve percorrer para computar um plano de ação (derivado de um cenário que ilustrou o objetivo)

Modela a execução interna dos agentes

Page 50: Linguagens de Modelagem para SMA

Visão de Planejamento (Ação)

Page 51: Linguagens de Modelagem para SMA

Visão de Interação (Mensagem)

Mostra a organização estrutural dos agentes que enviam e recebem mensagens enquanto executam planos de ações

Permite a modelagem de protocolos de interação (grafos de conversação)

Page 52: Linguagens de Modelagem para SMA

Visão de Interação (Mensagem)

Page 53: Linguagens de Modelagem para SMA

Visão de Organização

Especifica uma unidade de implementação que oferece serviços (conjunto de objetivos), acessados por uma interface (conjunto de protocolos de mensagem)

Não existe uma abordagem para se dividir os agentes em organizações lógicas (não é propriedade da abstração, mas uma decisão arbitrária)

Page 54: Linguagens de Modelagem para SMA

MAS-ML

Page 55: Linguagens de Modelagem para SMA

MAS-ML

Estende o meta-modelo de UML com base no framework conceitual TAO

Meta-modelo MAS-ML estende o meta-modelo de UML– Novos estereótipos

– Novas meta-classes

Page 56: Linguagens de Modelagem para SMA

Camada de meta-modelo

Camada de modelo de domínio

Camada de meta-meta-modelo

Camada de instância

MOF meta-meta-modelo

ER meta-meta-modelo

UML meta-modelo

TAOmeta-modelo

MAS-MLmeta-modelo

instanciação

MAS-MLmodelos

unificação

MAS-ML

Page 57: Linguagens de Modelagem para SMA

Meta-modelo de MAS-ML

Element

NamedElement

PackageableElement

TypeNamespaceRefinableElement

Classifier

Class AgentClass OrganizationClass AgentRoleClass ObjectRoleClass EnvironmentClass

Meta-classes do meta-modelo de UML

Novas Meta-clasess

Leyenda

Page 58: Linguagens de Modelagem para SMA

Meta-modelo de MAS-ML

AgentClass

OrganizationClass

AgentRoleClass

EnvironmentClass

Class

ObjectRoleClass

Ownership

Inhabit

ControlPlay0..1agent

1..*play

0..1agent

1inhabit

1env

0..*inhabit

0..1 org

1 inhabit

1 inhabit

0..1 class

0..*play_in

1 org

0..*play

0..1 subOrg

1owner

0..*ownership

1 play 1 play

0..* play

0..1 agentRole

0..1class

0..1objectRole

1ownership

0..1objectRole

1ownership

0..1agentRole

1 controlled 0..*

1controller

0..*control

Page 59: Linguagens de Modelagem para SMA

Meta-modelo de MAS-ML

Element

NamedElement

MultiplicityElement TypedElement Feature Namespace

RefinableElement

StructuralFeature BehavioralFeature

ActionClassProperty ProtocolClassOperation PlanClass

AgentMesageClass

Novos estereótipos

Duty RightBelief Goal

Meta-classes do meta-modelo de UML

Novas Meta-classes

Leyenda

Page 60: Linguagens de Modelagem para SMA

MAS-ML

MAS-ML modela os aspectos estruturais e dinâmicos descritos no TAO

– Aspectos estruturais: entidades, propriedades e relacionamentos

– Aspectos dinâmicos: interação entre as entidades e execuções internas

Diagramas estáticos: classes, organizações e papéis

Diagrama dinâmico: seqüência e atividades

Page 61: Linguagens de Modelagem para SMA

Diagramas Estáticos

Page 62: Linguagens de Modelagem para SMA

Diagrama de Classe de UML

Representa as classes e os relacionamentos entre as classes

Second-hand BooksImported Books

Item

Book

Order User

Nome_da_classe

atributo1atributo2

metodo1metodo2metodo3...

Page 63: Linguagens de Modelagem para SMA

Diagramas para SMA

Como representar agentes, organizações, papéis e ambientes?

Como representar relacionamos específicos de SMA, como inhabit, control e play?

Novo elemento de diagrama para representar novas entidades e relacionamentos

Page 64: Linguagens de Modelagem para SMA

Diagrama de Classes

Objetivos: representar os relacionamentos entre classes e outras entidades do SMA e representar os relacionamentos entre agentes, ambientes e organizações.

Classes usadas neste diagrama: – agent class, organization class, environment class e outras definidas por

UML.

Relacionamentos usados neste diagrama:– Aqueles já definidos por UML;

– inhabit – usado entre classes e ambientes;

– association – usado entre agente e classes, entre organizações e classes, e entre ambientes;

– specialization – usado entre agentes, entre organizações e entre ambientes.

Page 65: Linguagens de Modelagem para SMA

Diagrama de Classes: Exemplo

abstracttitleauthorscontent

getAbstractgetTitlegetAuthorsgetContentsetAbstractsetTitlesetAuthorssetContent

Paper

1 0..3

Researcher

Student

Professor

0..*

0..*0..* 0..*

0..*

0..*

Conference<<main-organization>>

Workshop Tutorial

Overall_evaluation

1

0..1

evaluation

getEvaluationgetPaper

reviewercommentsevaluation

getReviewergetCommentsgetEvaluationgetPapersetReviewersetCommentssetEvaluationsetPaper

Review

Object / Environment

Agent

Organization

Legend:

0..* 0..*

especialização

agregação

associação

Page 66: Linguagens de Modelagem para SMA

Diagrama de Organizações

Objetivo: modelar as organizações e os relacionamentos entre as organizações e outras entidades do SMA.

Cada diagrama de organização modela uma organização Classes usadas neste diagrama:

– organization class, agent class, agent role class, object role class, class e environment class.

Relacionamentos usados neste diagrama: – ownership – usado entre organizações e papéis que a organização

define;– play – usado entre agentes e papéis de agentes, entre sub-organizações e

papéis de agentes, e entre classes e papéis de objeto;– inhabit – usado entre ambiente e organizações e entre ambiente e

agentes.

Page 67: Linguagens de Modelagem para SMA

Diagrama de Organizações: Exemplo (parte I)

Conference

Conference_Center

Author

Workshop

PC_MemberGeneral_Chair

<<main-organization>>

Researcher Student

Tutorial

Event

Chair

<<goal>> manageEvent<<belief>> reviewers

Collecting_submitted_ papers {…}Assigning_papers_to_reviewers { relatePapersToReviewers, createReviewProposal, attributePapersToReviewers, attributePapersWithout3ReviewersToChair }Distributing_reviews {checkConflict, groupReviews, informAuthors}Collecting_camera-ready _papers {…}

Object role classAgent role classClass / Environment class

Agent class

Organization classLeyenda:

Play relationship

Ownership relationship

Page 68: Linguagens de Modelagem para SMA

Diagrama de Organizações: Exemplo (parte II)

Conference

Conference_Center

<<main-organization>>

Submission Camera_Ready

Paper

Overall_Evaluation Blind_Review

Review

Page 69: Linguagens de Modelagem para SMA

Diagrama de Papéis

Objetivo: modelar os papéis e os relacionamentos entre os papéis

Classes usadas neste diagrama:– agent role class, object role class e class

Relacionamentos usados neste diagrama:– control – usado entre papéis de agente;

– dependency – usado entre papéis de objeto, entre papel de agente e papel de objeto e entre papéis de agente;

– association – usado entre papéis de objeto, entre papel de agente e papel de objeto, entre papéis de agente e entre qualquer papel e uma classe;

– aggregation – usado entre papéis de objeto e entre papéis de agente;

– specialization – usado entre papéis de objeto e entre papéis de agente.

Page 70: Linguagens de Modelagem para SMA

Diagrama de Papéis: Exemplo

Author

PC_Member

General_Chair

Blind_Submission

Blind_Review

getCommentsetEvaluationgetPaper

paperId

getAbstractgetTitlegetContentgetPaperIdsetPaperId

Camera_Ready

paperId

getAbstractgetTitlegetAuthorsgetContentgetPaperId

<<goal>>publishPaper

<<duty>>sendCameraReady if accepcted<<right>>submitPaper<<protocol>>PaperSubmission

Chair<<goal>>manageEvent

<<duty>>receivePapers, attributePapersToReviewers, attributePapersWithout3ReviewersToChair informAuthorsReviews<<protocol>>PaperSubmission

PaperDistribution

<<goal>>reviewPaper

<<duty>>makePreview<<right>>refusePaper<<protocol>>PaperDistribution

Object role class

Agent role class

Leyenda:

Control relationship

Association relationship

Generalization relationship

Page 71: Linguagens de Modelagem para SMA

Diagramas Dinâmicos

Page 72: Linguagens de Modelagem para SMA

Diagrama de Sequência de UML

Representa a interação entre os objetos e as execuções dos métodos

Objeto A

Objeto B

[se novo]<<create>>

mensaje

valor de retorno

<<destroy>>

mensaje

Page 73: Linguagens de Modelagem para SMA

Diagrama de Sequência de MAS-ML

Objetivo: representar as interações entre as instâncias do SMA e representar as ações internas destas instâncias.

Representar interações: troca de mensagens entre entidades– Modelar troca de mensagem:

• Redefinir mensagens

• Criar novos estereótipos associados à mensagens

– Modelar protocolos

Representar ações internas (intra-ações):– Modelar planos e ações

Page 74: Linguagens de Modelagem para SMA

Elementos dos diagramas de sequência

Novos desenhos para representar as entidades dos SMA Novas definições para as entidades dos SMA

org/role/org/env : OrganizationClass/AgentRoleClass/OrganizationClass/EnvironmentClass

obj/role/org/env : Class/ObjectRoleClass/OrganizationClass/EnvironmentClass

agent/role/org/env : AgentClass/AgentRoleClass/OrganizationClass/EnvironmentClass

env : EnvironmentClass env : EnvironmentClass

Entidad activa Entidad pasiva

Objeto

Agente

Organización

Entorno

: RoleClassRole

Page 75: Linguagens de Modelagem para SMA

Redefinindo mensagens

UML: mensagens são chamada de métodos

SMA: mensagens não são diretamente mapeadas para uma execução interna do agente (suas ações)

message_label (content_description)sender receiver

method_name ()sender receiver

UML

MAS-ML

Page 76: Linguagens de Modelagem para SMA

Estereótipos de mensagens

Como representar a criação de entidades de SMA? UML: uso do estereotipo <<create>>

– Estender para representar a criação de entidades de SMA

Como representar a destruição de entidades de SMA? UML: uso do estereotipo <<destroy>>

– Estender para representar a destruição de entidades de SMA

Page 77: Linguagens de Modelagem para SMA

Criando e destruindo entidades

Anne/FruitBuyer : UserAgent/Buyer

<<create>>

......

Creando una organización

Anne/FruitBuyer : UserAgent/Buyer

<<destroy>>... ...

FruitStore : Store

...

Destruyendo una organización - II

Anne/FruitBuyer : UserAgent/Buyer

<<destroy>>... ...

...

Destruyendo una organización - I

FruitStore/FruitWholesale: Store/Wholesale

FruitStore/FruitWholesale: Store/Wholesale

Page 78: Linguagens de Modelagem para SMA

Estereótipos de mensagens

Como representar a relação entre papéis e entidades que desempenham papéis?

<<role_commitment>> Entidade se comprometendo com um novo papel

<<role_cancel>> Entidade cancelando papel <<role_activate>> Entidade ativando papel <<role_deactivate>> Entidade desativando papel <<role_change>> Entidade mudando de papel

Page 79: Linguagens de Modelagem para SMA

Criando papel

Bob/FruitBuyer : UserAgent/Buyer

Bob/ClothesBuyer : UserAgent/Buyer<<role_commitment>>

......

Bob/FruitBuyer : UserAgent/Buyer

Apple/DesirerFruit : Item/Desirer<<role_commitment>>

......

Criando um papel de agente

Criando um papel de objeto

Page 80: Linguagens de Modelagem para SMA

Cancelando papel

Bob/FruitBuyer : UserAgent/Buyer Bob/ClothesBuyer : UserAgent/Buyer

<<role_cancel>>

...

Cancelando um papel de agente

Bob/ClothesBuyer : UserAgent/Buyer

<<role_cancel>>

Bob/FruitBuyer : UserAgent/Buyer Apple/DesirerFruit : Item/Desirer

Cancelando um papel de objeto

<<role_cancel>>

...

Cancelando um papel de agente

Page 81: Linguagens de Modelagem para SMA

Desativando e ativando papel

Bob/FruitBuyer : UserAgent/Buyer Bob/ClothesBuyer : UserAgent/Buyer

<<role_activate>>

...

Activar um papel

...

Bob/FruitBuyer : UserAgent/Buyer Bob/ClothesBuyer : UserAgent/Buyer

<<role_deactivate>>

Desativar um papel

...

Bob/ClothesBuyer : UserAgent/Buyer

<<role_deactivate>>

Page 82: Linguagens de Modelagem para SMA

Mudando de papel

Bob/FruitBuyer : UserAgent/Buyer

Bob/ClothesBuyer : UserAgent/Buyer<<role_change>>

...

Bob/FruitBuyer : UserAgent/Buyer Bob/ClothesBuyer : UserAgent/Buyer

<<role_change>>

Bob/FruitBuyer : UserAgent/Buyer

Bob/FruitBuyer : UserAgent/Buyer Bob/ClothesBuyer : UserAgent/Buyer

<<role_change>>

Bob/ClothesBuyer : UserAgent/Buyer<<role_change>>

...

...

...

Cancelando um papel e criando novo papel

Cancelando um papel e ativando outro papel

Desativando um papel e criando outro papel

Desativando um papel e ativando outro papel

Page 83: Linguagens de Modelagem para SMA

Modelando protocolos

Um protocolo define um conjunto de mensagens que entidades podem enviar e receber enquanto desempenhando papéis

Request (ItemDescription)

Proposal (ItemDescription)

AnswerProposal (RejectItemDescription)

AnswerProposal (AcceptItemDescription)

Inform (Payment)

Inform (Bill)

: Buyer : Seller

else

mensagem

papel

Page 84: Linguagens de Modelagem para SMA

Modelando planos e ações

Execução interna dos agentes, organizações e ambientes ativos são definidas pela execução dos planos e ações.

: GeneralStore

: UserAgent/Seller

if (message_label = request)

create_seller

else

inform_buyer_of_seller

: UserAgent/Buyer

inform (seller_id)

<<create>>

Creating_seller

Execução de um plano

Execuçãode uma ação

Execuçãode uma ação

Page 85: Linguagens de Modelagem para SMA

Bob/buyerOfBooks/Bookfinder/Place-A : UserAgent/Buyer/

GeneralStore/VirtualMarketplace

Search for organization

Check_organization_goals

Check_organization_roles

Entering organization

BrandNewBookstore/marketOfUsedBooks/Bookfinder/Place-A :Second-handBookstore/MarketOfUsedGoods/

GeneralStore/VirtualMarketplace

Request (OrgGoals)

Get_organization_goals

Managing entrance

Inform (OrgGoals)

Request (OrgRoles)

Get_organization_roles

Inform (OrgRoles)

Select_role_to_play

Inform (RoleToPlay)

Register_itself_in_organization

Bob/buyerOfSecond-handBooks/Bookfinder/Place-A : UserAgent/BuyerOfSecond-handBooks/

GeneralStore/VirtualMarketplace<<role_commitment>>

Inform (Buyer_of_second_hand_books)

Entering organization

Search_for_announcement

Request (Announcement)

...

Place-A : VirutalMarketplace

getOrganizations()

Vector

plano

ação

esteriótipo de mensagem

chamada demétodo

ambienteagente

organização

Page 86: Linguagens de Modelagem para SMA

Diagrama de Atividades de UML

Objetivo: modelar o fluxo das actividades de um sistema O enfoque está na sequência das atividades e não na interação

entre os objetos

Atividades: execução não atómica composta de ações

Ações: execução atómica

Page 87: Linguagens de Modelagem para SMA

Diagrama de Atividades de MAS-ML

Objetivo: representar a modelagem de planos e ações de un agente

O enfoque está na modelagem do agente e não na interação entre os agentes

Atividades -> Planos de agentes Ações -> Ações de agentes

Page 88: Linguagens de Modelagem para SMA

Identificação de papéis, organização e ambiente

Extensão do Diagrama de Atividades

<<role_change>>A3

A4

<<

envi

ronm

ent>

>E

1<

<en

viro

nmen

t>>

E2

<<

orga

niza

tion

>>

O2

<<

orga

niza

tion

>>

O1

R3

R1

P2

Plano

Ações

Papel