Sciweavers

AOSD
2008
ACM

StrongAspectJ: flexible and safe pointcut/advice bindings

13 years 6 months ago
StrongAspectJ: flexible and safe pointcut/advice bindings
AspectJ was designed as a seamless aspect-oriented extension of the Java programming language. However, unlike Java, AspectJ does not have a safe type system: an accepted binding between a pointcut and an advice can give rise to type errors at runtime. In addition, AspectJ's typing rules severely restrict the definition of certain generic advice behavior. In this paper, we analyze the roots of these type errors, and describe measures to recover type safety for both generic and nongeneric pointcut/advice declarations. Pointcuts quantify over heterogeneous sets of join points and are hence typed using type ranges in our approach, while type variables and a dual advice signature allow to express the generic and invasive nature of advices. Using these mechanisms, we can express advice that augments, narrows or replaces base functionality in possibly generic contexts. As a language engineering contribution, we integrate our proposal with the AspectJ language, and we provide a prototyp...
Bruno De Fraine, Mario Südholt, Viviane Jonck
Added 12 Oct 2010
Updated 12 Oct 2010
Type Conference
Year 2008
Where AOSD
Authors Bruno De Fraine, Mario Südholt, Viviane Jonckers
Comments (0)