Linguagens de Modelagem MASML Viviane Torres da Silva

  • Slides: 45
Download presentation
Linguagens de Modelagem – MAS-ML Viviane Torres da Silva viviane. silva@ic. uff. br http:

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

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

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

MAS-ML Camada de meta-modelo MOF meta-modelo ER meta-modelo instanciação TAO meta-modelo UML meta-modelo Camada

MAS-ML Camada de meta-modelo MOF meta-modelo ER meta-modelo instanciação TAO meta-modelo UML meta-modelo Camada de meta-modelo unificação MAS-ML meta-modelo Camada de modelo de domínio Camada de instância MAS-ML modelos

Meta-modelo de MAS-ML Element Leyenda Meta-classes do meta-modelo de UML Novas Meta-clasess Named. Element

Meta-modelo de MAS-ML Element Leyenda Meta-classes do meta-modelo de UML Novas Meta-clasess Named. Element Packageable. Element Refinable. Element Namespace Type Classifier Class Agent. Class Organization. Class Agent. Role. Class Object. Role. Class Environment. Class

Meta-modelo de MAS-ML 0. . * 1 controlled 1 play Agent. Class 0. .

Meta-modelo de MAS-ML 0. . * 1 controlled 1 play Agent. Class 0. . 1 agent 1. . * play 1 org 0. . 1 org 1 inhabit 0. . * inhabit Play 0. . * play_in 0. . 1 agent Inhabit 1 play 0. . 1 agent. Role Agent. Role. Class 0. . * play 0. . 1 agent. Role 0. . 1 sub. Org 1 ownership Organization. Class 1 owner 1 inhabit 1 controller 0. . * Ownership ownership 1 ownership 0. . 1 object. Role 0. . 1 Object. Role. Class object. Role 1 env Environment. Class 0. . 1 class 0. . * control Control

Meta-modelo de MAS-ML Leyenda Element Meta-classes do meta-modelo de UML Novas Meta-classes Named. Element

Meta-modelo de MAS-ML Leyenda Element Meta-classes do meta-modelo de UML Novas Meta-classes Named. Element Novos estereótipos Refinable. Element Multiplicity. Element Typed. Element Feature Structural. Feature Property Belief Goal Agent. Mesage. Class Namespace Behavioral. Feature Operation Action. Class Duty Right Plan. Class Protocol. Class

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

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

Diagramas Estáticos

Diagramas Estáticos

Diagrama de Classe de UML Ø Representa as classes e os relacionamentos entre as

Diagrama de Classe de UML Ø Representa as classes e os relacionamentos entre as classes Item Order User Book Nome_da_classe Imported Books Second-hand Books atributo 1 atributo 2 metodo 1 metodo 2 metodo 3. . .

Diagramas para SMA Ø Como representar agentes, organizações, papéis e ambientes? Ø Como representar

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

Elementos diagramas estáticos Class Agent. Role. Class I/II Object. Role. Class Entidades Environment. Class

Elementos diagramas estáticos Class Agent. Role. Class I/II Object. Role. Class Entidades Environment. Class Relação Inhabit (habitar) Relação Control (controlar) Agent. Role. Class Organization. Class

Elementos diagramas estáticos Relação Ownership (propiedade) Organization. Class Relação Play (desempenhar) I/II Agent. Role.

Elementos diagramas estáticos Relação Ownership (propiedade) Organization. Class Relação Play (desempenhar) I/II Agent. Role. Class Agent. Class

Agente Agent. Class <<goal>> type : name [= default-value] plan-list <<belief>> type : name

Agente Agent. Class <<goal>> type : name [= default-value] plan-list <<belief>> type : name [= default-value] {precondition-list} action {postcondition-list} plan {action-list} goal-name Características estruturais Características de comportamento

Organização Organization. Class <<goal>> type : name [= default-value] plan-list <<belief>> type : name

Organização Organization. Class <<goal>> type : name [= default-value] plan-list <<belief>> type : name [= default-value] <<axiom>> type : name [= default-value] Características estruturais {precondition-list} action {postcondition-list} plan {action-list} goal-name Características comportamentais

Papel de Agent. Role. Class <<goal>> type : name [= default-value] <<belief>> type :

