cin/ufpe – in1008 – projeto conceitual de banco de dados - prof. robson fidalgo 1
TRANSCRIPT
CIn/UFPE – IN1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo 1
CIn/UFPE – IN1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo 2
IN1008 – Projeto Conceitual de BD
Model Driven Architecture – MDAExemplos de aplicações de Perfis
Por:Cláudia Carolina N. Souza
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
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
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
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
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
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
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
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”}
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
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]
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
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
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
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
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
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
<<boundary>>, <<control>> e <<entity>>.
MDA - Exemplos de aplicações de Perfis
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
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
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 <<Table>>.
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 <<View>>.• O estereótipo <<Derived>> : quando uma view modelada com dependência de duas ou mais tabelas.
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 <<PK>>;• Foreign Key: derivada do relacionamento com outras tabelas. Representada pelo estereótipo <<FK>>;• Em caso de uma Foreign Key ser usada como Primary Key, a combinação das chaves são representadas pelo estereótipo <<PFK>>.
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 <<Index>>;
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.
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.
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
CIn/UFPE – IN1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo 2828
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).
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
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]
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
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]
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]
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]
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
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
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
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++;
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
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
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
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
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
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]
CIn/UFPE – IN1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo 4545
[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 <http://www.terralib.org/php/about.php?body=AboutTL >. Acessado em 15 de maio de 2008.
MDA - Exemplos de aplicações de Perfis
CIn/UFPE – IN1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo 4646
[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
CIn/UFPE – IN1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo 4747
[9] – IBM- Rational Software. UML Data Modeling Profile.
[10] – Borland. <http://www.borland.com/downloads/download_together.html>. 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 - <http://www.papyrusuml.org/scripts/home/publigen/content/templates/show.asp?L=EN&P=55&vTicker=alleza&ITEMID=3>
MDA - Exemplos de aplicações de Perfis
CIn/UFPE – IN1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo 48