Abstract.
We use Gregor Kiczales' definition of an aspect: a modular unit
of crosscutting implementation and
present a useful kind of aspect-oriented programming in
Java. By focussing on a limited, but commonly occuring set of aspects,
we are able to provide a Java library that allows us to write
adaptive methods whose ad-hoc implementation cuts across several classes.
We present the key elements of the library and we connect
adaptive methods with the AspectJ terminology. Several examples
demonstrate the advantages and limitations of adaptive methods.
We hope that aspect-oriented programming will be better understood
if it can be practiced, even in limited form, directly in Java.
This paper shows one way how to achieve this through the DJ library.
Bibtex entry:
@TECHREPORT{adaptive-methods,
AUTHOR = "Karl Lieberherr and Doug Orleans and Johan Ovlinger",
TITLE = "{Aspect-Oriented Programming with Adaptive Methods}",
INSTITUTION = "College of Computer Science, Northeastern University",
YEAR = 2001,
MONTH = "February",
NUMBER = "{NU-CCS-2001-01}",
ADDRESS = "Boston, MA",
PAGES = "1-15"
}
Paper
Aspect-Oriented Programming (AOP)
For local users, the paper is in: /proj/lieber/papers2/cacm2001