Papel de Agent. Role. Class <<goal>> type : name [= default-value] <<belief>> type : name [= default-value] <<duty>> action <<right>> action protocol-name { messsage: {label: value, content: value, sender : value, receiver: value}. . . } Características estruturais Características de comportamento

Papel de Objeto Object. Role. Class [visibility] type : name [= default-value] [visibility] name

Papel de Objeto Object. Role. Class [visibility] type : name [= default-value] [visibility] name (parameter-list) : returned-value Características estructurais Características de comportamento

Ambiente Environment. Class or Environment. Class Características estructurais Características de comportamento Entidades que habitam

Ambiente Environment. Class or Environment. Class Características estructurais Características de comportamento Entidades que habitam o ambiente

Diagrama de Classes Objetivos: representar os relacionamentos entre classes e outras entidades do 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.

Diagrama de Classes: Exemplo Overall_evaluation associação get. Evaluation get. Paper 0. . 1 Paper

Diagrama de Classes: Exemplo Overall_evaluation associação get. Evaluation get. Paper 0. . 1 Paper abstract title authors content get. Abstract get. Title get. Authors get. Content set. Abstract set. Title set. Authors set. Content 0. . * Review reviewer comments evaluation 1 1 0. . 3 get. Reviewer get. Comments get. Evaluation get. Paper set. Reviewer set. Comments set. Evaluation set. Paper <<main-organization>> Conference agregação 0. . * Workshop 0. . * Tutorial 0. . * Researcher 0. . * Student Legend: Object / Environment Agent Organization Professor especialização

Diagrama de Organizações Ø Objetivo: modelar as organizações e os relacionamentos entre as organizações

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

Diagrama de Organizações: Exemplo (parte I) Conference_Center Event Workshop Chair <<goal>> manage. Event <<belief>>

Diagrama de Organizações: Exemplo (parte I) Conference_Center Event Workshop Chair <<goal>> manage. Event <<belief>> reviewers Collecting_submitted_ papers {…} Assigning_papers_to_reviewers { relate. Papers. To. Reviewers, create. Review. Proposal, attribute. Papers. To. Reviewers, attribute. Papers. Without 3 Reviewers. To. Chair } Distributing_reviews {check. Conflict, group. Reviews, inform. Authors} Collecting_camera-ready General_Chair _papers {…} Leyenda: Class / Environment class Object role class Tutorial <<main-organization>> Conference Researcher Organization class Agent role class Agent class Author Student PC_Member Ownership relationship Play relationship

Diagrama de Organizações: Exemplo (parte II) Conference_Center Blind_Review Overall_Evaluation Review <<main-organization>> Conference Paper Submission

Diagrama de Organizações: Exemplo (parte II) Conference_Center Blind_Review Overall_Evaluation Review <<main-organization>> Conference Paper Submission Camera_Ready

Diagrama de Papéis Objetivo: modelar os papéis e os relacionamentos entre os papéis Ø

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 Ø 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. ISMA

Diagrama de Papéis: Exemplo Blind_Submission Camera_Ready paper. Id get. Abstract get. Title get. Content

Diagrama de Papéis: Exemplo Blind_Submission Camera_Ready paper. Id get. Abstract get. Title get. Content get. Paper. Id set. Paper. Id get. Abstract get. Title get. Authors get. Content get. Paper. Id Author <<goal>>publish. Paper <<duty>>send. Camera. Ready if accepcted <<right>>submit. Paper <<protocol>>Paper. Submission Blind_Review PC_Member <<goal>>review. Paper Chair <<goal>>manage. Event <<duty>>make. Preview <<right>>refuse. Paper <<protocol>> Paper. Distribution <<duty>>receive. Papers, attribute. Papers. To. Reviewers, attribute. Papers. Without 3 Reviewers. To. Chair inform. Authors. Reviews <<protocol>>Paper. Submission Paper. Distribution get. Comments et. Evaluation get. Paper Leyenda: Agent role class Object role class General_Chair Control relationship Association relationship Generalization relationship

Diagramas Dinâmicos

Diagramas Dinâmicos

Diagrama de Seqüência de UML Ø Representa a interação entre os objetos e as

Diagrama de Seqüência de UML Ø Representa a interação entre os objetos e as execuções dos métodos Objeto A [se novo] <<create>> Objeto B mensaje valor de retorno <<destroy>>

Diagrama de Seqüência de MAS-ML Objetivo: representar as interações entre as instâncias do SMA

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

