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

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

Linguagens de Modelagem

Apresentações semelhantes


Apresentação em tema: "Linguagens de Modelagem"— Transcrição da apresentação:

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

2 MAS-ML

3 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 Laboratório de Engenharia de Software (LES) – PUC-Rio

4 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 Laboratório de Engenharia de Software (LES) – PUC-Rio

5 Meta-classes do meta-model UML
Meta-modelo MAS-ML Element 1..* * 1..* Features Classifier AgentMessage 1 * sender receiver Structural Feature Behavioral Feature Class AgentClass EnvironmentClass ObjectRoleClass AgentRoleClass Active EnvironmentClass Passive EnvironmentClass Belief Goal OrganizationClass Property Axiom Right Duty Operation AgentAction AgentPlan AgentProtocol 1..* * * 0..1 0..1 0..1 0..1 Legenda Meta-classes do meta-model UML precondition precondition * * Novas meta-classes Constraint * * Novos estereótipos Laboratório de Engenharia de Software (LES) – PUC-Rio postcondition postcondition

6 Meta-classes do meta-modelo UML
Meta-modelo MAS-ML play AgentClass 1 1..* AgentRoleClass 0..* 0..* 0..* 1..* inhabit play in define play 1 1..* 1 1 sub-org EnvironmentClass 1 1..* OrganizationClass 1 0..* ObjectRoleClass inhabit define 1 sub- org 0..* 1 0..* 0..* play play in play in 0..* 1 inhabit 0..* Class Legenda Meta-classes do meta-modelo UML Novas meta-classes Laboratório de Engenharia de Software (LES) – PUC-Rio

7 Meta-modelo MAS-ML Element Relationship Classifier Association
1..* Classifier Association Directed Relationship Dependency Ownership Inhabit Control Play Generalization Legenda Meta-classes do meta-modelo UML Novas meta-classes Laboratório de Engenharia de Software (LES) – PUC-Rio

8 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 Laboratório de Engenharia de Software (LES) – PUC-Rio

9 Diagramas Estáticos

10 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 Laboratório de Engenharia de Software (LES) – PUC-Rio

11 Como representar agentes, organizações, papéis e ambientes?
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 Laboratório de Engenharia de Software (LES) – PUC-Rio

12 Elementos dos diagramas I
Class AgentClass AgentRoleClass ObjectRoleClass OrganizationClass Entidades EnvironmentClass EnvironmentClass Relacionamento Inhabit 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 Relacionamento Control Laboratório de Engenharia de Software (LES) – PUC-Rio

13 Elementos dos diagramas II
OrganizationClass AgentRoleClass Relacionamento Ownership OrganizationClass AgentRoleClass AgentClass Relacionamento Play Laboratório de Engenharia de Software (LES) – PUC-Rio

14 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 comportamentais Laboratório de Engenharia de Software (LES) – PUC-Rio

15 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 comportamentais Laboratório de Engenharia de Software (LES) – PUC-Rio

16 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 comportamentais Laboratório de Engenharia de Software (LES) – PUC-Rio

17 Papel de Objeto ObjectRoleClass
[visibility] type : name [= default-value] [visibility] name (parameter-list) : returned-value Características estruturais comportamentais Laboratório de Engenharia de Software (LES) – PUC-Rio

18 Ambiente EnvironmentClass EnvironmentClass Características or
estruturais or Características comportamentais Entidades que habitam o ambiente Laboratório de Engenharia de Software (LES) – PUC-Rio

19 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. Laboratório de Engenharia de Software (LES) – PUC-Rio

20 Diagrama de Classes Virtual Marketplace association Organization A
AgentA Item Book Organization A AgentB specialization Imported Books Second-hand Books inhabit Legend: Object / Environment Organization Agent Laboratório de Engenharia de Software (LES) – PUC-Rio

21 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. Laboratório de Engenharia de Software (LES) – PUC-Rio

22 Diagrama de Organizações
inhabit Virtual Marketplace play Store Agent User Agent Seller Buyer <<main-organization>> General Store Market of Special Goods Market of Used Goods Book Imported Bookstore Second-hand Bookstore Offer Desire Object role Agent role Object / Environment Agent Organization Legend: ownership Laboratório de Engenharia de Software (LES) – PUC-Rio

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. Laboratório de Engenharia de Software (LES) – PUC-Rio

24 Diagrama de Papéis association aggregation control specialization
Offer Desire association aggregation Seller Buyer Market of Special Goods Seller of Second-hand Books Buyer of Second-hand Books Buyer of Imported Books Seller of Imported Books Offer of Imported Books Offer of Second-hand Books Desire of Second-hand Books Desire of Imported Books control Market of Used Goods Seller specialization Legend: Seller of Imported Books Object role Agent role Laboratório de Engenharia de Software (LES) – PUC-Rio

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 Laboratório de Engenharia de Software (LES) – PUC-Rio

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 Laboratório de Engenharia de Software (LES) – PUC-Rio

