A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Linguagens de Modelagem – MAS-ML

Apresentações semelhantes


Apresentação em tema: "Linguagens de Modelagem – MAS-ML"— Transcrição da apresentação:

1 Linguagens de Modelagem – MAS-ML
Viviane Torres da Silva

2 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

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

4 Meta-modelo de MAS-ML Element NamedElement PackageableElement
Leyenda Meta-classes do meta-modelo de UML Novas Meta-clasess NamedElement PackageableElement RefinableElement Namespace Type Classifier Class AgentClass OrganizationClass AgentRoleClass ObjectRoleClass EnvironmentClass

5 Meta-modelo de MAS-ML AgentClass Play AgentRoleClass Control
1 controlled 0..* 1 play 1 play 0..1 agentRole AgentClass 0..1 agent 1..* play Play AgentRoleClass Control 0..* play 1 controller 0..* control 0..* play_in 0..* play 0..1 agentRole 0..1 agent 0..1 subOrg 1 ownership 1 org 0..1 org OrganizationClass 1 owner 0..* ownership Ownership 1 inhabit 1 ownership Inhabit 1 inhabit 0..* inhabit 1 inhabit 0..1 objectRole ObjectRoleClass 0..1 objectRole 1 env 0..1 class Class 0..1 class EnvironmentClass

6 Meta-modelo de MAS-ML Element NamedElement RefinableElement
Leyenda Meta-classes do meta-modelo de UML Novas Meta-classes NamedElement Novos estereótipos RefinableElement AgentMesageClass MultiplicityElement TypedElement Feature Namespace StructuralFeature BehavioralFeature Property Operation ActionClass PlanClass ProtocolClass Belief Goal Duty Right

7 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

8 Diagramas Estáticos

9 Diagrama de Classe de UML
Representa as classes e os relacionamentos entre as classes Item Order User Book Nome_da_classe atributo1 atributo2 metodo1 metodo2 metodo3 ... Imported Books Second-hand Books

10 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

11 Elementos dos diagramas estáticos I/II
Class AgentClass AgentRoleClass ObjectRoleClass OrganizationClass Entidades EnvironmentClass EnvironmentClass Relação Inhabit (habitar) In principle as TAO defines a set of six entities and eight different relationships, we should need fifteen new diagram elements to represent them. Fortunately, an entity and some relationships defined in TAO are also presented in the UML meta-model. AgentRoleClass AgentRoleClass Relação Control (controlar)

12 Elementos dos diagramas estáticos I/II
OrganizationClass AgentRoleClass Relação Ownership (propiedade) OrganizationClass AgentRoleClass AgentClass Relação Play (desempenhar)

13 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ísticas estruturais Características de comportamento

14 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ísticas estruturais Características comportamentais

15 Papel de Agente AgentRoleClass
<<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

16 Papel de Objeto ObjectRoleClass
[visibility] type : name [= default-value] [visibility] name (parameter-list) : returned-value Características estructurais Características de comportamento

17 Ambiente EnvironmentClass EnvironmentClass Características or
estructurais or Características de comportamento Entidades que habitam o ambiente

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

19 Diagrama de Classes: Exemplo
Overall_evaluation evaluation getEvaluation getPaper associação 0..1 Review reviewer comments evaluation getReviewer getComments getEvaluation getPaper setReviewer setComments setEvaluation setPaper <<main-organization>> Paper 1 Conference abstract title authors content getAbstract getTitle getAuthors getContent setAbstract setTitle setAuthors setContent 1 0..3 agregação 0..* 0..* Workshop Tutorial 0..* 0..* Legend: 0..* 0..* Researcher 0..* Object / Environment 0..* Agent Student Organization Professor especialização

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

21 Diagrama de Organizações: Exemplo (parte I)
Conference_Center Event Workshop Tutorial 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 {…} <<main-organization>> Conference Author Researcher Student PC_Member General_Chair Leyenda: Organization class Ownership relationship Class / Environment class Agent role class Object role class Play relationship Agent class

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

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

24 Diagrama de Papéis: Exemplo
Author Blind_Submission Camera_Ready <<goal>>publishPaper <<duty>>sendCameraReady if accepcted <<right>>submitPaper <<protocol>>PaperSubmission paperId getAbstract getTitle getContent getPaperId setPaperId paperId getAbstract getTitle getAuthors getContent getPaperId Blind_Review PC_Member Chair <<goal>>reviewPaper <<duty>>makePreview <<right>>refusePaper <<protocol>> PaperDistribution getComments etEvaluation getPaper <<goal>>manageEvent <<duty>>receivePapers, attributePapersToReviewers, attributePapersWithout3ReviewersToChair informAuthorsReviews <<protocol>>PaperSubmission PaperDistribution Leyenda: Agent role class Object role class General_Chair Control relationship Association relationship Generalization relationship

25 Diagramas Dinâmicos

26 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 mensaje valor de retorno <<destroy>>

27 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

