AOSD 2010 Best Paper Award: Execution Levels For Aspect-Oriented Programming By Éric Tanter

gopl-book

About The author

Eric Tanter is a professor at the computer science Department at the University of Chile. For his excellent work on the paper titled Execution Levels For Aspect-Oriented Programming, he was awarded the best paper award at the Aspect-Oriented Software Development, AOSD 2010. His research interests include programming, software adaptation, and modularity, among others.

Prof. Eric Tanter Of University of Chile
Prof. Eric Tanter Of University of Chile

The Paper

The paper seeks to address the various levels of complexities in aspect-oriented programming. In AOP, advice evaluation is regarded as one of the foundations of programming evaluation. This base level computation specific is what differentiates between reflection and AOP but comes at a price – infinitive regression can be raised by evaluation pointcuts, advice at the base level and computation at the base level.

Transactions on Aspect-Oriented Software Development XI co-authored by Éric Tanter.
Transactions on Aspect-Oriented Software Development XI co-authored by Éric Tanter.

This paper addresses this problem by introducing execution levels in the concerned programming language. This ensures aspects run and observe at specific or different levels. The method adopts defensive tactics which circumvent infinite regression and affords advanced programmers the skill to override the default via level-shifting operators.

Theoretical and practical execution levels are then studied. The relevance of issues handled by the execution levels in current aspect-oriented programs is first studied. Afterwards, comes the ratifying of the semantics of execution stages and proof is given to ensure the default semantics are actually free of infinitive regression which is called aspect loops. In the paper, it then follows that the reporting of current implementations of execution levels on aspect-oriented extensions of JavaScript, Scheme, and Java, making way for discussion of their implementation methods and existing applications.