Translucid Contracts for Aspect-oriented Interfaces

PDF Download Download Paper Slides

Abstract

There is some consensus in the aspect-oriented community that a notion of interface between joinpoints and advice may be necessary for improved modularity of aspect-oriented programs, for modular reasoning, and for overcoming pointcut fragility. Different approaches for adding such interfaces, such as aspect-aware interfaces, pointcut interfaces, crosscutting interfaces, explicit joinpoints, quantified typed events, open modules, and joinpoint types decouple aspects and base code, enhancing modularity. However, existing work has not shown how one can write specifications for such interfaces that will actually allow modular reasoning when aspects and base code evolve independently, and that are capable of specifying control effects, such as when advice does not proceed. The main contribution of this work is a specification technique that allows programmers to write modular specification of such interfaces and that allows one to understand such control effects. We show that such specifications allow typical interaction patterns, and interesting control effects to be understood and enforced. We illustrate our techniques via an extension of Ptolemy, but we also show that our ideas can be applied in a straightforward manner to other notions of joinpoint interfaces, e.g. the crosscutting interfaces (XPIs).

Bib Info


@inproceedings{Bagherzadeh-Rajan-Leavens-10,
  author = {Mehdi Bagherzadeh and Hridesh Rajan and Gary T. Leavens},
  title={Translucid Contracts for Aspect-oriented Interfaces},
  booktitle = {FOAL '10: Workshop on Foundations of Aspect-Oriented Languages workshop},
  location = {Rennes and St. Malo, France},
  month = {March},
  year = {2010},
}