28 Elementos dos diagramas de seqüência
org/role/org/env : OrganizationClass/AgentRoleClass/OrganizationClass/EnvironmentClass Novos dezenhos para representar as entidades dos SMA Novas definições para as entidades dos SMA Objeto obj/role/org/env : Class/ObjectRoleClass/OrganizationClass/EnvironmentClass Agente agent/role/org/env : AgentClass/AgentRoleClass/OrganizationClass/EnvironmentClass Organización : RoleClass Role Entidad activa Entidad pasiva Entorno env : EnvironmentClass env : EnvironmentClass

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

30 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

31 Criando e destruindo entidades
Creando una organización Anne/FruitBuyer : UserAgent/Buyer <<create>> FruitStore/FruitWholesale: Store/Wholesale . . Destruyendo una organización - I Anne/FruitBuyer : UserAgent/Buyer FruitStore/FruitWholesale: Store/Wholesale . . <<destroy>> . Destruyendo una organización - II Anne/FruitBuyer : UserAgent/Buyer FruitStore : Store . . <<destroy>> .

32 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

33 Criando papel Criando um papel de agente Criando um papel de objeto
Bob/FruitBuyer : UserAgent/Buyer <<role_commitment>> Bob/ClothesBuyer : UserAgent/Buyer . . Criando um papel de objeto Bob/FruitBuyer : UserAgent/Buyer <<role_commitment>> Apple/DesirerFruit : Item/Desirer . .

34 Cancelando papel Cancelando um papel de agente
Bob/FruitBuyer : UserAgent/Buyer Bob/ClothesBuyer : UserAgent/Buyer <<role_cancel>> . Cancelando um papel de agente Bob/ClothesBuyer : UserAgent/Buyer <<role_cancel>> Cancelando um papel de objeto Bob/FruitBuyer : UserAgent/Buyer Apple/DesirerFruit : Item/Desirer <<role_cancel>> .

35 Desativando e ativando papel
Desativar um papel Bob/FruitBuyer : UserAgent/Buyer Bob/ClothesBuyer : UserAgent/Buyer <<role_deactivate>> . Bob/ClothesBuyer : UserAgent/Buyer <<role_deactivate>> Activar um papel Bob/FruitBuyer : UserAgent/Buyer Bob/ClothesBuyer : UserAgent/Buyer <<role_activate>> . .

36 Mudando de papel Cancelando um papel e criando novo papel
Bob/FruitBuyer : UserAgent/Buyer <<role_change>> Bob/ClothesBuyer : UserAgent/Buyer . Cancelando um papel e ativando outro papel Bob/FruitBuyer : UserAgent/Buyer Bob/ClothesBuyer : UserAgent/Buyer <<role_change>> . Desativando um papel e criando outro papel Bob/FruitBuyer : UserAgent/Buyer <<role_change>> Bob/ClothesBuyer : UserAgent/Buyer . Desativando um papel e ativando outro papel Bob/FruitBuyer : UserAgent/Buyer Bob/ClothesBuyer : UserAgent/Buyer <<role_change>> .

37 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 papel mensagem

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

39 esteriótipo de mensagem
Bob/buyerOfBooks/Bookfinder/Place-A : UserAgent/Buyer/ GeneralStore/VirtualMarketplace Place-A : VirutalMarketplace BrandNewBookstore/marketOfUsedBooks/Bookfinder/Place-A : Second-handBookstore/MarketOfUsedGoods/ GeneralStore/VirtualMarketplace ambiente plano Entering organization Search for organization organização getOrganizations() Vector chamada de método Check_organization_goals Managing entrance Request (OrgGoals) Get_organization_goals Inform (OrgGoals) Check_organization_roles Request (OrgRoles) agente Get_organization_roles Inform (OrgRoles) ação Bob/buyerOfSecond-handBooks/Bookfinder/Place-A : UserAgent/BuyerOfSecond-handBooks/ GeneralStore/VirtualMarketplace Select_role_to_play <<role_commitment>> esteriótipo de mensagem Inform (RoleToPlay) Entering organization Register_itself_in_organization Inform (Buyer_of_second_hand_books) Search_for_announcement Request (Announcement) ...

40 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

41 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

42 Extenção do Diagrama de Actividades
Identificação de papéis, organização e ambiente <<role_change>> A3 A4 <<environment>> E1 E2 <<organization>> O2 O1 R3 R1 P2 Plano Ações Papel

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

44 Exemplo II/II Recibendo mensagem Enviando mensagem recurso
Relate papers to reviewers Assigning papers to reviewers <<goal>>have papers assigned to reviewers <<datastore>> Papers with reviewers Papers without Create reviewer proposal <<message>> Answers of Proposals New reviewers Asking for new [if proposal accepted] Papers x Reviewers Attribute papers without 3 reviewers to chair Decision deadline <<role_commitment>> Review paper papers Chair Reviewer Proposals ( request :receiver (agent-identifier: reviewer :content reviewProposal :protocol PaperDistribution ) <<organization>> Workshop Attribute papers

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


Carregar ppt "Linguagens de Modelagem – MAS-ML"

Apresentações semelhantes


Anúncios Google