Aspectual Collaborations and Modular Programming
Abstract. We present a rewriting approach for combining aspect-oriented
programming and role-based collaborations to create reusable program-
ming constructs called Aspectual Collaborations. These are separately
compiled units of encapsulated behavior that can be adapted to fit a
variety of uses.
Our approach is to combine sets of compiled Java .class files accord-
ing to an adaptation specification. A lightweight (based on field and
method modifier keywords only) source-to-source transformation lets us
use any Java compiler for type checking and compilation to bytecodes,
and an equally lightweight bytecode-to-bytecode transformation removes
the need for auxiliary interface files. The Java type system is leveraged to
protect the programmer from inadvertent type errors without additional
constraints on how collaborations may be programmed.
Simple but powerful concepts allowus to provide separate compilation of
aspects, composition, and flexible object code reuse with a natural and
intuitive operational semantics.
Bibtex entry:
@TECHREPORT{aspectual-collabs,
AUTHOR = "Johan Ovlinger",
TITLE = "{Aspectual Collaborations and Modular Programming}",
INSTITUTION = "College of Computer Science, Northeastern University",
YEAR = 2000,
MONTH = "November",
NUMBER = "{NU-CCS-2000-04}",
ADDRESS = "Boston, MA",
NOTE = " 27 pages".
}
Paper in PDF
Predecessor paper:
OOPSLA '98 paper on Adaptive-Plug-and-Play Components
Aspect-Oriented Programming (AOP)