Linguagens de Modelagem



Documentos relacionados
Uma visão mais clara da UML Sumário

Ricardo Pereira e Silva UML 2. Modelagem Orientada a Objetos. Visual. Books

Sumário. Capítulo 1 Introdução à UML Capítulo 2 Orientação a Objetos Agradecimentos... 6 Sobre o Autor... 6 Prefácio...

A história de UML e seus diagramas

FMR Faculdade Marechal Rondon Gestão de Sistemas de Informação Prof. Ms. Elvio Gilberto da Silva

UML 2 uma abordagem prática Gilleanes T. A. Guedes

Extensão de MAS-ML para a Modelagem de Agentes BDI

Odyssey-MDA: Uma Ferramenta para Transformações de Modelos UML

Modelagem de Banco de Dados através do ERwin

UML Diagramas. UML Diagramas. UML Diagrama Diagrama de Classes. UML Diagrama Diagrama de Classes

2. Sistemas Multi-Agentes (Multi-Agent System - MAS)

Desenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto

Modelagem de Organizações de Agentes Inteligentes: uma Extensão da MAS-ML Tool

de teste funcionais utilizando diagramas de sequência em UML

ESPECIFICAÇÃO DO AMBIENTE EXPSEE SEGUNDO O MÉTODO CATALYSIS

Diagrama de Classes. Diagrama de Classes. Diagramas de Classe. POST Criando Diagramas de Classe. Como construir (2)

1. Papyrus UML2 Modeler

MODELAGEM DE ARQUITETURAS INTERNAS DE AGENTES DE SOFTWARE UTILIZANDO A LINGUAGEM MAS-ML 2.0

Transformando Modelos da MDA com o apoio de Componentes de Software

company overview May 20, 2008

1. Visual Paradigm for UML

3 Trabalhos relacionados

Análise e Projeto Orientados por Objetos

UML 2. Gilleanes T. A. Guedes. Novatec

Introdução a INGENIAS:

ENGENHARIA DE SOFTWARE ExtremePlanner

UML - Unified Modeling Language

Engenharia de Software I: Análise e Projeto de Software Usando UML

Modelagem de Processos. Prof.: Fernando Ascani

Modelação dos mecanismos de controlo de acesso numa arquitectura empresarial

QUESTÃO 2: A respeito do diagrama de caso de uso apresentado, assinale a alternativa correta.

Tópicos em Engenharia de Computação

Transformação de modelos em processos de desenvolvimento de software

Modelagem de dados e uso do SGBD MySQL

Engenharia de Software I

Sumário. Uma visão mais clara da UML

Itens estruturais/caso de uso. Itens estruturais/classe ativa. Itens estruturais/componente. Itens estruturais/artefatos. Itens comportamentais

Engenharia de Requisitos Estudo de Caso

9. UML ASPECTOS AVANÇADOS

2 Diagrama de Caso de Uso

UNIVERSIDADE DE MOGI DAS CRUZES Centro de Ciências Exatas e Tecnológicas

UML: Diagrama de Seqüência

UML. Gilleanes T. A. Guedes. uma abordagem prática. Novatec

Diagramasde Interação. Prof. Anderson Cavalcanti UFRN-CT-DCA

Fase 1: Engenharia de Produto

O que é a UML? Introdução a UML. Objetivos da Modelagem. Modelos. A UML não é. Princípios da Modelagem. O que é um modelo?

Unisant Anna Gestão Empresarial com ERP 2014 Modelagem de Sistemas - UML e MER

PHP: Programando com Orientação a Objetos

modelagem do negócio (processos e objetos do negócio) modelagem de requisitos alocados ao software modelagem da solução de software

Frameworks. Pasteur Ottoni de Miranda Junior

Análise e Projeto Orientado a Objetos. Modelagem de Domínio

4 O Workflow e a Máquina de Regras

Conteúdo. Disciplina: INF Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo

Programa do Módulo 2. Fundações do Modelo Objeto

Perfil de UML Rational para Modelagem de Negócios

RUP. Evolução. Principais Características do RUP. Principais Características do RUP RUP

Um Processo para Desenvolvimento de Aplicações Web Baseado em Serviços. Autores: Fábio Zaupa, Itana Gimenes, Don Cowan, Paulo Alencar e Carlos Lucena

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação

UML Diagramas Estruturais Classes

Modelagem OO com UML. Vítor E. Silva Souza ~ vitorsouza

Jugurta Lisboa Filho

Sistemas para internet e software livre

QUESTÃO 01 - DIAGRAMA DE SEQUENCIA (CONCEITOS)

Modelagem de Casos de Uso (Parte 1)

Capítulo 09. Construindo o Modelo do Domínio

Engenharia de Software III

CASO DE USO. Isac Aguiar isacaguiar.com.br

Franklin Ramalho Universidade Federal de Campina Grande - UFCG

INF 2125 PROJETO DE SISTEMAS DE SOFTWARE Prof. Carlos J. P. de Lucena

Levantamento, Análise e Gestão Requisitos. Aula 04

Padrões de Interação com o Usuário

Um Componente de Gerenciamento de Execução de Workflow Segundo a Abordagem de Linha de Produto de Software

