Saturday, December 17, 2005

Today's Paper: Aspects and Annotations

In an ECOOP 2005 paper, Gregor Kiczale, the father of AOP, and Mira Mezini discusses well about how the notion of annotations (like ones available with Java 5) relates to the notion of aspects. An amazing viewpoint for annotations is to regard them to bind attributes to program points just like procedure calls which bind program points to operations.
  • Gregor Kiczales and Mira Mezini, Separation of Concerns with Procedures, Annotations, Advice and Pointcuts, In Proc. of ECOOP 2005 - Object-Oriented Programming: 19th European Conference, Glasgow, UK, July 25-29, 2005. [Abstract/Link]
Separation of Concerns with Procedures, Annotations, Advice and Pointcuts

There are numerous mechanisms for separation of concerns at the source code level. Three mechanisms that are the focus of recent attention – metadata annotations, pointcuts and advice – can be modeled together with good old-fashioned procedures as providing different kinds of bindings: procedure calls bind program points to operations, annotations bind attributes to program points; pointcuts bind sets of points to various descriptions of those sets; named pointcuts bind attributes to sets of points; and advice bind the implementation of an operation to sets of points. This model clarifies how the mechanisms work together to separate concerns, and yields guidelines to help developers use the mechanisms in practice.

No comments: