Pointcuts, Advice, Refinements, and Collaborations: Similarities, Differences, and Synergies

kaestner@cs.cmu.edu (S. Apel, C. Kästner, M. Kuhlemann, T. Leich)
Sat, 05 Mar 2016 18:41:39 -0500

Sven Apel, Christian Kästner, Martin Kuhlemann, and Thomas Leich. Pointcuts, Advice, Refinements, and Collaborations: Similarities, Differences, and Synergies. Innovations in Systems and Software Engineering -- A NASA Journal (ISSE), 3(3-4):281--289, December 2007.

Aspect-oriented programming (AOP) is a novel programming paradigm that aims at modularizing complex software. It embraces several mechanisms including (1) pointcuts and advice as well as (2) refinements and collaborations. Though all these mechanisms deal with crosscutting concerns, i.e., a special class of design and implementation problems that challenge traditional programming paradigms, they do so in different ways. In this article we explore their relationship and their impact on software modularity. This helps researchers and practitioners to understand their differences and guides to use the right mechanism for the right problem.