1 / 23

Composição e Geração de Aplicações usando Aspectos

Composição e Geração de Aplicações usando Aspectos. Carlos Alberto de Freitas Pereira Júnior Orientadora : Profª. Dra. Rosana T. Vaccare Braga Universidade de São Paulo Instituto de Ciências Matemáticas e Computação - ICMC. Roteiro. Introdução Gerador CAPTOR Proposta de Trabalho

rasha
Download Presentation

Composição e Geração de Aplicações usando Aspectos

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Composição e Geração de Aplicações usando Aspectos Carlos Alberto de Freitas Pereira Júnior Orientadora: Profª. Dra. Rosana T. Vaccare Braga Universidade de São Paulo Instituto de Ciências Matemáticas e Computação - ICMC

  2. Roteiro • Introdução • Gerador CAPTOR • Proposta de Trabalho • Estado Atual • Dificuldades encontradas

  3. Introdução • O grupo de engenharia de software do ICMC tem desenvolvido diversos trabalhos relacionados com a área de reúso de software. • Há interesse em unir várias tecnologias com a finalidade de facilitar o desenvolvimento e permitir a automatização de partes da implementação do software resultante.

  4. Introdução • Foi conduzido pelo grupo de pesquisa um estudo sobre Geradores de Aplicações, que resultou no gerador de aplicações Captor (Shimabukuro, 2006). • Para realizar a geração de uma família de produtos no Captor, o engenheiro troca o processo de desenvolvimento da linha de produtos de software (LPS) a partir do zero, por um processo de configuração de domínio.

  5. Introdução • A motivação deste trabalho vem da idéia de criar um gerador que possa utilizar mais de um domínio para gerar uma determinada aplicação. • Serão utilizados conceitos de separação avançada de interesses (Kiczales et al., 1997) para que a combinação entre os domínios durante a geração seja feita de forma modular e clara.

  6. Captor • O Captor é um gerador de aplicações MDMA (Multiple Domains Multiple Applications) (Masiero e Meira, 1993). • Utiliza a abordagem por composição para geração de artefatos.

  7. Arquitetura Captor

  8. Captor Engenharia de Domínio

  9. Captor Engenharia de Aplicação

  10. Proposta de Trabalho • Este trabalho tem por objetivo estender o gerador Captor e desenvolver um processo de composição de domínios usando OA. • A idéia é permitir que a geração de aplicações possa ser feita por meio da combinação entre domínios base e domínios transversais.

  11. Proposta de Trabalho • Um domínio pode ser definido como uma área de conhecimento ou atividade caracterizada por um conjunto de conceitos e terminologia comum utilizados por especialistas nessa área (Booch et al., 2000). • Domínio base domínio independente de outros e para o qual podem ser geradas aplicações concretas que formam a base de um sistema. • Domínio transversal domínio cuja implementação resulta em módulos espalhados ou entrelaçados, que entrecortam partes de determinados domínios-base. Em geral referem-se a camada de serviços, infra-estrutura ou utilitários.

  12. Proposta de Trabalho DT D D D D DT D

  13. Proposta de Trabalho • O Captor foi escolhido para este projeto porque é uma ferramenta disponibilizada pelo grupo de pesquisa e, portanto, com maior acessibilidade ao código fonte. • Existe a motivação de estender o Captor para torná-lo um gerador cada vez mais poderoso.

  14. Proposta de Trabalho Repositório CAPTOR Domínio D1 base Domínio D2 transversal Produto gerado aspecto Especificação Geração Captor Estendida Engenheiro de Aplicação

  15. Estado Atual • Estão sendo desenvolvidas regras de validação para combinações de domínios. • Permitir combinações somente entre domínios compatíveis • Atualmente, a extensão do gerador já possui funcionalidades que permitem criar projetos com mais de um domínio.

  16. Estado Atual

  17. Estado Atual

  18. Dificuldades encontradas • Reusabilidade de DT’s. • Dificuldade em isolar as propriedades ortogonais de tal forma que elas possam ser aplicadas no maior número possível de domínios base. • Dúvidas em relação a configuração dos pontos de entrecorte de um DT. • Criar uma interface própria ou todos os pontos de entrecorte podem ser vistos como variabilidades do DT.

  19. Referências • BOOCH, G.; RUMBAUGH, J.; JACOBSON, I. The unified modeling language user guide. Addison-Wesley, 2000. • KICZALES, G.; LAMPING, J.; MENHDHEKAR, A.; MAEDA, C.; LOPES, C.; LOINGTIER, J. M.; IRWIN, J. Aspect-oriented programming. In: European Conference on Object-Oriented Programming, Springer-Verlag, 1997, p. 220–242. • MASIERO, P. C.; MEIRA, C. A. A. Development and instantiation of a generic application generator. Journal of Systems and Software, v. 23, n. 1, p. 27–37, 1993. • SHIMABUKURO, E. K. Um gerador de aplicações configurável. Dissertação de Mestrado, ICMC/USP, São Carlos, SP, 2006.

  20. Contato • Carlos • cafpj@icmc.usp.br • Rosana • rtvb@icmc.usp.br

  21. Exemplo de Uso • Exemplo: suponha que a ferramenta tenha os seguintes domínios no seu repositório: • Um domínio base de vídeo locadoras, sem a camada de persistência; • E um domínio transversal de persistência de dados. • Pretende-se gerar um sistema de vídeo locadora com persistência de informações, como clientes e filmes, por exemplo.

  22. Exemplo de Uso 1) Escolha do domínio de vídeo locadora 2) Escolha do domínio transversal de persistência. 6) Geração do produto. 3) Configuração dos pontos de entrecorte 5) Instanciação da LMA do domínio transversal. 4) Instanciação da LMA do domínio base.

More Related