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

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

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

Apresentações semelhantes


Apresentação em tema: "Linguagens de Modelagem Equipe do Curso de ES para SMA {lucena, furtado, choren,"— Transcrição da apresentação:

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

2 MAS-ML

3 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

4 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 TAO meta-modelo MAS-ML meta-modelo instanciação MAS-ML modelos unificação

5 Laboratório de Engenharia de Software (LES) – PUC-Rio Meta-modelo MAS-ML DutyRight FeaturesClassifier Structural FeatureBehavioral Feature BeliefGoal Axiom Operation Property ClassAgentClassObjectRoleClass OrganizationClass AgentPlan Meta-classes do meta-model UML Novas meta-classes Novos estereótipos Legenda AgentRoleClass AgentAction 1..** * sender receiver 1 * Element AgentProtocol AgentMessage 1..* * Constraint postcondition precondition 0..1 * ** * EnvironmentClass Active EnvironmentClass Passive EnvironmentClass

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

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

8 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

9 Diagramas Estáticos

10 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 atributo1 atributo2 metodo1 metodo2 metodo3...

11 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

12 Laboratório de Engenharia de Software (LES) – PUC-Rio Elementos dos diagramasI ObjectRoleClassOrganizationClassAgentRoleClassAgentClassClass AgentRoleClass EnvironmentClass Relacionamento Inhabit Relacionamento Control Entidades

13 Laboratório de Engenharia de Software (LES) – PUC-Rio Elementos dos diagramasII OrganizationClassAgentRoleClass OrganizationClassAgentRoleClass AgentClass Relacionamento Ownership Relacionamento Play

14 Laboratório de Engenharia de Software (LES) – PUC-Rio Agente AgentClass > type : name [= default-value] plan-list > type : name [= default-value] {precondition-list} action {postcondition-list} plan {action-list} goal-name Características estruturais Características comportamentais

15 Laboratório de Engenharia de Software (LES) – PUC-Rio Organização OrganizationClass > type : name [= default-value] plan-list > type : name [= default-value] {precondition-list} action {postcondition-list} plan {action-list} goal-name Características estruturais Características comportamentais

16 Laboratório de Engenharia de Software (LES) – PUC-Rio Papel de Agente AgentRoleClass > type : name [= default-value] > action protocol-name { messsage: {label: value, content: value, sender : value, receiver: value}...} Características estruturais Características comportamentais

17 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ísticas comportamentais

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

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

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

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

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

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

24 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 of Imported Books Buyer of Second-hand Books Seller of Second-hand Books Desire of Second-hand Books Offer of Second-hand Books Market of Used Goods Object role Agent role Legend: control aggregationassociation Seller Seller of Imported Books specialization

25 Diagramas Dinâmicos

26 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

27 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

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

29 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) senderreceiver method_name () senderreceiver

30 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 > –Estender para representar a criação de entidades de SMA Como representar a destruição de entidades de SMA? UML: uso do estereotipo > –Estender para representar a destruição de entidades de SMA

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

32 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? > Entidade se comprometendo com um novo papel > Entidade cancelando papel > Entidade ativando papel > Entidade desativando papel > Entidade mudando de papel

33 Laboratório de Engenharia de Software (LES) – PUC-Rio Criando papel Bob/FruitBuyer : UserAgent/Buyer Bob/ClothesBuyer : UserAgent/Buyer > Bob/FruitBuyer : UserAgent/Buyer Apple/DesirerFruit : Item/Desirer > Criando um papel de agente Criando um papel de objeto

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

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

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

37 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

38 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) > Creating_seller Execution of a Plan Execution of an Action Execution of an Action

39 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 > 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 de método ambiente agente organização

40 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

41 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

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

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

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

45 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

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

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

48 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

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

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

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

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

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


Carregar ppt "Linguagens de Modelagem Equipe do Curso de ES para SMA {lucena, furtado, choren,"

Apresentações semelhantes


Anúncios Google