1 / 23

Captor-AO: Gerador de Aplicações apoiado pela Programação Orientada a Aspectos

Captor-AO: Gerador de Aplicações apoiado pela Programação Orientada a Aspectos. Carlos Alberto de Freitas Pereira Júnior Rosana Teresinha Vaccare Braga Paulo Cesar Masiero Universidade de São Paulo Instituto de Ciências Matemáticas e Computação - ICMC. Roteiro. Introdução

butch
Download Presentation

Captor-AO: Gerador de Aplicações apoiado pela Programação Orientada a 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. Captor-AO: Gerador de Aplicações apoiado pela Programação Orientada a Aspectos Carlos Alberto de Freitas Pereira Júnior RosanaTeresinhaVaccare Braga Paulo Cesar Masiero Universidade de São Paulo Instituto de CiênciasMatemáticas e Computação - ICMC

  2. Roteiro • Introdução • Domínios Transversais • Gerador CAPTOR-AO • Engenharia de Domínio • Engenharia de Aplicações • Conclusões e Trabalhos Futuros

  3. Introdução • O grupo de engenharia de software do ICMC tem desenvolvido diversos trabalhos relacionados à á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 • Com o advento da separação avançada de interesses (Kiczales et al., 1997) surgiu a idéia de modularizar características (features) transversais de um tipo particular de domínio, denominado domínio transversal. • Foi desenvolvida uma extensão do gerador Captor que permite a integração entre features de domínios-base (domínios de aplicação) e domínios transversais.

  6. Domínios Transversais • Domínios transversais são domínios de aplicação que encapsulam comportamentos genéricos de um interesse transversal. • Pode-se citar como exemplos de domínios transversais os domínios de Persistência e Segurança (Controle de Acesso).

  7. Domínios Transversais • Possuem implementação orientada a aspectos e portanto possuem pontos de junção que devem ser configurados ao instanciá-los para aplicações específicas. • Esses pontos de junção podem variar de acordo com a aplicação-base a ser combinada.

  8. Domínios Transversais Domínio Transversal App T1 App T2 Domínio-base A Domínio-base B AppA1 AppA2 AppB1

  9. Gerador Captor-AO • O Captor-AO é um gerador de aplicações MDMA (Multiple Domains Multiple Applications) (Masiero e Meira, 1993). • A configuração da ferramenta é independente da linguagem de programação adotada. • Utiliza a abordagem por composição para geração de artefatos de acordo com a instância da Linguagem de Modelagem de Aplicação(LMA) fornecida.

  10. Gerador Captor-AO • Uma LMA é uma linguagem de alto nível de abstração utilizada para representar aplicações (Weiss e Lai, 1999). • A LMA utilizada pela ferramenta Captor-AO é definida através de uma estrutura de formulários em forma de árvore.

  11. Gerador Captor-AO • Cada formulário contém um conjunto de campos, tais como: caixas de texto, caixas de seleção, etiquetas e tabelas. • Os campos de formulário devem ser utilizados para representar as variabilidades do domínios.

  12. Gerador Captor-AO Engenharia de Domínio

  13. Gerador Captor-AO Engenharia de Aplicação

  14. Arquitetura Captor-AO

  15. Engenharia de Domínio • Domínios-base • Deve-se indicar que domínios transversais podem ser combinados com ele. • Compatibilidade entre domínios. • Pode ser necessário definir conjuntos de extensão.

  16. Engenharia de Domínio • Domínios transversais • Variabilidades de negócios • Variabilidades de junção: variabilidades inerentes ao uso de aspectos e se caracterizam pela concretização de pontos de junção abstratos.

  17. Engenharia de Aplicação • Uma aplicação específica pode ser composta a partir da instanciação de mais de um domínio. • Sendo um deles um domínio-base (domínio de aplicação) e os demais, domínios transversais. • Pontos de junção pré-definidos tornam as configurações de baixo nível transparentes para o engenheiro de aplicação.

  18. Gerador Captor Captor especializado Captor não especializado Domínio A Base Aplicação A1 AplicaçãoB1 AplicaçãoC1 Domínio B Transversal AplicaçãoB1 Aplicação A1 Domínio C Transversal AplicaçãoC1 Eng. Aplicação Eng. Domínio Composição

  19. Extensão Captor-AO Captor-AO especializado Aplicação ABC Domínio A Base Domínio B Transversal Domínio C Transversal Eng. Aplicação Eng. Domínio

  20. Conclusões • A utilização de domínios transversais proporciona o reúso de interesses transversais em diversas LPS, evitando a implementação desnecessária de features. • O mecanismo de variabilidades de junção permite a automatização do processo de combinação entre aspectos e código-base.

  21. Trabalhos Futuros • O Captor-AO será alterado para possibilitar combinações entre dois ou mais domínios-base. • Pretende-se testar o desempenho do Captor-AO utilizando estudos de caso com famílias de produtos mais complexas.

  22. Referências • 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. • WEISS, D. M.; LAI, C. T. R. Software product-line engineering: a family-based software development process. Addison-Wesley, 1999

  23. Contato • Endereço Eletrônico • cafpj@icmc.usp.br (Carlos) • rtvb@icmc.usp.br (Rosana) • Página web • http://captor.googlecode.com

More Related