Elementos diagramas de seqüência Novos dezenhos para representar as entidades dos SMA Ø Novas

Elementos diagramas de seqüência Novos dezenhos para representar as entidades dos SMA Ø Novas definições para as entidades dos SMA Ø Objeto obj/role/org/env : Class/Object. Role. Class/Organization. Class/Environment. Class Agente agent/role/org/env : Agent. Class/Agent. Role. Class/Organization. Class/Environment. Class Organización org/role/org/env : Organization. Class/Agent. Role. Class/Organization. Class/Environment. Class Role Entorno : Role. Class Entidad activa Entidad pasiva env : Environment. Class

Redefinindo mensagens Ø UML: mensagens são chamada de métodos Ø SMA: mensagens não são

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) UML sender method_name () receiver MAS-ML sender message_label (content_description) receiver

Estereótipos de mensagens Como representar a criação de entidades de SMA? Ø UML: uso

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

Criando e destruindo entidades Creando una organización Anne/Fruit. Buyer : User. Agent/Buyer <<create>> Fruit.

Criando e destruindo entidades Creando una organización Anne/Fruit. Buyer : User. Agent/Buyer <<create>> Fruit. Store/Fruit. Wholesale: Store/Wholesale. . . Destruyendo una organización - I Anne/Fruit. Buyer : User. Agent/Buyer. . . Fruit. Store/Fruit. Wholesale: Store/Wholesale. . . <<destroy>> . . . Destruyendo una organización - II Anne/Fruit. Buyer : User. Agent/Buyer. . . <<destroy>> Fruit. Store : Store. . .

Estereótipos de mensagens Ø Como representar a relação entre papéis e entidades que desempenham

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 Ø Ø Entidade cancelando papel <<role_activate>> Entidade ativando papel <<role_deactivate>> Entidade desativando papel <<role_change>> Entidade mudando de papel <<role_cancel>>

Criando papel Bob/Fruit. Buyer : User. Agent/Buyer <<role_commitment>>. . . Criando um papel de

Criando papel Bob/Fruit. Buyer : User. Agent/Buyer <<role_commitment>>. . . Criando um papel de agente Bob/Clothes. Buyer : User. Agent/Buyer. . . Criando um papel de objeto Bob/Fruit. Buyer : User. Agent/Buyer <<role_commitment>>. . . Apple/Desirer. Fruit : Item/Desirer. . .

Cancelando papel Cancelando um papel de agente Bob/Fruit. Buyer : User. Agent/Buyer Bob/Clothes. Buyer

Cancelando papel Cancelando um papel de agente Bob/Fruit. Buyer : User. Agent/Buyer Bob/Clothes. Buyer : User. Agent/Buyer <<role_cancel>>. . . Cancelando um papel de agente Bob/Clothes. Buyer : User. Agent/Buyer <<role_cancel>> Cancelando um papel de objeto Bob/Fruit. Buyer : User. Agent/Buyer <<role_cancel>>. . . Apple/Desirer. Fruit : Item/Desirer

Desativando e ativando papel Desativar um papel Bob/Fruit. Buyer : User. Agent/Buyer Bob/Clothes. Buyer

Desativando e ativando papel Desativar um papel Bob/Fruit. Buyer : User. Agent/Buyer Bob/Clothes. Buyer : User. Agent/Buyer <<role_deactivate>>. . . Bob/Clothes. Buyer : User. Agent/Buyer <<role_deactivate>> Activar um papel Bob/Fruit. Buyer : User. Agent/Buyer Bob/Clothes. Buyer : User. Agent/Buyer <<role_activate>>. . .

Mudando de papel Cancelando um papel e criando novo papel Bob/Fruit. Buyer : User.

Mudando de papel Cancelando um papel e criando novo papel Bob/Fruit. Buyer : User. Agent/Buyer <<role_change>> Bob/Clothes. Buyer : User. Agent/Buyer. . . Cancelando um papel e ativando outro papel Bob/Fruit. Buyer : User. Agent/Buyer Bob/Clothes. Buyer : User. Agent/Buyer <<role_change>>. . . Desativando um papel e criando outro papel Bob/Fruit. Buyer : User. Agent/Buyer <<role_change>> Bob/Clothes. Buyer : User. Agent/Buyer. . . Desativando um papel e ativando outro papel Bob/Fruit. Buyer : User. Agent/Buyer Bob/Clothes. Buyer : User. Agent/Buyer <<role_change>>. . .

