Uma Ferramenta Baseada em
MDA para a Especialização de
Mecanismos de Persistência
Fabio Seixas Marques
[email protected]
Seminário LES – 28 de outubro de 2005
www.les.inf.puc-rio.br
www.teccomm.les.inf.puc-rio.br
Sumário
• Processo de Transformação;
• 1ª Etapa – Base de Conhecimento;
• 2ª Etapa – Implementação das Transformações;
• 3ª Etapa – Efetuar Transformações;
• Outras Ferramentas;
• O que já foi feito;
• O que falta fazer;
• Contribuições Esperadas;
• Dúvidas.
Laboratório de Engenharia de Software – PUC-Rio
Processo de Transformação
• O processo de transformação é dividido em 3 etapas;
• Cada etapa pode ser feita por usuários distintos;
• A primeira etapa consiste no cadastro da base de conhecimento da
ferramenta.
Laboratório de Engenharia de Software – PUC-Rio
1ª Etapa - Base de Conhecimento da Ferramenta
Independente de Plataforma
Foco ou
Aspecto
- Persistência
Tag
Específico para uma Plataforma
Transformação
Tecnologia
- Arquitetura
- Hibernate.rdl
- Hibernate
- Configuração de Acesso
- Castor.rdl
- Castor
- Mapeamento Tabela Classe
O que o Processo de Transformação vai tratar?
Quais devem ser as partes comuns as tecnologias, para que consigam tratar esse Aspecto?
Quais serão as tecnologias disponíveis e que atendam aos requisitos do Aspecto?
O que é necessário implementar para efetuar as transformações?
Laboratório de Engenharia de Software – PUC-Rio
Processo de Transformação
• O processo de transformação possui 3 etapas importantes,
podendo envolver usuários diferentes.
• A primeira etapa é o cadastro da base de conhecimento da
ferramenta.
• A segunda é a implementação das transformações para as
tecnologias envolvidas.
Laboratório de Engenharia de Software – PUC-Rio
2ª Etapa – Implementação das Transformações
Implementa as regras de
transformações
Transformação
Laboratório de Engenharia de Software – PUC-Rio
Tecnologia
- Hibernate.rdl
- Hibernate
- Castor.rdl
- Castor
Processo de Transformação
• O processo de transformação possui 3 etapas importantes,
podendo envolver usuários diferentes.
• A primeira etapa é o cadastro da base de conhecimento da
ferramenta.
• A segunda é a implementação das transformações para as
tecnologias envolvidas.
• E a terceira é a utilização da ferramenta para efetuar as
transformações em modelos.
Laboratório de Engenharia de Software – PUC-Rio
3ª Etapa – Efetuar Transformações
Modelo PSM
Gerado!
Cria o Modelo PIM
Adiciona Marcações
Exporta
Modelo PIM
Perguntas
Respostas
Importa
Modelo PIM
Exporta
Modelo PSM
Transformação
Ferramenta
Laboratório de Engenharia de Software – PUC-Rio
Importa
Modelo PSM
Outras Ferramentas
• Model In Action Transformation
– Efetua transformações em arquivos.xmi, podendo gerar alguns tipos de
arquivos além do próprio XMI;
– Não possui regras pré definidas;
– Possui algumas caracterizações para ajudar na organização das
transformações;
– Possui uma ótima interface gráfica para a implementação das
transformações;
• iQgen
– Também efetua transformações em arquivos.xmi, podendo gerar alguns
tipos de arquivos além do próprio XMI;
– Também não possui regras pré definidas;
– Possui uma interface gráfica para a implementação das transformações,
mas a mesma não é muito boa.
Laboratório de Engenharia de Software – PUC-Rio
O que já foi feito
• Definição do Processo de Transformação;
• Estudo e levantamento das partes comuns entre os Frameworks de
Persistência;
• Extensão da linguagem RDL;
• Comunicação entre a ferramenta e a máquina virtual RDL;
• Levantamento das perguntas e respostas feitas ao usúario;
Laboratório de Engenharia de Software – PUC-Rio
O que falta fazer
• Terminar de colocar as regras de transformações em scripts RDL;
• Terminar de implementar a parte de comunicação entre a
ferramenta e o desenvolvedor;
• Terminar a parte escrita da dissertação.
Laboratório de Engenharia de Software – PUC-Rio
Contribuições Esperadas
• Criação de um processo onde é possível:
– Definir que aspectos serão tratados;
– Definir as tecnologias que serão utilizadas para implementar os
aspectos;
– E as transformações necessárias para instanciar um modelo
independente de plataforma em um design de uma das tecnologias
definidas.
• A definição das transformações não estarão embutidas no código
da ferramenta, e sim definidas através da linguagem RDL.
• Estudo das tecnologias na área de persistência, definindo pontos
em comum caracterizados através dos tags.
• Extensão da linguagem RDL, adicionando relacionamento na
mesma.
Laboratório de Engenharia de Software – PUC-Rio
Dúvidas
Laboratório de Engenharia de Software – PUC-Rio
Download

Media:fabio28102005