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

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

Uma Ferramenta Baseada em MDA para a Especialização de Mecanismos de Persistência Fabio Seixas Marques Seminário LES – 2 de setembro.

Apresentações semelhantes


Apresentação em tema: "Uma Ferramenta Baseada em MDA para a Especialização de Mecanismos de Persistência Fabio Seixas Marques Seminário LES – 2 de setembro."— Transcrição da apresentação:

1 Uma Ferramenta Baseada em MDA para a Especialização de Mecanismos de Persistência Fabio Seixas Marques Seminário LES – 2 de setembro de

2 Laboratório de Engenharia de Software – PUC-Rio Sumário Motivação; Objetivo; OMG Model Driven Architecture (MDA); RDL (Reuse Description Language); Passos da Ferramenta; O que já foi feito; O que falta fazer; Bibliografia.

3 Laboratório de Engenharia de Software – PUC-Rio Motivação Os sistemas ainda são desenvolvidos com o foco em somente uma linguagem de programação, uma arquitetura, um framework, entre outras tecnologias; E se algum desses fatores mudarem? Normalmente o sistema é parcialmente refeito, pois a modelagem está amarrada a essas tecnologias; O MDA (Model Driven Architecture) foi criado com o intuito de resolver esse tipo de problema. Os sistemas são desenvolvidos com o pensamento de possíveis mudanças; Ao invés de um modelo preso a tecnologias, é feito um modelo de mais alto nível, para caso alguma tecnologia seja alterada, esse modelo não seja afetado.

4 Laboratório de Engenharia de Software – PUC-Rio Objetivo Criação de uma ferramenta que faça a transformação de um modelo independente de plataforma (PIM), em um modelo específico para uma plataforma (PSM), sendo a parte de persistência o foco da ferramenta; O desenvolvedor informa através de marcações no modelo PIM, onde e qual o tipo de transformações que devem ocorrer; Durante a transformação a ferramenta efetua perguntas, de modo a criar um modelo específico para o desenvolvedor.

5 Laboratório de Engenharia de Software – PUC-Rio OMG Model Driven Architecture (MDA) Criação de um modelo independentemente de plataforma; Configuração do modelo através de marcações; Transformação do modelo anterior em um modelo baseado em plataforma. PIM – Platform Independent Model PSM – Platform Specifc Model

6 Laboratório de Engenharia de Software – PUC-Rio RDL (Reuse Description Language) A linguagem RDL foi criada para mapear os diversos casos possíveis à instanciação de um Framework; Ela funciona na forma de scripts contendo regras para a manipulação de modelos orientados a objetos (criação de classes, atributos, métodos, etc…); Existe uma máquina virtual que gera as regras dos arquivos RDL na forma de tags XMI.

7 Laboratório de Engenharia de Software – PUC-Rio Por que utilizar RDL? As transformações da nossa ferramenta são bem definidas; A forma de obter e alterar informações dos modelos é feita através de arquivos XMI; Então RDL se encaixa bem no nosso contexto, pois com ela podemos guardar nossas transformações em forma de regras e utilizar uma máquina virtual para gerar essas regras em tags XMI.

8 Laboratório de Engenharia de Software – PUC-Rio Passos da Ferramenta Cria o Modelo PIM

9 Laboratório de Engenharia de Software – PUC-Rio Exemplo de um Modelo PIM

10 Laboratório de Engenharia de Software – PUC-Rio Passos da Ferramenta Cria o Modelo PIM Adiciona Marcações

11 Laboratório de Engenharia de Software – PUC-Rio Modelo PIM Configurado Classes Persistentes

12 Laboratório de Engenharia de Software – PUC-Rio Passos da Ferramenta Cria o Modelo PIM Adiciona Marcações Exporta Modelo PIM

13 Laboratório de Engenharia de Software – PUC-Rio Modelo PIM Exportado Como um Arquivo XMI Class

14 Laboratório de Engenharia de Software – PUC-Rio Passos da Ferramenta Cria o Modelo PIM Adiciona Marcações Exporta Modelo PIM Importa Modelo PIM Ferramenta

15 Laboratório de Engenharia de Software – PUC-Rio Ferramenta Importa o Modelo PIM A ferramenta importa o modelo PIM em forma de um arquivo XMI; Ela pode vir a retirar algumas informações do arquivo como: –Esteriótipos; –Nome; –Atributos; –Métodos; –Relacionamentos; –Herança.

16 Laboratório de Engenharia de Software – PUC-Rio Passos da Ferramenta Transformação Cria o Modelo PIM Adiciona Marcações Exporta Modelo PIM Importa Modelo PIM Ferramenta RespostasPerguntas

17 Laboratório de Engenharia de Software – PUC-Rio O Momento da Transformação É neste ponto que a ferramenta começa o trabalho de perguntas e respostas ao desenvolvedor; A primeira pergunta é sempre sobre a escolha da plataforma; Após a escolha da plataforma, começam as perguntas específicas a plataforma escolhida, como: –Que tipo de Framework de Persistência o mesmo deseja utilizar; –Dependendo do Framework de Persistência escolhido, a ferramenta pode perguntar ao desenvolvedor se o mesmo deseja que sejam gerados os arquivos XML de configuração do banco e de mapeamento tabela-classe; –O desenvolvedor pode escolher entre padrões listados pela ferramenta; –Entre outras perguntas menos ou mais específicas. As perguntas são formuladas de acordo com as respostas do desenvolvedor.

