Towards a New Understanding of Advice Interference

Aspect-Oriented Programming (AOP) is an established programming paradigm for addressing crosscutting concerns that cannot be modularized using traditional dominant decomposition paradigms. However, the new language constructs introduced in AOP also raise new problems. One of such problems is Advice Interference, where interferences between aspects’ advices by data and control flow dependencies jeopardize the correctness of an AOP program. Advice Interference has been qualitatively defined, but the cumulative effects of an aspect’s advice on program contexts are overlooked in the definition. The definition also obscures the differences between Advice Interference and Weaving Interference, another well recognized type of AOP problems. Additionally, for Advice Interference, there is a fundamental flaw in the definition of relevant advices, between which interferences may occur. This paper investigates cumulative advice effects on a program context to provide a basis for a new understanding of Advice Interference. It also proposes a new semi-formal definition of Advice Interference that clarifies its differences from Weaving Interference. Finally, the flaw in the current definition of relevant advices for Advice Interference is addressed. The results of this research would provide AOP practitioners with a deepened understanding and fundamentally enhanced definition of Advice Interferece

[1]  E. Dijkstra On the Role of Scientific Thought , 1982 .

[2]  Daniel Amyot,et al.  Towards semantic-based aspect interaction detection , 2008 .

[3]  Jing Zhang Aspect Interference and Composition in the Motorola Aspect-Oriented Modeling , 2006 .

[4]  Lodewijk Bergmans,et al.  Declarative Aspect Composition , 2004 .

[5]  Harold Ossher,et al.  Multi-Dimensional Separation of Concerns and the Hyperspace Approach , 2002 .

[6]  Wouter Joosen,et al.  Managing Concern Interactions in Middleware , 2007, DAIS.

[7]  M. Brian Blake,et al.  Decomposing Composition: Service-Oriented Software Engineers , 2007, IEEE Software.

[8]  Lodewijk Bergmans Towards Detection of Semantic Conflicts between Crosscutting Concerns , 2003 .

[9]  Lodewijk Bergmans,et al.  An Analysis of Aspect Composition Problems , 2006 .

[10]  Rémi Douence,et al.  A Framework for the Detection and Resolution of Aspect Interactions , 2002, GPCE.

[11]  Ademar Aguiar,et al.  Disciplined composition of aspects using tests , 2008, LATE@AOSD.

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

[13]  Günter Kniesel,et al.  Detection and Resolution of Weaving Interactions , 2009, LNCS Trans. Aspect Oriented Softw. Dev..

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

[15]  Lodewijk Bergmans,et al.  Static and Dynamic Detection of Behavioral Conflicts Between Aspects , 2007, RV.

[16]  Maximilian Störzer,et al.  Detecting Precedence-Related Advice Interference , 2006, 21st IEEE/ACM International Conference on Automated Software Engineering (ASE'06).

[17]  Tzilla Elrad,et al.  Scenario based resolution of aspect interactions with aspect interaction charts , 2007, AOM@AOSD.

[18]  Kang Zhang,et al.  A Classification of Aspect Composition Problems , 2009, 2009 Third IEEE International Conference on Secure Software Integration and Reliability Improvement.

[19]  Stephen R. Schach,et al.  Object-oriented and classical software engineering , 1995 .

[20]  Gregor Kiczales,et al.  Aspect-oriented programming , 1996, CSUR.

[21]  Wouter Joosen,et al.  Modeling Context-Dependent Aspect Interference Using Default Logics , 2008, RAM-SE.