Frameworks Orientados a Aspectos
Resumo
Este artigo apresenta uma definição para frameworks orientados a aspectos e os classifica em dois tipos: frameworks de aplicação orientados a aspectos (FAOA) e frameworks transversais (FTs). Vários FTs são brevemente apresentados e um deles, o de cálculo baseado em tabela, tem seu projeto discutido com detalhes. O desenvolvimento de uma aplicação é mostrado para exemplificar a instanciação e a composição de frameworks desse tipo.
Palavras-chave:
Aspectos, Frameworks, Frameworks Orientados a Aspectos
Referências
Camargo, V.V., Ramos, R.A., Penteado, R.A.D. and Masiero, P.C. (2003) "Projeto Orientado a Aspectos do Padrão Camada de Persistência". In: Anais do 17º Simpósio Brasileiro de Engenharia de Software (SBES), Manaus-Amazonas, Brasil, outubro.
Camargo, V.V., Ramos, R.A. and Masiero, P.C. (2004) "Implementação de Variabilidades em Frameworks Orientados a Aspectos desenvolvidos em AspectJ". In: Relatório do 1º Workshop de Desenvolvimento de Software Orientado a Aspectos (WASP'04) - realizado em conjunto com o SBES'2004, Brasília, DF, Brasil, outubro.
Cibrán, M., D'Hondt, M. and Jonckers, V. (2003) "Aspect-Oriented Programming for Connecting Business Rules". In: Proc. of the 6th International Conference on Business Information Systems (BIS'03). Colorado Springs, USA, June.
Constantinides, C.A., Bader, A., Elrad, T.H. and Fayad, M.F. (2000) "Designing an Aspect-Oriented Framework in an Object-Oriented Environment". ACM Computing Surveys, v.32, march.
Fayad, M. E., Schimidt, D. C. and Johnson, R. (1999) Building application frameworks: Object-oriented foundations of framework design. John Wiley & Sons.
Filman, R. and Friedman, D. (2004) Aspect-Oriented Programming is Quantification and Obliviousness in Aspect-Oriented Software Development. Addison-Wesley.
Fontoura, M., Pree, W. and Rumpe, B. (2002) The UML Profile for Framework Architectures. Addison Wesley.
Gamma, E., Helm, R., Johnson, R. and Vlissides, J. (1995) Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley.
Gradecki, J.D. and Lesiecki, N. (2003) Mastering AspectJ - Aspect Oriented Programming in Java. Wiley Publishing.
Hanenberg, S. (2000) "Multi-Design Application Frameworks". In: Proc. of the Generative and Component-Based Software Engineering Young Researchers Workshop, Erfurt, October 10.
Hanenberg, S., Hirschfeld, R., Unland, R. and Kawamura, K. (2004) "Applying Aspect-Oriented Composition to Framework Development - A Case Study". In: Proc. of the 1st International Workshop on Foundations of Unanticipated Software Evolution, Barcelona, Spain, march 28.
Hanenberg, S., Schmidmeier. Idioms for Building Software Frameworks in AspectJ. 2nd AOSD Workshop on Aspects, Components, and Patterns for Infrastructure Software (ACP4IS), Boston, MA, March 17, 2003.
Hirschfeld, R. Aspect-Oriented Programming with AspectS. In: Proceedings of Net.ObjectDays (NODe), Erfurt - Germany, 2002.
Johnson, R. E. (1997) "Components, frameworks, and patterns". In: Proc. of the ACM Symposium on Software Reusability, (SST' 97), Boston, may, 17-20.
Johnson, R. E. and Foot B. (1998) "Designing Reusable Classes". Journal of Objectoriented Programming, 1 (2), 22-35.
JAML. (2004) http://www.ics.uci.edu/~trungcn/jaml. Último acesso em 3/4/2005.
Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C., Loingtier, J. and Irving, J. "Aspect Oriented Programming". In: Proceedings of 11 ECOOP. pp. 220-242, 1997.
Tarr, P., Ossher, H. and Sutton, S. (2002) Hyper/JTM : Multi-dimensional Separation of Concerns for Java. In: Proc. of the 24th International Conference on Software Engineering. Orlando, Florida.
Pinto, M., Fuentes, L., Fayad, M.E. and Troya, J.M. (2002) "Separation of Coordination in a Dynamic Aspect Oriented Framework". In: Proc. of the 1st International Conference on Aspect-Oriented Software Development, April.
Pree, W. Hot-spot-driven development in M. Fayad, R. Johnson, D. Schmidt. (1999) Building Application Frameworks: Object-Oriented Foundations of Framework Design, John Willey and Sons, p. 379-393.
Rashid, A. and Chitchyan, R. (2003) "Persistence as an Aspect". In: Proc. of the 2nd International Conference on Aspect Oriented Software Development (AOSD) Boston-USA, March.
Rausch, A., Rumpe, B. and Hoogendoorn, L. (2003) "Aspect-oriented Framework Modeling". In: Proc. of the 4th AOSD Modeling with UML Workshop (UML Conference 2003) October.
Soares, S., Laureano, E. and Borba, P. (2002) "Implementing Distribution and Persistence Aspects with AspectJ". In: Proc. the 17th ACM Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA), pp 174-190, november.
Suvée, D., Fraine, D.B. and Vanderperren, W. (2005) "FuseJ: An Architectural description language for unifying aspects and components". In: Proc. of the 1st Workshop on Software Engineering Properties of Languages for Aspect Technologies (SPLAT'05), Chicago.
Vanhaute, B., Win, B. and Decker, B. (2001) "Building Frameworks in AspectJ". In: Proc. of the 15th European Conference on Object-Oriented Programming (ECOOP), Separation of Concerns Workshop. pp. 1-6, June.
Camargo, V.V., Ramos, R.A. and Masiero, P.C. (2004) "Implementação de Variabilidades em Frameworks Orientados a Aspectos desenvolvidos em AspectJ". In: Relatório do 1º Workshop de Desenvolvimento de Software Orientado a Aspectos (WASP'04) - realizado em conjunto com o SBES'2004, Brasília, DF, Brasil, outubro.
Cibrán, M., D'Hondt, M. and Jonckers, V. (2003) "Aspect-Oriented Programming for Connecting Business Rules". In: Proc. of the 6th International Conference on Business Information Systems (BIS'03). Colorado Springs, USA, June.
Constantinides, C.A., Bader, A., Elrad, T.H. and Fayad, M.F. (2000) "Designing an Aspect-Oriented Framework in an Object-Oriented Environment". ACM Computing Surveys, v.32, march.
Fayad, M. E., Schimidt, D. C. and Johnson, R. (1999) Building application frameworks: Object-oriented foundations of framework design. John Wiley & Sons.
Filman, R. and Friedman, D. (2004) Aspect-Oriented Programming is Quantification and Obliviousness in Aspect-Oriented Software Development. Addison-Wesley.
Fontoura, M., Pree, W. and Rumpe, B. (2002) The UML Profile for Framework Architectures. Addison Wesley.
Gamma, E., Helm, R., Johnson, R. and Vlissides, J. (1995) Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley.
Gradecki, J.D. and Lesiecki, N. (2003) Mastering AspectJ - Aspect Oriented Programming in Java. Wiley Publishing.
Hanenberg, S. (2000) "Multi-Design Application Frameworks". In: Proc. of the Generative and Component-Based Software Engineering Young Researchers Workshop, Erfurt, October 10.
Hanenberg, S., Hirschfeld, R., Unland, R. and Kawamura, K. (2004) "Applying Aspect-Oriented Composition to Framework Development - A Case Study". In: Proc. of the 1st International Workshop on Foundations of Unanticipated Software Evolution, Barcelona, Spain, march 28.
Hanenberg, S., Schmidmeier. Idioms for Building Software Frameworks in AspectJ. 2nd AOSD Workshop on Aspects, Components, and Patterns for Infrastructure Software (ACP4IS), Boston, MA, March 17, 2003.
Hirschfeld, R. Aspect-Oriented Programming with AspectS. In: Proceedings of Net.ObjectDays (NODe), Erfurt - Germany, 2002.
Johnson, R. E. (1997) "Components, frameworks, and patterns". In: Proc. of the ACM Symposium on Software Reusability, (SST' 97), Boston, may, 17-20.
Johnson, R. E. and Foot B. (1998) "Designing Reusable Classes". Journal of Objectoriented Programming, 1 (2), 22-35.
JAML. (2004) http://www.ics.uci.edu/~trungcn/jaml. Último acesso em 3/4/2005.
Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C., Loingtier, J. and Irving, J. "Aspect Oriented Programming". In: Proceedings of 11 ECOOP. pp. 220-242, 1997.
Tarr, P., Ossher, H. and Sutton, S. (2002) Hyper/JTM : Multi-dimensional Separation of Concerns for Java. In: Proc. of the 24th International Conference on Software Engineering. Orlando, Florida.
Pinto, M., Fuentes, L., Fayad, M.E. and Troya, J.M. (2002) "Separation of Coordination in a Dynamic Aspect Oriented Framework". In: Proc. of the 1st International Conference on Aspect-Oriented Software Development, April.
Pree, W. Hot-spot-driven development in M. Fayad, R. Johnson, D. Schmidt. (1999) Building Application Frameworks: Object-Oriented Foundations of Framework Design, John Willey and Sons, p. 379-393.
Rashid, A. and Chitchyan, R. (2003) "Persistence as an Aspect". In: Proc. of the 2nd International Conference on Aspect Oriented Software Development (AOSD) Boston-USA, March.
Rausch, A., Rumpe, B. and Hoogendoorn, L. (2003) "Aspect-oriented Framework Modeling". In: Proc. of the 4th AOSD Modeling with UML Workshop (UML Conference 2003) October.
Soares, S., Laureano, E. and Borba, P. (2002) "Implementing Distribution and Persistence Aspects with AspectJ". In: Proc. the 17th ACM Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA), pp 174-190, november.
Suvée, D., Fraine, D.B. and Vanderperren, W. (2005) "FuseJ: An Architectural description language for unifying aspects and components". In: Proc. of the 1st Workshop on Software Engineering Properties of Languages for Aspect Technologies (SPLAT'05), Chicago.
Vanhaute, B., Win, B. and Decker, B. (2001) "Building Frameworks in AspectJ". In: Proc. of the 15th European Conference on Object-Oriented Programming (ECOOP), Separation of Concerns Workshop. pp. 1-6, June.
Publicado
03/10/2005
Como Citar
CAMARGO, Valter Vieira de; MASIERO, Paulo Cesar.
Frameworks Orientados a Aspectos. In: SIMPÓSIO BRASILEIRO DE ENGENHARIA DE SOFTWARE (SBES), 19. , 2005, Uberlândia/MG.
Anais [...].
Porto Alegre: Sociedade Brasileira de Computação,
2005
.
p. 200-215.
DOI: https://doi.org/10.5753/sbes.2005.23820.