1 Composição e Geração de Aplicações usando Aspectos Carlos Alberto de Freitas Pereira Júnior...
Transcript of 1 Composição e Geração de Aplicações usando Aspectos Carlos Alberto de Freitas Pereira Júnior...
![Page 1: 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.](https://reader035.fdocumentos.com/reader035/viewer/2022062700/552fc117497959413d8c862a/html5/thumbnails/1.jpg)
1
Composição e Geração de Aplicações usando Aspectos
Carlos Alberto de Freitas Pereira JúniorOrientadora: Profª. Dra. Rosana T. Vaccare Braga
Universidade de São PauloInstituto de Ciências Matemáticas e Computação - ICMC
![Page 2: 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.](https://reader035.fdocumentos.com/reader035/viewer/2022062700/552fc117497959413d8c862a/html5/thumbnails/2.jpg)
2
Roteiro
Introdução Gerador CAPTOR Proposta de Trabalho Estado Atual Dificuldades encontradas
![Page 3: 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.](https://reader035.fdocumentos.com/reader035/viewer/2022062700/552fc117497959413d8c862a/html5/thumbnails/3.jpg)
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.
![Page 4: 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.](https://reader035.fdocumentos.com/reader035/viewer/2022062700/552fc117497959413d8c862a/html5/thumbnails/4.jpg)
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.
![Page 5: 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.](https://reader035.fdocumentos.com/reader035/viewer/2022062700/552fc117497959413d8c862a/html5/thumbnails/5.jpg)
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.
![Page 6: 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.](https://reader035.fdocumentos.com/reader035/viewer/2022062700/552fc117497959413d8c862a/html5/thumbnails/6.jpg)
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.
![Page 7: 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.](https://reader035.fdocumentos.com/reader035/viewer/2022062700/552fc117497959413d8c862a/html5/thumbnails/7.jpg)
7
Arquitetura Captor
![Page 8: 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.](https://reader035.fdocumentos.com/reader035/viewer/2022062700/552fc117497959413d8c862a/html5/thumbnails/8.jpg)
8
Captor
Engenharia de Domínio
![Page 9: 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.](https://reader035.fdocumentos.com/reader035/viewer/2022062700/552fc117497959413d8c862a/html5/thumbnails/9.jpg)
9
Captor
Engenharia de Aplicação
![Page 10: 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.](https://reader035.fdocumentos.com/reader035/viewer/2022062700/552fc117497959413d8c862a/html5/thumbnails/10.jpg)
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.
![Page 11: 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.](https://reader035.fdocumentos.com/reader035/viewer/2022062700/552fc117497959413d8c862a/html5/thumbnails/11.jpg)
11
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.
Proposta de Trabalho
![Page 12: 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.](https://reader035.fdocumentos.com/reader035/viewer/2022062700/552fc117497959413d8c862a/html5/thumbnails/12.jpg)
12
Proposta de Trabalho
DT
DD
DD
DDDD
DD
DT
![Page 13: 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.](https://reader035.fdocumentos.com/reader035/viewer/2022062700/552fc117497959413d8c862a/html5/thumbnails/13.jpg)
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.
![Page 14: 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.](https://reader035.fdocumentos.com/reader035/viewer/2022062700/552fc117497959413d8c862a/html5/thumbnails/14.jpg)
14
Proposta de Trabalho
CaptorEstendida
aspecto
Produto gerado
Repositório CAPTOR
Domínio D1base
Domínio D2transversal
Engenheiro de Aplicação
Especificação Geração
![Page 15: 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.](https://reader035.fdocumentos.com/reader035/viewer/2022062700/552fc117497959413d8c862a/html5/thumbnails/15.jpg)
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.
![Page 16: 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.](https://reader035.fdocumentos.com/reader035/viewer/2022062700/552fc117497959413d8c862a/html5/thumbnails/16.jpg)
16
![Page 17: 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.](https://reader035.fdocumentos.com/reader035/viewer/2022062700/552fc117497959413d8c862a/html5/thumbnails/17.jpg)
17
Estado Atual
![Page 18: 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.](https://reader035.fdocumentos.com/reader035/viewer/2022062700/552fc117497959413d8c862a/html5/thumbnails/18.jpg)
18
Estado Atual
![Page 19: 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.](https://reader035.fdocumentos.com/reader035/viewer/2022062700/552fc117497959413d8c862a/html5/thumbnails/19.jpg)
19
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.
![Page 20: 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.](https://reader035.fdocumentos.com/reader035/viewer/2022062700/552fc117497959413d8c862a/html5/thumbnails/20.jpg)
20
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.
![Page 22: 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.](https://reader035.fdocumentos.com/reader035/viewer/2022062700/552fc117497959413d8c862a/html5/thumbnails/22.jpg)
22
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.
![Page 23: 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.](https://reader035.fdocumentos.com/reader035/viewer/2022062700/552fc117497959413d8c862a/html5/thumbnails/23.jpg)
23
Exemplo de Uso
1) Escolha do domínio de vídeo
locadora
1) Escolha do domínio de vídeo
locadora
2) Escolha do domínio transversal
de persistência.
2) Escolha do domínio transversal
de persistência.
3) Configuração dos pontos de entrecorte
3) Configuração dos pontos de entrecorte
4) Instanciação da LMA do domínio
base.
4) Instanciação da LMA do domínio
base.
5) Instanciação da LMA do domínio
transversal.
5) Instanciação da LMA do domínio
transversal.
6) Geração do produto.
6) Geração do produto.