Adaptive Methods
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