Linguagens de Modelagem Equipe do Curso de ES para SMA {lucena, furtado, choren,...

53
Linguagens de Modelagem Equipe do Curso de ES para SMA {lucena, furtado, choren, viviane}@inf.puc-rio.br

Transcript of Linguagens de Modelagem Equipe do Curso de ES para SMA {lucena, furtado, choren,...

Page 1: Linguagens de Modelagem Equipe do Curso de ES para SMA {lucena, furtado, choren, viviane}@inf.puc-rio.br.

Linguagens de Modelagem

Equipe do Curso de ES para SMA

{lucena, furtado, choren, viviane}@inf.puc-rio.br

Page 2: Linguagens de Modelagem Equipe do Curso de ES para SMA {lucena, furtado, choren, viviane}@inf.puc-rio.br.

MAS-ML

Page 3: Linguagens de Modelagem Equipe do Curso de ES para SMA {lucena, furtado, choren, viviane}@inf.puc-rio.br.

Laboratório de Engenharia de Software (LES) – PUC-Rio

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 4: Linguagens de Modelagem Equipe do Curso de ES para SMA {lucena, furtado, choren, viviane}@inf.puc-rio.br.

Laboratório de Engenharia de Software (LES) – PUC-Rio

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

Page 5: Linguagens de Modelagem Equipe do Curso de ES para SMA {lucena, furtado, choren, viviane}@inf.puc-rio.br.

Laboratório de Engenharia de Software (LES) – PUC-Rio

Meta-modelo MAS-ML

DutyRight

Features Classifier

Structural Feature Behavioral Feature

Belief Goal

Axiom

Operation

Property

Class AgentClass ObjectRoleClass

OrganizationClass

AgentPlan

Meta-classes do meta-model UML

Novas meta-classes

Novos estereótipos

Legenda

AgentRoleClass

AgentAction 1..* *

1..**

sender receiver1 *

Element

AgentProtocol

AgentMessage

1..*

*

Constraintpostconditionpostcondition

preconditionprecondition

0..1 0..10..10..1

*

**

*

EnvironmentClass

ActiveEnvironmentClass

PassiveEnvironmentClass

Page 6: Linguagens de Modelagem Equipe do Curso de ES para SMA {lucena, furtado, choren, viviane}@inf.puc-rio.br.

Laboratório de Engenharia de Software (LES) – PUC-Rio

Meta-modelo MAS-ML

Class

AgentClass

ObjectRoleClassOrganizationClass

AgentRoleClass

EnvironmentClassdefine

play

1

1..*0..*

define

1 sub-org

play 1..*1

play in

0..*

1..*

1..*1inhabit

1

0..*

inhabit

inhabit

1

0..*

play1

0..*

0..*1

sub-org

0..* 1

play in play in

0..*

0..*

Meta-classes do meta-modelo UML

Novas meta-classes

Legenda

Page 7: Linguagens de Modelagem Equipe do Curso de ES para SMA {lucena, furtado, choren, viviane}@inf.puc-rio.br.

Laboratório de Engenharia de Software (LES) – PUC-Rio

Meta-modelo MAS-ML

Relationship

Directed Relationship

Classifier

Element

Association

Dependency Ownership Inhabit Control Play Generalization

1..*

Meta-classes do meta-modelo UML

Novas meta-classes

Legenda

Page 8: Linguagens de Modelagem Equipe do Curso de ES para SMA {lucena, furtado, choren, viviane}@inf.puc-rio.br.

Laboratório de Engenharia de Software (LES) – PUC-Rio

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

• Diagramas dinâmicos: seqüência e atividades

Page 9: Linguagens de Modelagem Equipe do Curso de ES para SMA {lucena, furtado, choren, viviane}@inf.puc-rio.br.

Diagramas Estáticos

Page 10: Linguagens de Modelagem Equipe do Curso de ES para SMA {lucena, furtado, choren, viviane}@inf.puc-rio.br.

Laboratório de Engenharia de Software (LES) – PUC-Rio

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 11: Linguagens de Modelagem Equipe do Curso de ES para SMA {lucena, furtado, choren, viviane}@inf.puc-rio.br.

Laboratório de Engenharia de Software (LES) – PUC-Rio

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 12: Linguagens de Modelagem Equipe do Curso de ES para SMA {lucena, furtado, choren, viviane}@inf.puc-rio.br.

Laboratório de Engenharia de Software (LES) – PUC-Rio

Elementos dos diagramas I

ObjectRoleClass OrganizationClassAgentRoleClassAgentClassClass

AgentRoleClassAgentRoleClass

EnvironmentClassEnvironmentClass

Relacionamento Inhabit

RelacionamentoControl

Entidades

Page 13: Linguagens de Modelagem Equipe do Curso de ES para SMA {lucena, furtado, choren, viviane}@inf.puc-rio.br.

Laboratório de Engenharia de Software (LES) – PUC-Rio

Elementos dos diagramas II

OrganizationClass AgentRoleClass

OrganizationClass AgentRoleClass

AgentClass

RelacionamentoOwnership

RelacionamentoPlay

Page 14: Linguagens de Modelagem Equipe do Curso de ES para SMA {lucena, furtado, choren, viviane}@inf.puc-rio.br.

Laboratório de Engenharia de Software (LES) – PUC-Rio

Agente

AgentClass

<<goal>> type : name [= default-value] plan-list<<belief>> type : name [= default-value]

{precondition-list} action {postcondition-list}plan {action-list} goal-name

Característicasestruturais

Característicascomportamentais

Page 15: Linguagens de Modelagem Equipe do Curso de ES para SMA {lucena, furtado, choren, viviane}@inf.puc-rio.br.

Laboratório de Engenharia de Software (LES) – PUC-Rio

Organização

OrganizationClass

<<goal>> type : name [= default-value] plan-list<<belief>> type : name [= default-value]<<axiom>> type : name [= default-value]

{precondition-list} action {postcondition-list}plan {action-list} goal-name

Característicasestruturais

Característicascomportamentais

Page 16: Linguagens de Modelagem Equipe do Curso de ES para SMA {lucena, furtado, choren, viviane}@inf.puc-rio.br.

Laboratório de Engenharia de Software (LES) – PUC-Rio

Papel de Agente

AgentRoleClass

<<goal>> type : name [= default-value]<<belief>> type : name [= default-value]

<<duty>> action <<right>> actionprotocol-name { messsage: {label: value, content: value,

sender : value, receiver: value}...}

Característicasestruturais

Característicascomportamentais

Page 17: Linguagens de Modelagem Equipe do Curso de ES para SMA {lucena, furtado, choren, viviane}@inf.puc-rio.br.

Laboratório de Engenharia de Software (LES) – PUC-Rio

Papel de Objeto

ObjectRoleClass

[visibility] type : name [= default-value]

[visibility] name (parameter-list) : returned-value

Características estruturais

Característicascomportamentais

Page 18: Linguagens de Modelagem Equipe do Curso de ES para SMA {lucena, furtado, choren, viviane}@inf.puc-rio.br.

Laboratório de Engenharia de Software (LES) – PUC-Rio

Ambiente

EnvironmentClass Característicasestruturais

Característicascomportamentais

Entidades que habitam o ambiente

EnvironmentClassor

Page 19: Linguagens de Modelagem Equipe do Curso de ES para SMA {lucena, furtado, choren, viviane}@inf.puc-rio.br.

Laboratório de Engenharia de Software (LES) – PUC-Rio

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 20: Linguagens de Modelagem Equipe do Curso de ES para SMA {lucena, furtado, choren, viviane}@inf.puc-rio.br.

Laboratório de Engenharia de Software (LES) – PUC-Rio

Diagrama de Classes

Second-hand BooksImported Books

Item

Book

Virtual Marketplace

inhabit

specialization

associationAgentA

AgentB

Organization A

Organization A

Object / Environment

Agent

Organization

Legend:

Page 21: Linguagens de Modelagem Equipe do Curso de ES para SMA {lucena, furtado, choren, viviane}@inf.puc-rio.br.

Laboratório de Engenharia de Software (LES) – PUC-Rio

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 22: Linguagens de Modelagem Equipe do Curso de ES para SMA {lucena, furtado, choren, viviane}@inf.puc-rio.br.

Laboratório de Engenharia de Software (LES) – PUC-Rio

Diagrama de Organizações

Object role

Agent roleObject / Environment

Agent

Organization

Legend:

General Store

Virtual Marketplace

Market of Special Goods Market of Used Goods

Imported Bookstore Second-hand BookstoreBook

Desire Offer

BuyerSeller

User AgentStore Agent

<<main-organization>>

inhabitplay

ownership

Page 23: Linguagens de Modelagem Equipe do Curso de ES para SMA {lucena, furtado, choren, viviane}@inf.puc-rio.br.

Laboratório de Engenharia de Software (LES) – PUC-Rio

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 24: Linguagens de Modelagem Equipe do Curso de ES para SMA {lucena, furtado, choren, viviane}@inf.puc-rio.br.

Laboratório de Engenharia de Software (LES) – PUC-Rio

Diagrama de Papéis

Market of Special Goods

Offer Desire

Buyer

Buyer of Imported Books Seller of Imported Books

Seller

Desire of Imported Books

Offer ofImported Books

Buyer of Second-hand BooksSeller of Second-hand Books

Desire of Second-hand

Books

Offer ofSecond-hand

BooksMarket of Used Goods

Object role Agent role

Legend:

control

aggregationassociation

Seller

Seller of Imported Books

specialization

Page 25: Linguagens de Modelagem Equipe do Curso de ES para SMA {lucena, furtado, choren, viviane}@inf.puc-rio.br.

Diagramas Dinâmicos

Page 26: Linguagens de Modelagem Equipe do Curso de ES para SMA {lucena, furtado, choren, viviane}@inf.puc-rio.br.

Laboratório de Engenharia de Software (LES) – PUC-Rio

Diagrama de Seqüência de UML

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

joseFloricultor

centralCentralFloricultura

joao:Dentista

floricultorPetropolisFloricultor

1.1: atendeCidade("Petropolis"):boolean

1.3: aceitaEncomenda("Rosas","Rua X,9"):boolean

1: enviarFlores("Rosas","Maria","Petropolis","Rua x, 9"):boolean

1.2:[se nao na cid...] getFloricultorNaCidade("Petropolis"):Floricultor

Page 27: Linguagens de Modelagem Equipe do Curso de ES para SMA {lucena, furtado, choren, viviane}@inf.puc-rio.br.

Laboratório de Engenharia de Software (LES) – PUC-Rio

Diagrama de Seqüê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 28: Linguagens de Modelagem Equipe do Curso de ES para SMA {lucena, furtado, choren, viviane}@inf.puc-rio.br.

Laboratório de Engenharia de Software (LES) – PUC-Rio

Elementos dos diagramas

• Novos pathnames e novos ícones

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

Active entity Passive entity

Objeto

Agente

Organização

Ambiente

: RoleClassPapel

Page 29: Linguagens de Modelagem Equipe do Curso de ES para SMA {lucena, furtado, choren, viviane}@inf.puc-rio.br.

Laboratório de Engenharia de Software (LES) – PUC-Rio

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

message_label (content_description)sender receiver

method_name ()sender receiver

Page 30: Linguagens de Modelagem Equipe do Curso de ES para SMA {lucena, furtado, choren, viviane}@inf.puc-rio.br.

Laboratório de Engenharia de Software (LES) – PUC-Rio

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 31: Linguagens de Modelagem Equipe do Curso de ES para SMA {lucena, furtado, choren, viviane}@inf.puc-rio.br.

Laboratório de Engenharia de Software (LES) – PUC-Rio

Criando e destruindo entidades

Anne/FruitBuyer : UserAgent/Buyer

<<create>>

......

Criando uma organização

Anne/FruitBuyer : UserAgent/Buyer

<<destroy>>... ...

FruitStore : Store

...

Destruindo uma organização - II

Anne/FruitBuyer : UserAgent/Buyer

<<destroy>>... ...

...

Destruindo uma organização - I

FruitStore/FruitWholesale: Store/Wholesale

FruitStore/FruitWholesale: Store/Wholesale

Page 32: Linguagens de Modelagem Equipe do Curso de ES para SMA {lucena, furtado, choren, viviane}@inf.puc-rio.br.

Laboratório de Engenharia de Software (LES) – PUC-Rio

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 33: Linguagens de Modelagem Equipe do Curso de ES para SMA {lucena, furtado, choren, viviane}@inf.puc-rio.br.

Laboratório de Engenharia de Software (LES) – PUC-Rio

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 34: Linguagens de Modelagem Equipe do Curso de ES para SMA {lucena, furtado, choren, viviane}@inf.puc-rio.br.

Laboratório de Engenharia de Software (LES) – PUC-Rio

Cancelando papel

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

<<role_cancel>>

...

Cancelando papel de agente

Bob/ClothesBuyer : UserAgent/Buyer

<<role_cancel>>

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

Cancelando papel de objeto

<<role_cancel>>

...

Cancelando papel de agente

Page 35: Linguagens de Modelagem Equipe do Curso de ES para SMA {lucena, furtado, choren, viviane}@inf.puc-rio.br.

Laboratório de Engenharia de Software (LES) – PUC-Rio

Desativando e ativando papel

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

<<role_activate>>

...

Ativar papel

...

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

<<role_deactivate>>

Desativar papel

...

Bob/ClothesBuyer : UserAgent/Buyer

<<role_deactivate>>

Page 36: Linguagens de Modelagem Equipe do Curso de ES para SMA {lucena, furtado, choren, viviane}@inf.puc-rio.br.

Laboratório de Engenharia de Software (LES) – PUC-Rio

Mudandode 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 papel e criando novo papel

Cancelando papel e ativando outro papel

Desativando papel e criando outro papel

Desativando papel e reativando outro papel

Page 37: Linguagens de Modelagem Equipe do Curso de ES para SMA {lucena, furtado, choren, viviane}@inf.puc-rio.br.

Laboratório de Engenharia de Software (LES) – PUC-Rio

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 38: Linguagens de Modelagem Equipe do Curso de ES para SMA {lucena, furtado, choren, viviane}@inf.puc-rio.br.

Laboratório de Engenharia de Software (LES) – PUC-Rio

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

Executionof a Plan

Executionof an Action

Executionof an Action

Page 39: Linguagens de Modelagem Equipe do Curso de ES para SMA {lucena, furtado, choren, viviane}@inf.puc-rio.br.

Laboratório de Engenharia de Software (LES) – PUC-Rio

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

estereótipo de mensagem

chamada demétodo

ambienteagente

organização

Page 40: Linguagens de Modelagem Equipe do Curso de ES para SMA {lucena, furtado, choren, viviane}@inf.puc-rio.br.

Laboratório de Engenharia de Software (LES) – PUC-Rio

Diagrama de Atividades de UML

• Objetivo: modelar o fluxo das atividades de um sistema

• O foco está na seqüência de atividades e não na interação entre os objetos

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

• Ação: execução atômica

Page 41: Linguagens de Modelagem Equipe do Curso de ES para SMA {lucena, furtado, choren, viviane}@inf.puc-rio.br.

Laboratório de Engenharia de Software (LES) – PUC-Rio

Diagrama de Atividades de MAS-ML

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

• O foco está na modelagem de um agente e não na interação entre os agentes

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

Page 42: Linguagens de Modelagem Equipe do Curso de ES para SMA {lucena, furtado, choren, viviane}@inf.puc-rio.br.

Laboratório de Engenharia de Software (LES) – PUC-Rio

Modelando planos

... ...

Evaluation of proposal ofreviewing papers

Distribution of papers toreviewers

Distribution of papers toreviewers

...

Invoking plans: planos que são invocados por outros planos/ações

Page 43: Linguagens de Modelagem Equipe do Curso de ES para SMA {lucena, furtado, choren, viviane}@inf.puc-rio.br.

Laboratório de Engenharia de Software (LES) – PUC-Rio

Modelando ações

• Identificando uma ação pelo seu nome ou utilizando uma linguagem de descrição de ação

<?xml version="1.0" encoding="UTF-8"?><definitions name="AddNumbers" ...>...<message name="parameterValues"> <part name="firstParameter" type="xs:int"/> <part name="secondParameter" type="xs:int"/></message><message name="addResponse"> <part name="value" type="xs:int"/></message><portType name="addPortType"> <operation name="add"> <input message="parameterValues"/> <output message="addResponse"/> </operation></portType>... </definitions>

AddNumbershttp://www.les.inf.puc-rio.br/webservices/2005/AddNumbers

Ação é vista como um serviço

Ação pode ser descrita utilizando-se, por exemplo, WSDL

ou

Identificando o endereço de onde a implementação da ação se encontra

Page 44: Linguagens de Modelagem Equipe do Curso de ES para SMA {lucena, furtado, choren, viviane}@inf.puc-rio.br.

Laboratório de Engenharia de Software (LES) – PUC-Rio

Planos e Metas

• Todo plano está associado a uma meta

<<goal>> Evaluate proposalEvaluation of proposal ofreviewing papers

... ...

Page 45: Linguagens de Modelagem Equipe do Curso de ES para SMA {lucena, furtado, choren, viviane}@inf.puc-rio.br.

Laboratório de Engenharia de Software (LES) – PUC-Rio

Condição de guarda

• Qualquer informação do estado mental do agente pode ser verificada na condição de guarda

[deadline notcompatible with dates

in belief agenda]

<<message>>Reject Proposal

Select a paperfrom the set of

proposal papers

<<datastore>>Proposalpapers

... ...

Page 46: Linguagens de Modelagem Equipe do Curso de ES para SMA {lucena, furtado, choren, viviane}@inf.puc-rio.br.

Laboratório de Engenharia de Software (LES) – PUC-Rio

Modelando Mensagens

i. Identificando a ato de falaii. Identificando o protocoloiii. Descrevendo a mensagem utilizando ACL

<<message>>Reject Proposal

<<message>>Reject Proposal(inform :receiver (agent-identifier: chair) :content “all papers rejected” :protocol paperProposalDistribution)

<<message>> protocol: paperProposalDistributionReject Proposal

(i)

(ii)

(iii)

Page 47: Linguagens de Modelagem Equipe do Curso de ES para SMA {lucena, furtado, choren, viviane}@inf.puc-rio.br.

Laboratório de Engenharia de Software (LES) – PUC-Rio

Papéis

• Associando papéis a execução de planos

<<goal>> Evaluate proposalEvaluation of proposal ofreviewing papers

... ...

<<role>> Reviewer

Page 48: Linguagens de Modelagem Equipe do Curso de ES para SMA {lucena, furtado, choren, viviane}@inf.puc-rio.br.

Laboratório de Engenharia de Software (LES) – PUC-Rio

Papéis

• Usando partições para identificar papéis• Modelando a dinâmica de papéis

Rev

iew

er

<<belief>><<datastore>>

reviewers

<<belief>><<datastore>>

papersDeadline

<<role_commitment>>Allocate papers without

reviewers to agent

<<datastore>>reviewers, papers

Review papers

Cha

ir

Distribution of papers toreviewers

Allocate papersto reviewers ...

Page 49: Linguagens de Modelagem Equipe do Curso de ES para SMA {lucena, furtado, choren, viviane}@inf.puc-rio.br.

Laboratório de Engenharia de Software (LES) – PUC-Rio

Papéis

• Modelando a dinâmica de papéis(mudança de papel)

<<role_commitment>>Action J(Role Y)

<<role_deactivate>>Action I(Role X)

......

<<role_commitment>>Action J(Role Y)

<<role_cancel>>Action I(Role X)

......

<<role_activate>>Action J(Role Y)

<<role_cancel>>Action I(Role X)

......

<<role_activate>>Action J(Role Y)

<<role_deactivate>>Action I(Role X)

......

(i)

(ii)

(iii)

(iv)

Page 50: Linguagens de Modelagem Equipe do Curso de ES para SMA {lucena, furtado, choren, viviane}@inf.puc-rio.br.

Laboratório de Engenharia de Software (LES) – PUC-Rio

Papéis e ações

• Quando for possível afirmar que um plano será executado no contexto de um determinado papel...

• Identificar as obrigações e os direitos dos agentes(informação disponível na definição do papel)

<<duty>>Allocate papers

to reviewers(Chair)

<<right>>Reject paper to

review(Reviewer)

Page 51: Linguagens de Modelagem Equipe do Curso de ES para SMA {lucena, furtado, choren, viviane}@inf.puc-rio.br.

Laboratório de Engenharia de Software (LES) – PUC-Rio

Organizações

• Usando partições para identificar organizações

Rev

iew

er

<<belief>><<datastore>>

reviewers

<<belief>><<datastore>>

papersDeadline

<<role_commitment>>Allocate papers without

reviewers to agent

<<datastore>>reviewers, papers

Review papers

Cha

ir

Distribution of papers toreviewers

Allocate papersto reviewers ...

<<

orga

niza

tion>

> W

orks

hop

Page 52: Linguagens de Modelagem Equipe do Curso de ES para SMA {lucena, furtado, choren, viviane}@inf.puc-rio.br.

Laboratório de Engenharia de Software (LES) – PUC-Rio

Organizações

• Mudança de organização

[deadline notcompatible with dates

in belief agenda]

<<message>>Reject Proposal

Select a paperfrom the set of

proposal papers

<<datastore>>Proposalpapers

...

<<role_cancel>>Leave event

<<role_commitment>>Enter event

...

...

Rev

iwer

Pro

gram

Com

mitt

ee

<<

orga

niza

tion>

> W

orks

hop

<<

orga

niza

tion>

>S

ympo

sium

Evaluation of proposal ofreviewing papers

Page 53: Linguagens de Modelagem Equipe do Curso de ES para SMA {lucena, furtado, choren, viviane}@inf.puc-rio.br.

Laboratório de Engenharia de Software (LES) – PUC-Rio

Ambiente

• Identificado ambiente• Modelando a mudança de ambiente

<<role_commitment>>Action N

<<role_deactive>>Action M

......

Role Z Role W

<<organization>> A <<organization>> B

<<environment>> Env1 <<environment>> Env2