18 Laboratório de Engenharia de Software – PUC-Rio Exemplo de perguntas e respostas Qual a plataforma desejada? (Java,.NET) –R. Java Qual o Framework de Persistência a ser utilizado? (Hibernate, Castor, outros específicos para a plataforma Java) –R. Hibernate Deseja gerar o XML de configuração do banco? –R. Sim Qual o endereço, usuário e senha do banco? –R , admin, admin Deseja gerar o XML de mapeamento tabela-classe? –R. Sim Deseja incluir uma Fachada de Persistência? –R. Sim

19 Laboratório de Engenharia de Software – PUC-Rio Analisando e mapeando as respostas do desenvolvedor Framework de Persistência Hibernate –Necessita saber as classes persistentes para configurar o arquivo RDL correspondente a transformação para o Framework Hibernate. XML de configuração do banco Hibernate –Insere no arquivo as informações do banco informadas pelo desenvolvedor, do contrário as deixa em branco. XML de mapeamento tabela-classe do banco Hibernate –Necessita saber as classes persistentes e seus atributos para construir esse arquivo XML. Fachada de Persistência –Necessita saber as classes persistentes para configurar o arquivo RDL correspondente a inclusão da Fachada de Persistência.

20 Laboratório de Engenharia de Software – PUC-Rio Exemplo de um Arquivo RDL COOBOOK FachadaPersistencia RECIPE main classeFachadaPersistencia = NEW_CLASS (FachadaPersistencia); NEW_METHOD (classeFachadaPersistencia, abrirConexaoBanco); NEW_METHOD (classeFachadaPersistencia, fecharConexaoBanco); LOOP nomeClassePersistente = ?; NEW_METHOD (classeFachadaPersistencia, selecionar + nomeClassePersistente); NEW_METHOD (classeFachadaPersistencia, inserir + nomeClassePersistente); NEW_METHOD (classeFachadaPersistencia, alterar + nomeClassePersistente); NEW_METHOD (classeFachadaPersistencia, deletar + nomeClassePersistente); END_LOOP; END_RECIPE; END_COOKBOOK

21 Laboratório de Engenharia de Software – PUC-Rio Passos da Ferramenta Transformação Cria o Modelo PIM Adiciona Marcações Exporta Modelo PIM Importa Modelo PIM Exporta Modelo PSM Ferramenta RespostasPerguntas

22 Laboratório de Engenharia de Software – PUC-Rio Modelo PSM Exportado Como um Arquivo XMI Arquivo XMI com novas classes, atributos e outras características relacionadas as configurações feitas pelo desenvolvedor; Esse modelo não contêm mais as configurações antes adicionadas pelo desenvolvedor.

23 Laboratório de Engenharia de Software – PUC-Rio Passos da Ferramenta Transformação Cria o Modelo PIM Adiciona Marcações Exporta Modelo PIM Importa Modelo PIM Exporta Modelo PSM Importa Modelo PSM Ferramenta RespostasPerguntas Modelo PSM Gerado!

24 Laboratório de Engenharia de Software – PUC-Rio PSM Gerado Classe gerada pelo arquivo RDL correspondente a Fachada Persistência Classes geradas pelo arquivo RDL correspondente ao Framework Hibernate

25 Laboratório de Engenharia de Software – PUC-Rio XMLs Gerados pela Ferramenta (Tabela-Classe)

26 Laboratório de Engenharia de Software – PUC-Rio XMLs Gerados pela Ferramenta (Configuração) org.hsqldb.jdbcDriver admin 1 org.hibernate.dialect.HSQLDialect true create

27 Laboratório de Engenharia de Software – PUC-Rio O que já foi feito Definição dos Frameworks de Persistência suportados pela ferramenta; Extração de dados do arquivo XMI; Geração de arquivos XML (configuração de banco, tabela-classe, etc…); Comunicação entre a ferramenta e a máquina virtual RDL; Início do levantamento das perguntas e respostas feitas ao usúario; Em relação a parte escrita da dissertação a mesma está em torno de 60% pronta.

28 Laboratório de Engenharia de Software – PUC-Rio O que falta fazer Fechar as perguntas e respostas feitas ao desenvolvedor; Terminar de colocar as regras de transformações em scripts RDL; Implementar a comunicação entre a ferramenta e o desenvolvedor; Terminar a parte escrita da dissertação.

29 Laboratório de Engenharia de Software – PUC-Rio Bibliografia FLORE, F. MDA: The proof is in automating transformations between models (White Paper) KLEPPE, A.; WARMER, J.; BAST, W. MDA Explained: The Model Driven Architecture: Practice and Promisse. Addison-Wesley Professional, 25 de Abril de MILLER, J.; MUKERJI, J. MDA Guide. Version Toacy C. Oliveira, Paulo S. C. Alencar, Carlos J.P. de Lucena, Donald D. Cowan. RDL: A Software Process Language for Framework Instantiation Representation. BROWN, A. W. Large-Scale, Component-Based Development. Prentice Hall, GREENFIELD, J.; SHORT, K.; COOK, Steve; KENT, S. Software Factories. Wiley, 2004.


Carregar ppt "Uma Ferramenta Baseada em MDA para a Especialização de Mecanismos de Persistência Fabio Seixas Marques Seminário LES – 2 de setembro."

Apresentações semelhantes


Anúncios Google