28 Elementos dos diagramas
org/role/org/env : OrganizationClass/AgentRoleClass/OrganizationClass/EnvironmentClass Novos pathnames e novos ícones Objeto obj/role/org/env : Class/ObjectRoleClass/OrganizationClass/EnvironmentClass Agente agent/role/org/env : AgentClass/AgentRoleClass/OrganizationClass/EnvironmentClass Organização : RoleClass Papel Active entity Passive entity Ambiente env : EnvironmentClass env : EnvironmentClass Laboratório de Engenharia de Software (LES) – PUC-Rio

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 method_name () sender receiver message_label (content_description) sender receiver Laboratório de Engenharia de Software (LES) – PUC-Rio

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 Laboratório de Engenharia de Software (LES) – PUC-Rio

31 Criando e destruindo entidades
Criando uma organização Anne/FruitBuyer : UserAgent/Buyer <<create>> FruitStore/FruitWholesale: Store/Wholesale . . Destruindo uma organização - I Anne/FruitBuyer : UserAgent/Buyer FruitStore/FruitWholesale: Store/Wholesale . . <<destroy>> . Destruindo uma organização - II Anne/FruitBuyer : UserAgent/Buyer FruitStore : Store . . <<destroy>> . Laboratório de Engenharia de Software (LES) – PUC-Rio

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 Laboratório de Engenharia de Software (LES) – PUC-Rio

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 . . Laboratório de Engenharia de Software (LES) – PUC-Rio

34 Cancelando papel Cancelando papel de agente
Bob/FruitBuyer : UserAgent/Buyer Bob/ClothesBuyer : UserAgent/Buyer <<role_cancel>> . Cancelando papel de agente Bob/ClothesBuyer : UserAgent/Buyer <<role_cancel>> Cancelando papel de objeto Bob/FruitBuyer : UserAgent/Buyer Apple/DesirerFruit : Item/Desirer <<role_cancel>> . Laboratório de Engenharia de Software (LES) – PUC-Rio

35 Desativando e ativando papel
Desativar papel Bob/FruitBuyer : UserAgent/Buyer Bob/ClothesBuyer : UserAgent/Buyer <<role_deactivate>> . Bob/ClothesBuyer : UserAgent/Buyer <<role_deactivate>> Ativar papel Bob/FruitBuyer : UserAgent/Buyer Bob/ClothesBuyer : UserAgent/Buyer <<role_activate>> . . Laboratório de Engenharia de Software (LES) – PUC-Rio

36 Mudando de papel Cancelando papel e criando novo papel
Bob/FruitBuyer : UserAgent/Buyer <<role_change>> Bob/ClothesBuyer : UserAgent/Buyer . Cancelando papel e ativando outro papel Bob/FruitBuyer : UserAgent/Buyer Bob/ClothesBuyer : UserAgent/Buyer <<role_change>> . Desativando papel e criando outro papel Bob/FruitBuyer : UserAgent/Buyer <<role_change>> Bob/ClothesBuyer : UserAgent/Buyer . Desativando papel e reativando outro papel Bob/FruitBuyer : UserAgent/Buyer Bob/ClothesBuyer : UserAgent/Buyer <<role_change>> . Laboratório de Engenharia de Software (LES) – PUC-Rio

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 Laboratório de Engenharia de Software (LES) – PUC-Rio

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 Laboratório de Engenharia de Software (LES) – PUC-Rio

39 estereó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>> estereótipo de mensagem Inform (RoleToPlay) Entering organization Register_itself_in_organization Inform (Buyer_of_second_hand_books) Search_for_announcement Request (Announcement) ... Laboratório de Engenharia de Software (LES) – PUC-Rio

40 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 Laboratório de Engenharia de Software (LES) – PUC-Rio

41 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 Laboratório de Engenharia de Software (LES) – PUC-Rio

42 Modelando planos Invoking plans: planos que são invocados por outros planos/ações Laboratório de Engenharia de Software (LES) – PUC-Rio

43 Modelando ações Identificando uma ação pelo seu nome ou utilizando uma linguagem de descrição de ação 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 Laboratório de Engenharia de Software (LES) – PUC-Rio

44 Todo plano está associado a uma meta
Planos e Metas Todo plano está associado a uma meta Laboratório de Engenharia de Software (LES) – PUC-Rio

45 Condição de guarda Qualquer informação do estado mental do agente pode ser verificada na condição de guarda Laboratório de Engenharia de Software (LES) – PUC-Rio

46 Identificando a ato de fala Identificando o protocolo
Modelando Mensagens Identificando a ato de fala Identificando o protocolo Descrevendo a mensagem utilizando ACL Laboratório de Engenharia de Software (LES) – PUC-Rio

47 Associando papéis a execução de planos
Laboratório de Engenharia de Software (LES) – PUC-Rio

48 Usando partições para identificar papéis
Modelando a dinâmica de papéis Laboratório de Engenharia de Software (LES) – PUC-Rio

49 Modelando a dinâmica de papéis (mudança de papel)
Laboratório de Engenharia de Software (LES) – PUC-Rio

50 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) Laboratório de Engenharia de Software (LES) – PUC-Rio

51 Usando partições para identificar organizações
Laboratório de Engenharia de Software (LES) – PUC-Rio

52 Mudança de organização
Organizações Mudança de organização Laboratório de Engenharia de Software (LES) – PUC-Rio

53 Identificado ambiente Modelando a mudança de ambiente
Laboratório de Engenharia de Software (LES) – PUC-Rio


Carregar ppt "Linguagens de Modelagem"

Apresentações semelhantes


Anúncios Google