Understanding Aspect Interactions, Co-Advising and Foreign Advising

Sergei Kojarski, Northeastern University
David H. Lorenz, University of Virginia

Aspect interactions are key enabler but also key prohibiter in aspect-oriented software development. One notable challenge is identifying, understanding and resolving aspect interactions. Another recognized challenge is enabling the composition of several domain specific aspect-oriented language extensions (aspect DSLs). In this paper, we focus on the intersection of the two challenges: understanding the interactions between foreign aspects, i.e., aspects written in different aspect DSLs. These interactions fall into two categories, which we name \emph{co-advising} and \emph{foreign advising}. Co-advising coordinates the co-weaving of multi-extension advice at the same join point shadow. Foreign advising controls the cross-weaving of advice into foreign aspects. We classify and compare composition approaches according to whether they resolve these interactions at the language level or at the program level.

In Proceedings of the ECOOP 2007 Second International Workshop on Aspects, Dependencies and Interactions. Berlin, Germany, July 30, 2007.


adi07.ps.gz (40k)

adi07.pdf (72k)


@InProceedings{Kojarski:2007:UAI,
 Author = "David~H. Lorenz and Sergei Kojarski",
 Title = "Understanding Aspect Interactions, Co-Advising and Foreign Advising",
 Year = 2007,
 Booktitle = "ECOOP 2007 Second International Workshop on Aspects, Dependencies and Interactions",
 URL = "\url{http://www.aosd-europe.net/adi07/}",
}