AOP for software evolution: a design oriented approach

In this paper, we have briefly explored the aspect-oriented approach as a tool for supporting the software evolution. The aim of this analysis is to highlight the potentiality and the limits of the aspect-oriented development for software evolution. From our analysis follows that in general (and in particular for AspectJ) the approach to join points, pointcuts and advices definition are not enough intuitive, abstract and expressive to support all the requirements for carrying out the software evolution. We have also examined how a mechanism for specifying pointcuts and advices based on design information, in particular on the use of UML diagrams, can better support the software evolution through aspect oriented programming. Our analysis and proposal are presented through an example.

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

[2]  강문설 [서평]「The Unified Modeling Language User Guide」 , 1999 .

[3]  Gunter Saake,et al.  Software Evolution through Dynamic Adaptation of Its OO Desgin , 2003, Objects, Agents, and Features.

[4]  Shigeru Chiba,et al.  Josh: an open AspectJ-like language , 2004, AOSD '04.

[5]  Keith H. Bennett,et al.  Software maintenance and evolution: a roadmap , 2000, ICSE '00.

[6]  Andy Kellens,et al.  Inductively Generated Pointcuts to Support Refactoring to Aspects , 2004 .

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

[8]  Günter Kniesel,et al.  JMangler – A Powerful Back-End for Aspect-Oriented Programming , 2003 .

[9]  Ramnivas Laddad,et al.  Aspectj in Action: Practical Aspect-Oriented Programming , 2003 .

[10]  Stefan Hanenberg,et al.  A UML-based aspect-oriented design notation for AspectJ , 2002, AOSD '02.

[11]  Gustavo Alonso,et al.  Dynamic weaving for aspect-oriented programming , 2002, AOSD '02.

[12]  István Majzik,et al.  PROGRAM CODE GENERATION BASED ON UML STATECHART MODELS , 2003 .

[13]  Cristina V. Lopes,et al.  Aspect-oriented programming , 1999, ECOOP Workshops.

[14]  Ivar Jacobson,et al.  Unified Modeling Language User Guide, The (2nd Edition) (Addison-Wesley Object Technology Series) , 2005 .

[15]  Jim Dowling,et al.  The K-Component Architecture Meta-model for Self-Adaptive Software , 2001, Reflection.

[16]  Gunter Saake,et al.  System Evolution through Design Information Evolution: a Case Study , 2004, IASSE.

[17]  Cristina V. Lopes,et al.  Aspect-oriented programming , 1999, ECOOP Workshops.

[18]  Jonathan Sillito,et al.  Use Case Level Pointcuts , 2004, ECOOP.