Modelando protocolos Ø Um protocolo define um conjunto de mensagens que entidades podem enviar

Modelando protocolos Ø Um protocolo define um conjunto de mensagens que entidades podem enviar e receber enquanto desempenhando papéis : Seller : Buyer Request (Item. Description) papel Proposal (Item. Description) Answer. Proposal (Reject. Item. Description) else Answer. Proposal (Accept. Item. Description) Inform (Bill) Inform (Payment) mensagem

Modelando planos e ações Ø Execução interna dos agentes, organizações e ambientes ativos são

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. : General. Store : User. Agent/Buyer Creating_seller Execution of a Plan Execution of an Action if (message_label = request) create_seller <<create>> : User. Agent/Seller inform_buyer_of_seller inform (seller_id) else

Place-A : Virutal. Marketplace plano Bob/buyer. Of. Books/Bookfinder/Place-A : User. Agent/Buyer/ General. Store/Virtual. Marketplace

Place-A : Virutal. Marketplace plano Bob/buyer. Of. Books/Bookfinder/Place-A : User. Agent/Buyer/ General. Store/Virtual. Marketplace Entering organization Brand. New. Bookstore/market. Of. Used. Books/Bookfinder/Place-A : Second-hand. Bookstore/Market. Of. Used. Goods/ General. Store/Virtual. Marketplace Search for organization get. Organizations() organização Vector chamada de método Check_organization_goals Request (Org. Goals) Managing entrance Get_organization_goals Inform (Org. Goals) Check_organization_roles Request (Org. Roles) ambiente agente Get_organization_roles Inform (Org. Roles) Select_role_to_play <<role_commitment>> Bob/buyer. Of. Second-hand. Books/Bookfinder/Place-A : User. Agent/Buyer. Of. Second-hand. Books/ General. Store/Virtual. Marketplace Inform (Role. To. Play) ação Register_itself_in_organization Inform (Buyer_of_second_hand_books) esteriótipo de mensagem Search_for_announcement Request (Announcement). . . Entering organization

Diagrama de Atividades de UML Objetivo: modelar o fluxo das actividades de um sistema

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

Diagrama de Atividades de MAS-ML Objetivo: representar a modelagem de planos e ações de

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 Ø

Extenção do Diagrama de Actividades Identificação de papéis, organização e ambiente Papel R 1

Extenção do Diagrama de Actividades Identificação de papéis, organização e ambiente Papel R 1 <<organization>> O 2 P 2 R 3 <<environment>> E 1 Plano <<environment>> E 2 Ø … … <<role_change>> A 3 A 4 Ações

Exemplo I/II <<goal>>to have an item sold <<role>>Seller Selling Informing Price Informing proposal [proposal

Exemplo I/II <<goal>>to have an item sold <<role>>Seller Selling Informing Price Informing proposal [proposal accepted] Payment [proposal rejected] <<goal>> Receiving Final Position plano

Exemplo II/II recurso Enviando mensagem Recibendo mensagem <<goal>>hav Assigning papers to reviewers Chair <<datastore>>

Exemplo II/II recurso Enviando mensagem Recibendo mensagem <<goal>>hav Assigning papers to reviewers Chair <<datastore>> papers Relate papers to reviewers <<datastore>> Papers without reviewers <<datastore>> Papers with reviewers <<message>> Asking for new reviewers <<message>> Proposals ( request : receiver (agent-id : content review. Pr : protocol Paper. Di Create reviewer proposal <<datastore>> Papers x Reviewers <<message>> New reviewers <<datastore>> reviewers Decision deadline <<datastore>> Papers x Reviewers Reviewer <<organization>> Workshop <<datastore>> reviewers <<role_commitment>> Review paper Attribute p 3 review

Chair <<organization>> Workshop <<organization>> Tutorial Distributing reviews <<message>> New reviewers Check conflict … End

Chair <<organization>> Workshop <<organization>> Tutorial Distributing reviews <<message>> New reviewers Check conflict … End of the workshop Reviewer <<environment>> AAMAS_Center <<environment>> CAi. SE_Center Mudando a organização e ambiente <<role_change>> Review paper