Capítulo 8. Introdução UML

Diagrama de Caso de Uso e Diagrama de Sequência

Engenharia de Software

Arquitetura de Software

UML 2. Guia Prático. Gilleanes T.A. Guedes. Novatec. Obra revisada e ampliada a partir do título Guia de Consulta Rápida UML 2

Um modelo é uma simplificação da realidade. Construímos modelos para compreender melhor o sistema que estamos desenvolvendo.

Universidade Federal Rural de Pernambuco. Bacharelado em Sistemas de Informação. Disciplina: Análise e Projeto de Sistemas de Informação

A linguagem UML. UML e Diagramas de Casos de Uso e Classes. Por que usar UML? O que é modelagem?

PROVA DE CONHECIMENTOS ESPECÍFICOS PROGRAMADOR DE COMPUTADOR. Analise as seguintes afirmativas sobre os modelos de processos de software:

:: aula 11. :: Diagrama de Seqüência e Protótipos. :: Olá! Nesta aula, continuaremos a 4ª fase do Projeto Desenho.

Transcrição:

Linguagens de Modelagem Equipe do Curso de ES para SMA {lucena, furtado, choren, viviane}@infpuc-riobr MAS-ML 1

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 Camada de meta-meta-modelo MOF meta-meta-modelo ER meta-meta-modelo instanciação Camada de meta-modelo UML meta-modelo MAS-ML meta-modelo TAO meta-modelo unificação Camada de modelo de domínio MAS-ML modelos Camada de instância 2

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

Meta-modelo MAS-ML Element Relationship 1* Classifier Association Directed Relationship Dependency Ownership Inhabit Control Play Generalization Legenda Meta-classes do meta-modelo UML Novas meta-classes 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 4

Diagramas Estáticos Diagrama de Classe de UML Representa as classes e os relacionamentos entre as classes Item Order User Book Imported Books Second-hand Books Nome_da_classe atributo1 atributo2 metodo1 metodo2 metodo3 5

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 dos diagramas I Entidades Class AgentClass AgentRoleClass ObjectRoleClass OrganizationClass EnvironmentClass EnvironmentClass Relacionamento Inhabit Relacionamento Control AgentRoleClass AgentRoleClass 6

Elementos dos diagramas II Relacionamento Ownership OrganizationClass AgentRoleClass OrganizationClass AgentRoleClass Relacionamento Play AgentClass 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 comportamentais 7

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

Papel de Objeto ObjectRoleClass [visibility] type : name [= default-value] [visibility] name (parameter-list) : returned-value Características estruturais Características comportamentais Ambiente EnvironmentClass or EnvironmentClass Características estruturais Características comportamentais Entidades que habitam o ambiente 9

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 Virtual Marketplace Organization A AgentA Item association Book Organization A AgentB Imported Books Second-hand Books specialization inhabit Legend: Object / Environment Organization Agent 10

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

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 Diagrama de Papéis Offer Desire Seller association Buyer aggregation Market of Special Goods Seller of Second-hand Books Buyer of Second-hand Books Buyer of Imported Books Seller of Imported Books Market of Used Goods Offer of Second-hand Books Desire of Second-hand Books Desire of Imported Books Seller control Offer of Imported Books Legend: Seller of Imported Books specialization Object role Agent role 12

Diagrama Dinâmico Diagrama de Seqüência de UML Representa a interação entre os objetos e as execuções dos métodos joao:dentista jose Floricultor 1: enviarflores("rosas","maria","petropolis","rua x, 9"):boolean central CentralFloricultura 11: atendecidade("petropolis"):boolean floricultorpetropolis Floricultor 12:[se nao na cid] getfloricultornacidade("petropolis"):floricultor 13: aceitaencomenda("rosas","rua X,9"):boolean 13

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 dos diagramas 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 org/role/org/env : OrganizationClass/AgentRoleClass/OrganizationClass/EnvironmentClass Papel : RoleClass Ambiente Active entity env : EnvironmentClass Passive entity env : EnvironmentClass 14

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 sender sender method_name () message_label (content_description) receiver receiver 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 15

Criando e destruindo entidades Anne/FruitBuyer : UserAgent/Buyer <<create>> Criando uma organização 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>> 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 16

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

Desativando e ativando papel Desativar papel Bob/FruitBuyer : UserAgent/Buyer Bob/ClothesBuyer : UserAgent/Buyer <<role_deactivate>> Bob/ClothesBuyer : UserAgent/Buyer <<role_deactivate>> Bob/FruitBuyer : UserAgent/Buyer <<role_activate>> Bob/ClothesBuyer : UserAgent/Buyer Ativar papel 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>> 18

Modelando protocolos Um protocolo define um conjunto de mensagens que entidades podem enviar e receber enquanto desempenhando papéis : Buyer : Seller papel Request (ItemDescription) Proposal (ItemDescription) AnswerProposal (RejectItemDescription) else AnswerProposal (AcceptItemDescription) Inform (Bill) Inform (Payment) mensagem 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 Execution of a Plan Execution of an Action Execution of an Action if (message_label = request) create_seller <<create>> : UserAgent/Seller inform_buyer_of_seller inform (seller_id) else 19

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