AOP vs Software Evolution: a Score in Favor of the Blueprint

All software systems are subject to evolution, independently by the developing technique. Aspect oriented software in addition to separate the different concerns during the software development, must be “not fragile” against software evolution. Otherwise, the benefit of disentangling the code will be burred by the extra complication in maintaining the code. To obtain this goal, the aspect-oriented languages/tools must evolve, they have to be less coupled to the base program. In the last years, a few attempts have been proposed, the Blueprint is our proposal based on behavioral patterns. In this paper we test the robustness of the Blueprint aspect-oriented language against software evolution.

[1]  Kim Mens,et al.  A Model-driven Pointcut Language for More Robust Pointcuts , 2006 .

[2]  Meir M. Lehman,et al.  A Paradigm for the Behavioural Modelling of Software Processes using System Dynamics , 2001 .

[3]  Jürgen Graf,et al.  Using pointcut delta analysis to support evolution of aspect-oriented software , 2005, 21st IEEE International Conference on Software Maintenance (ICSM'05).

[4]  Jean-Marc Jézéquel,et al.  Semantic Join Point Models: Motivations, Notions and Requirements , 2006 .

[5]  William G. Griswold,et al.  An Overview of AspectJ , 2001, ECOOP.

[6]  M.M. Lehman,et al.  Programs, life cycles, and laws of software evolution , 1980, Proceedings of the IEEE.

[7]  Hidehiko Masuhara,et al.  Test-based pointcuts: a robust pointcut mechanism based on unit test cases for software evolution , 2007, LATE@AOSD.

[8]  Awais Rashid,et al.  A State-based Join Point Model for AOP , 2005 .

[9]  Kris Gybels,et al.  Arranging language features for more robust pattern-based crosscuts , 2003, AOSD '03.

[10]  Michael Eichberg,et al.  Pointcuts as Functional Queries , 2004, APLAS.

[11]  Walter Cazzola,et al.  Join point patterns: a high-level join point selection mechanism , 2006, MoDELS'06.

[12]  Kris Gybels,et al.  On the Existence of the AOSD-Evolution Paradox , 2003 .

[13]  Walter Cazzola,et al.  Design-Based Pointcuts Robustness Against Software Evolution , 2006, RAM-SE.

[14]  Christian Koppen,et al.  PCDiff : Attacking the Fragile Pointcut Problem , 2004 .

[15]  Stefan Hanenberg,et al.  Modeling Pointcuts , 2004 .

[16]  Sérgio Soares,et al.  Implementing distribution and persistence aspects with aspectJ , 2002, OOPSLA '02.

[17]  Alessandro Garcia,et al.  On The Design of an End-to-End AOSD Testbed for Software Stability , 2007 .

[18]  Lodewijk Bergmans,et al.  Utilizing Design Information in Aspect-Oriented Programming , 2005, NODe/GSEM.

[19]  Daniel P. Friedman,et al.  Aspect-Oriented Programming is Quantification and Obliviousness , 2000 .