CrossMDA2: Uma Abordagem Baseada em Modelos para Gerência de Evolução de Pointcuts

  • Victor H. Fernandes UFRN
  • Flávia C. Delicato UFRN
  • Paulo F. Pires UFRN
  • Thais Batista UFRN
  • Uirá Kulesza UFRN

Resumo


Este artigo propõe uma abordagem baseada em modelos para gerência da evolução de pointcuts em aplicações orientada a aspectos. A abordagem é centrada na definição de pointcuts com base em visões conceituais. Na abordagem os pointcuts são especificados como parte de visões do modelo conceitual e o processo é apoiado por uma ferramentas baseada em Model-Driven Architecture (MDA). Como prova de conceito, o artigo apresenta duas versões de um estudo de caso, configurando um cenário de evolução que mostra como o uso de pointcuts baseados em visões conceituais auxiliam na detecção e minimização da fragilidade de pointcuts. Para avaliação da proposta é usada o Goal/Question/Metric (GQM) juntamente com métricas para análise da eficiência na definição dos pointcuts.

Referências

Alves, M. P., et al. (2006) CrossMDA - Arcabouço para Integração de Interesses Transversais no Desenvolvimento Orientado a Modelos. Dissertação de Mestrado, UFRJ, Brasil.

Alur D., et al (2003) Core J2EE Patterns: Best Practices and Design Strategies. Prentice Hall.

Basili, V. et al. (1994). The Goal Question Metric Approach. Encyclopedia of Software Engineering.

Batista, T. and Vieira, M. (2007). RE-AspectLua - Achieving Reuse in AspectLua. Journal of Universal Computer Science, 13(6):786-805.

Gamma, E., Helm, R., Johnson, R., & Vlissides, J. (1995). Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley Professional.

Kellens, A., et al. (2006a). A Model-Driven Pointcut Language for More Robust Pointcuts. Software Engineering Properties of Languages For Aspect Technology (SPLAT).

Kellens, A., et al. (2006b). Managing the Evolution of Aspect-Oriented Software with Model-based Pointcuts. (pp. 501-525). Spring-Verlag.

Khatchadourian, R. et al (2008). On the Assessment of Pointcut Design in Evolving Aspect-Oriented Software. Proceedings of the 2nd International Workshop on Assessment of Contemporary Modularization Techniques (ACoM '08).

Kiczales, G., & Mezini, M. (2005). Separation of Concerns with Procedures, Annotations, Advice and Pointcuts. ECOOP 2005

Koppen, C., & Stoerzer, M. (2004). PCDiff: Attacking the Fragile Pointcut Problem. European Interactive Workshop on Aspects in Software, 2004.

Miller, J., & Mukerji, J. (2003). MDA Guide Version 1.0.1. Object Management Group (OMG).

OCL (2008) [link]. Acesso em maio de 2009.

OMG (2008) Meta-Object Facility (MOF™), version 1.4. Disponível em: [link] Acesso em out. de 2008

Ostermann, K., Mezini, M., & Bockisch, C. (2005). Expressive Pointcuts for Increased Modularity. ECOOP 2005.

SIGAA (2009) http://www.sigaa.ufrn.br. Acesso em junho de 2009.

Stoerzer, M., & Graf, J. (2005). Using Pointcut Delta Analysis to Support Evolution of Aspect-Oriented Software. (pp. 653-656). IEEE Computer Society.

Sullivan, K., Griswold, W., Song, Y., Chai, Y., Shonle, M., Tewari, N., et al. (2005). On the Criteria to be Used in Decomposing Systems into Aspects. FSE'2006, ACM Press.

Suzuki, J., & Yamamoto, Y. (1999). Extending UML with Aspects: Aspect Support in the Design Phase. (pp. 299-300). Springer-Verlag.

UML2 (2008) UML2 metamodel. [link]. Acesso em out. de 2008.

Wiley, P., et al. (2001). Aspect-oriented programming. Comm. of the ACM.
Publicado
09/09/2009
FERNANDES, Victor H.; DELICATO, Flávia C.; PIRES, Paulo F.; BATISTA, Thais; KULESZA, Uirá. CrossMDA2: Uma Abordagem Baseada em Modelos para Gerência de Evolução de Pointcuts. In: SIMPÓSIO BRASILEIRO DE COMPONENTES, ARQUITETURAS E REUTILIZAÇÃO DE SOFTWARE (SBCARS), 3. , 2009, Natal/RN. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2009 . p. 195-208. DOI: https://doi.org/10.5753/sbcars.2009.24111.