linguagens de modelagem – mas-ml viviane torres da silva [email protected]...

45
Linguagens de Modelagem – MAS- ML Viviane Torres da Silva [email protected] http://www.ic.uff.br/~viviane.silva/isma

Upload: internet

Post on 17-Apr-2015

105 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Linguagens de Modelagem – MAS-ML Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/isma

Linguagens de Modelagem – MAS-ML

Viviane Torres da [email protected]

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

Page 2: Linguagens de Modelagem – MAS-ML Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/isma

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 3: Linguagens de Modelagem – MAS-ML Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/isma

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 4: Linguagens de Modelagem – MAS-ML Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/isma

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 5: Linguagens de Modelagem – MAS-ML Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/isma

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 6: Linguagens de Modelagem – MAS-ML Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/isma

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 7: Linguagens de Modelagem – MAS-ML Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/isma

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 8: Linguagens de Modelagem – MAS-ML Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/isma

Diagramas Estáticos

Page 9: Linguagens de Modelagem – MAS-ML Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/isma

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 10: Linguagens de Modelagem – MAS-ML Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/isma

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 11: Linguagens de Modelagem – MAS-ML Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/isma

Elementos dos diagramas estáticos I/II

ObjectRoleClass OrganizationClassAgentRoleClassAgentClassClass

AgentRoleClassAgentRoleClass

EnvironmentClassEnvironmentClass

Relação Inhabit(habitar)

Relação Control(controlar)

Entidades

Page 12: Linguagens de Modelagem – MAS-ML Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/isma

Elementos dos diagramas estáticos I/II

OrganizationClass AgentRoleClass

OrganizationClass AgentRoleClass

AgentClass

Relação Ownership(propiedade)

Relação Play(desempenhar)

Page 13: Linguagens de Modelagem – MAS-ML Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/isma

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ísticas decomportamento

Page 14: Linguagens de Modelagem – MAS-ML Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/isma

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 15: Linguagens de Modelagem – MAS-ML Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/isma

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ísticas decomportamento

Page 16: Linguagens de Modelagem – MAS-ML Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/isma

Papel de Objeto

ObjectRoleClass

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

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

Características estructurais

Características decomportamento

Page 17: Linguagens de Modelagem – MAS-ML Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/isma

Ambiente

EnvironmentClass Característicasestructurais

Características decomportamento

Entidades que habitamo ambiente

EnvironmentClassor

Page 18: Linguagens de Modelagem – MAS-ML Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/isma

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 19: Linguagens de Modelagem – MAS-ML Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/isma

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 20: Linguagens de Modelagem – MAS-ML Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/isma

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 21: Linguagens de Modelagem – MAS-ML Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/isma

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 22: Linguagens de Modelagem – MAS-ML Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/isma

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

Conference

Conference_Center

<<main-organization>>

Submission Camera_Ready

Paper

Overall_Evaluation Blind_Review

Review

Page 23: Linguagens de Modelagem – MAS-ML Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/isma

ISMA

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 – MAS-ML Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/isma

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 25: Linguagens de Modelagem – MAS-ML Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/isma

Diagramas Dinâmicos

Page 26: Linguagens de Modelagem – MAS-ML Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/isma

Diagrama de Seqüê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 27: Linguagens de Modelagem – MAS-ML Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/isma

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 – MAS-ML Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/isma

Elementos dos diagramas de seqüência

Novos dezenhos 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 29: Linguagens de Modelagem – MAS-ML Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/isma

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 30: Linguagens de Modelagem – MAS-ML Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/isma

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 – MAS-ML Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/isma

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 32: Linguagens de Modelagem – MAS-ML Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/isma

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 – MAS-ML Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/isma

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 – MAS-ML Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/isma

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 35: Linguagens de Modelagem – MAS-ML Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/isma

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 36: Linguagens de Modelagem – MAS-ML Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/isma

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 37: Linguagens de Modelagem – MAS-ML Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/isma

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 – MAS-ML Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/isma

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 – MAS-ML Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/isma

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 40: Linguagens de Modelagem – MAS-ML Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/isma

Diagrama de Atividades de UML

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

entre os objetos

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

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

Page 41: Linguagens de Modelagem – MAS-ML Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/isma

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 42: Linguagens de Modelagem – MAS-ML Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/isma

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

Extenção do Diagrama de Actividades

<<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

Page 43: Linguagens de Modelagem – MAS-ML Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/isma

Exemplo I/II

Selling

[proposalaccepted]

Informing Price Informing proposal

[proposalrejected]

Payment

<<goal>>

<<goal>>to have an item sold<<role>>Seller

Receiving FinalPosition

plano

Page 44: Linguagens de Modelagem – MAS-ML Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/isma

Exemplo II/II

Relate papers to reviewers

Assigning papers to reviewers <<goal>>have papers assigned to reviewers

<<datastore>>Papers with

reviewers

<<datastore>>Papers without

reviewers

Create reviewer proposal

<<message>>New reviewers

<<message>>Asking for new

reviewers

<<datastore>>Papers x Reviewers

<<datastore>>reviewers

Attribute papers without 3 reviewers to chair

Decision deadline

<<datastore>>Papers x Reviewers

<<role_commitment>>Review paper

<<datastore>>reviewers

<<datastore>>papers

Ch

air

Re

vie

we

r

<<message>>Proposals( request :receiver (agent-identifier: reviewer :content reviewProposal :protocol PaperDistribution )

<<

org

an

iza

tion

>>

Wo

rksh

op

Enviando mensagem Recibendo mensagemrecurso

Page 45: Linguagens de Modelagem – MAS-ML Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/isma

Mudando a organização e ambiente

<<role_commitment>>Action N

<<role_deactive>>Action M

......

Role Z Role W

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

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

<<

en

viro

nm

en

t>>

CA

iSE

_C

en

ter

<<

en

viro

nm

en

t>>

AA

MA

S_

Ce

nte

r

<<

org

an

iza

tion

>>

Tu

toria

l<

<o

rga

niz

atio

n>

>W

ork

sho

p

Ch

air

Re

vie

we

r

<<role_change>>Review paper

End of the workshop

Distributing reviews

<<message>>New reviewers Check conflict …