Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouDanilo Miranda Alterado mais de 9 anos atrás
1
CIn/UFPE – IN1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo 1
2
2 IN1008 – Projeto Conceitual de BD Model Driven Architecture – MDA Exemplos de aplicações de Perfis Por: Cláudia Carolina N. Souza ccns@cin.ufpe.br
3
CIn/UFPE – IN1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo 3 Roteiro Motivação Objetivo Principais Conceitos Envolvidos Estado da Arte Abordagem Prática Referências
4
CIn/UFPE – IN1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo 4 Motivação: A heterogeneidade é uma característica inerente dos sistemas computacionais atuais. Logo, não existe uma plataforma específica que seja utilizada para todos os propósitos;[7] A abordagem MDA é utilizada para dar ênfase no desenvolvimento orientada a modelos em relação a tecnologia; Nesse sentido, a UML é utilizada para especificar a notação e a semântica dos modelos; Entretanto, a especificação UML não engloba todos os as aspectos de modelagem para cada plataforma ou domínio de modelagem específico; Logo, para satisfazer a essas necessidades, a UML apresenta uma arquitetura extensível, para montar perfis; MDA - Exemplos de aplicações de Perfis
5
CIn/UFPE – IN1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo 5 Roteiro Motivação Objetivo Principais Conceitos Envolvidos Estado da Arte Abordagem Prática Referências
6
CIn/UFPE – IN1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo 6 Objetivo: Apresentar principais conceitos e exemplos de Perfis; Apresentar a biblioteca da Infra-estrutura da UML; Abordar as formas de definição de metamodelos: Estender UML e Metamodelo MOF; Discutir a utilização de Profile UML versus Metamodelo MOF; Abordar, suncitamente, OCL (Object Constraint Language) e XMI(XML Metadata Interchange); Apresentar ferramentas de modelagem que suportam a criação e a utilização de perfis. MDA - Exemplos de aplicações de Perfis
7
CIn/UFPE – IN1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo 7 Roteiro Motivação Objetivo Principais Conceitos Envolvidos Estado da Arte Abordagem Prática Referências
8
CIn/UFPE – IN1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo 8 Principais Conceitos Perfil É uma forma de prover extensões na UML através da utilização dos mecanismos de extensibilidade, tais quais: estereótipos, tagged values e restrições. [1] MDA - Exemplos de aplicações de Perfis Perfis foram introduzidos no UML 1.3 como uma maneira de estender a linguagem de modelagem. Na UML 2.0, foi inserido um novo mecanismo de extensão, o meta-modelo. Logo, o meta-modelo da UML é um modelo utilizado para definir o UML, sendo possível adicionar novas regras ao meta-modelo de forma a estender a UML. [8] Mecanismo que define uma linguagem para expressar um modelo
9
CIn/UFPE – IN1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo 9 Principais Conceitos Estereótipos Corresponde a um valor de propriedade aplicado a um elemento UML para estender suas propriedade e alterar ligeiramente sua semântica. A notação do estereótipo é feita por entre dois “guillemots”. MDA - Exemplos de aplicações de Perfis
10
CIn/UFPE – IN1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo 10 Principais Conceitos Tagged Values São propriedades extras que podem ser atribuídas aos estereótipos criados previamente, permitindo a inserção de informações adicionais. [8] Exemplo: Autor de uma classe,ou data em que a classe foi criada. MDA - Exemplos de aplicações de Perfis Tagged Values são expressos na da seguinte forma: nome=valor : autor=“Cláudia” Delimitados com chaves: {autor=“Tom”, data_criação=“22/05/07”}
11
CIn/UFPE – IN1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo 11 Principais Conceitos Restrições Permitem especificar regras e restrições sobre elementos do modelo UML. Uma restrição é delimitada por chaves { }. Exemplo: MDA - Exemplos de aplicações de Perfis As restrições são expressas mais formalmente por meio da OCL
12
CIn/UFPE – IN1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo 12 MDA - Exemplos de aplicações de Perfis Principais Conceitos Object Constraint Language (OCL) Provê um conjunto de elementos para definir expressões; As expressões OCL não modificam o estado dos objetos, mas definem restrições sobre os mesmos; É utilizada para representar a semântica dos modelos que não podem ser representadas pelos diagramas UML. [7]
13
CIn/UFPE – IN1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo 13 Principais Conceitos: XMI (XML Metadata Interchange) Especificação desenvolvida pela OMG; Baseada na XML; Permite que as ferramentas de modelagem de diferentes fornecedores possam exportar os modelos UML para XMI; Permite, também, trocar informações com base em qualquer metamodelo baseado na MOF; Possibilita que os fornecedores manipulem a saída de dados XMI das ferramentas de modelagem, transformando-a em outras formas, como código. MDA - Exemplos de aplicações de Perfis
14
CIn/UFPE – IN1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo 14 Definindo um Perfil MDA - Exemplos de aplicações de Perfis Infra-estrutura da UML [1] Define os conceitos básicos para a modelagem da própria UML Estender o metamodelo UML e MOF
15
CIn/UFPE – IN1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo 15 Profile UML versus Metamodelo MOF A vantagem de estender a UML através de perfis: Possui ferramentas de modelagem UML que possuem suporte ao uso de perfis; Criar um novo metamodelo MOF: Permite mecanismos de herança, classes, pacotes para criar metamodelos; Entretanto, o único tipo de extensão entendido pelas ferramentas UML são através de profiles As ferramentas, atuais, de modelagem suportam apenas o metamodelo UML. MDA - Exemplos de aplicações de Perfis
16
CIn/UFPE – IN1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo 16 Roteiro Motivação Objetivo Principais Conceitos Envolvidos Estado da Arte Abordagem Prática Referências
17
CIn/UFPE – IN1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo 17 Estado da arte Há um número ilimitado de perfis; [1] A proliferação de perfis é contrária ao objetivo da UML; Nesse sentido, a OMG estabeleceu um processo de adoção para perfis, para que os especialistas no setor possam se juntar e formar perfis padrão para diversos domínios de modelagem; MDA - Exemplos de aplicações de Perfis
18
CIn/UFPE – IN1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo 18 Estado da Arte Perfis Adotados pela OMG UML Testing Profile Estende a UML para modelar informações no teste dos sistemas; Permitir especificar testes em vários níveis, como: casos de teste no nível de integração de sistemas. UML Profile for Software Development Process Usado com o Rational Unified Process (RUP), e tem suas origens no trabalho de Ivar Jacobson; É definido somente através de estereótipos e restrições; É responsável por introduzir os estereótipos de classe >, > e >. MDA - Exemplos de aplicações de Perfis
19
CIn/UFPE – IN1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo 19 Estado da Arte Web Application Extensions Propostos por Jim Conallen; Auxiliar na modelagem de aplicações web; Identifica os elementos específicos para a construção de aplicações web. MDA - Exemplos de aplicações de Perfis
20
CIn/UFPE – IN1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo 20 Estado da Arte UML Profile para Banco de Dados Desenvolvido pela Rational Software Corporation; O conceito de tabelas e relacionamentos usados em bases de dados são mapeados para os conceitos de classes e associações em UML. MDA - Exemplos de aplicações de Perfis
21
CIn/UFPE – IN1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo 21 MDA - Exemplos de aplicações de Perfis Tabelas: Modelada como uma classe, com o estereótipo >.
22
CIn/UFPE – IN1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo 22 MDA - Exemplos de aplicações de Perfis Views: Modelada como uma classe, com o estereótipo >. O estereótipo > : quando uma view modelada com dependência de duas ou mais tabelas.
23
CIn/UFPE – IN1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo 23 MDA - Exemplos de aplicações de Perfis Keys: Primary Key: única e identifica uma coluna na tabela. Representada pelo estereótipo >; Foreign Key: derivada do relacionamento com outras tabelas. Representada pelo estereótipo >; Em caso de uma Foreign Key ser usada como Primary Key, a combinação das chaves são representadas pelo estereótipo >.
24
CIn/UFPE – IN1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo 24 MDA - Exemplos de aplicações de Perfis Index: Estrutura física de rápido acesso aos dados. Representada pelo estereótipo >;
25
CIn/UFPE – IN1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo 25 MDA - Exemplos de aplicações de Perfis Relacionamentos: Classificados em: Non-Identifying : representa o relacionamento entre duas tabelas diferentes.
26
CIn/UFPE – IN1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo 26 MDA - Exemplos de aplicações de Perfis Relacionamentos: Classificados em: Identifying : representa o relacionamento entre duas tabelas dependentes.
27
CIn/UFPE – IN1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo 27 Roteiro Motivação Objetivo Principais Conceitos Envolvidos Estado da Arte Abordagem Prática Referências
28
CIn/UFPE – IN1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo 28 MDA - Exemplos de aplicações de Perfis ArgoCASEGEO e TerraLib ArgoCASEGEO – ferramenta CASE utilizada no projeto de banco de dados geogr á ficos; Baseada no modelo conceitual de dados UML-GeoFrame; TerraLib – biblioteca de classes implementadas em C++. Adequada para o desenvolvimento de SIG. Projeto open-source desenvolvido pelo Instituto Nacional de Pesquisas Espaciais (INPE).
29
CIn/UFPE – IN1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo 29 O Modelo TerraLib Tabelas de metadados: guardam os conceitos da biblioteca TerraLib, tais quais: projeção, layers, etc. Tabelas de dados: armazenam a componente descritiva do dado. MDA - Exemplos de aplicações de Perfis
30
CIn/UFPE – IN1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo 30 MDA - Exemplos de aplicações de Perfis O Modelo TerraLib Tabelas de metadados Te_layer: armezena os layers, que são agregados de informações espaciais relacionadas a uma mesma região geográfica; Te_theme: armazena os temas, os quais representam subconjuntos de um layer; Te_view: armazena as vistas, as quais definem os temas que serão vistos conjuntamente; Te_projection: armazena a projeção geográfica utiliza; Te_representation: armazena a representação geométrica dos objetos geográficos; Te_layer_table: realiza a ligação entre um layer e sua tabela de atributos descritivos; [3]
31
CIn/UFPE – IN1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo 31 Módulo de Geração Automática – MGA Implementado utilizando as linguagens Java e C++; Recebe como entrada a identifica ç ão do dicion á rio de dados que cont é m o esquema conceitual a ser transformado (.xmi); Uma regra de transforma ç ão é aplicada para cada elemento do esquema conceitual de dados; MDA - Exemplos de aplicações de Perfis Descrição do Mapeamento aplicadas pelo MGA- TerraLib
32
CIn/UFPE – IN1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo 32 Módulo de Geração Automática – MGA Regra 1 – Pacote Conjunto de classes inter-relacionadas; Cada pacote definido no esquema conceitual, uma te_view é gerada; MDA - Exemplos de aplicações de Perfis [11]
33
CIn/UFPE – IN1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo 33 Módulo de Geração Automática – MGA Regra 2 – Classes do Tipo Objeto Geográfico Cada classe modelada como gera um te_layer; Os atributos definidos na classe é transformado em uma tabela de dados descritivos te_layer_table MDA - Exemplos de aplicações de Perfis [11]
34
CIn/UFPE – IN1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo 34 Módulo de Geração Automática – MGA Regra 3 – Classes do Campo Geográfico TerraLib, ainda, não trata de campos geográficos; As representações são: pontos, linhas e polígonos; Mapeado para um te_layer. MDA - Exemplos de aplicações de Perfis [11]
35
CIn/UFPE – IN1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo 35 Módulo de Geração Automática – MGA Regra 4 – Classes do Tipo Objeto Não Geográfico Cada classe modelada como objeto não-geográfico gera apenas uma única tabela no banco de dados. MDA - Exemplos de aplicações de Perfis
36
CIn/UFPE – IN1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo 36 Módulo de Geração Automática – MGA Regra 5 – Associação, Agregação e Composição O mapeamento é baseado nas regras de transformação de relacionamentos especificadas de um SGBD relacional; MDA - Exemplos de aplicações de Perfis
37
CIn/UFPE – IN1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo 37 Módulo de Geração Automática – MGA Regra 6 – Generalização e Especialização O mapeamento é baseado nas regras de transformação de relacionamentos especificadas de um SGBD relacional; MDA - Exemplos de aplicações de Perfis
38
CIn/UFPE – IN1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo 38 Arquitetura do MGA-TerraLib MDA - Exemplos de aplicações de Perfis DLL possibilita a comunicação entre o Parser JAVA e a biblioteca C++;
39
CIn/UFPE – IN1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo 39 MDA - Exemplos de aplicações de Perfis Extensão UML (Profiles) MGA-TerraLib Esquema lógico-espacial no modelo TerraLib
40
CIn/UFPE – IN1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo 40 Ferramentas de Modelagem Together Architect Versão Trial de 15 dias MDA - Exemplos de aplicações de Perfis
41
CIn/UFPE – IN1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo 41 Ferramentas de Modelagem Together Architect Versão Trial de 15 dias; Apresenta suporte de especificação visual de perfil de forma semelhante à proposta pela OMG; Suporta a especificação de restrições em OCL com o auxílio de um editor específico para esta linguagem. MDA - Exemplos de aplicações de Perfis
42
CIn/UFPE – IN1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo 42 Ferramentas de Modelagem AndroMDA Ferramenta open-source distribuída pela licença Berkeley Software Distribution (BSD); A geração de código das aplicações é realizada a partir de modelos estereotipados; O mapeamento para uma tecnologia específica é feito através do conceito de cartuchos (cartridge); Os estereótipos dos modelos UML são utilizados como guias para a geração de código MDA - Exemplos de aplicações de Perfis
43
CIn/UFPE – IN1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo 43 Ferramentas de Modelagem AndroMDA MDA - Exemplos de aplicações de Perfis [7] Perfil UML
44
CIn/UFPE – IN1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo 44 Ferramentas de Modelagem Papyrus UML Baseada na UML 2.0; Ferramenta open source baseada no ambiente Eclipse; Armazena os próprios modelos no padrão XMI; MDA - Exemplos de aplicações de Perfis [12]
45
CIn/UFPE – IN1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo 45 [1] - Pender,T., UML a Bíblia. Rio de Janeiro: Elsevier, 2004. [2] – Gazola, A., Sampaio, G. B., Filho, J.L., ArgoCASEGEO + TerraLib = banco de dados geográficos para aplicações Small GIS. [3] - Gazola, A., Filho, J.L., Projeto Automatizado de Banco de Dados Geográficos para Aplicações Small GIS. [4] – Kleppe, A., Warmer, J., Bast, W., MDA Explained. The Model Driven Architecture: Practice and Promise. [5] – TerraLib. Acessado em 15 de maio de 2008. MDA - Exemplos de aplicações de Perfis
46
CIn/UFPE – IN1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo 46 [6] – Pastor, O., Molina, J.C. Model-Driven Architecture in Practice – A Software Production Environment Based on Conceptual Modeling. [7] – Santos, H. L., PIMOBILE: Uma Abordagem de Desenvolvimento Dirigida por Modelos para Aplicações Móveis. Tese de Doutorado. Pós-Graduação em Ciência da Computação do Centro de Informática da Universidade Federal de Pernambuco. [8] – Sandri, A., Betemps, C. M., Profile em UML para Modelagem Simplificada de Interfaces Gráficas em Aplicativos. UNILASALLE. MDA - Exemplos de aplicações de Perfis
47
CIn/UFPE – IN1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo 47 [9] – IBM- Rational Software. UML Data Modeling Profile. [10] – Borland.. Acessado em 22 de maio de2008. [11] – Daltio, J., Júnior, M. F. R., Filho, J. L., ArgoCaSEGEO – Uma Ferramenta de Código-Aberto para o Modelo UML- GeoFrame. [12] – Papyrus UML - MDA - Exemplos de aplicações de Perfis
48
CIn/UFPE – IN1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo 48
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.