Publications

View publication

Title Join Point Interfaces for Safe and Flexible Decoupling of Aspects
Authors Eric Bodden, Éric Tanter, Milton Inostroza
Publication date February 2014
Abstract In current aspect-oriented systems, aspects usually carry,
through their pointcuts, explicit references to the base code. Those
references are fragile and hinder important software engineering properties
such as modular reasoning and independent evolution of aspects and base
code. In this work, we introduce a novel abstraction called Join Point
Interface, which, by design, aids modular reasoning and independent
evolution by decoupling aspects from base code and by providing a modular
type-checking algorithm. Join point interfaces can be used both with
implicit announcement through pointcuts, and with explicit announcement,
using closure join points. Join point interfaces further offer polymorphic
dispatch on join points, with an advice-dispatch semantics akin to
multimethods. To support flexible join point matching, we incorporate into
our language an earlier proposal for generic advice, and introduce a
mechanism for controlled global quantification. We motivate each language
feature in detail, showing that it is necessary to obtain a language design
that is both type safe and flexible enough to support typical
aspect-oriented programming idioms. We have implemented join point
interfaces as an open-source extension to AspectJ. A case study on existing
aspect-oriented programs supports our design, and in particular shows the
necessity of both generic interfaces and some mechanism for global
quantification.
Downloaded 4 times
Pages 1-41
Volume 23
Journal name ACM Transactions on Software Engineering and Methodology
Publisher ACM Press (New York, NY, USA)
PDF View PDF
Reference URL View reference page