Aspect Refinement — Unifying AOP and Stepwise Refinement

By: Sven Apel, Christian Kästner, Thomas Leich, Gunter Saake


Stepwise refinement (SWR) is fundamental to software engineering. As aspectoriented programming (AOP) is gaining momentum in software development, aspects should be considered in the light of SWR. In this paper, we elaborate the notion of aspect refinement that unifies AOP and SWR at the architectural level. To reflect this unification to the programming language level, we present an implementation technique for refining aspects based on mixin composition along with a set of language mechanisms for refining all kinds of structural elements of aspects in a uniform way (methods, pointcuts, advice). To underpin our proposal, we contribute a fully functional compiler on top of AspectJ, present a non-trivial, medium-sized case study, and derive a set of programming guidelines.

Cite as:

Sven Apel, Christian Kästner, Thomas Leich, Gunter Saake, “Aspect Refinement — Unifying AOP and Stepwise Refinement”, Journal of Object Technology, Volume 6, no. 9 (October 2007), pp. 13-33, doi:10.5381/jot.2007.6.9.a1.

PDF | HTML | DOI | BiBTeX | Tweet this | Post to CiteULike | Share on LinkedIn

The JOT Journal   |   ISSN 1660-1769   |   DOI 10.5381/jot   |   AITO   |   Open Access