DemeterJ: Adaptive and Aspect-Oriented Programming in Java

Fact Sheet

Demeter Research Group, Northeastern University, College of Computer Science, Boston

DemeterJ is a high-level interface to the programming language Java which allows you to write Java programs adaptively. The compiler is accompanied by a graphical user interface, called AP Studio, which allows you to develop key components of adaptive programs graphically.

DemeterJ (1996-*) is the successor of Demeter/C++ (1989-1996) and incorporates several improvements to the Adaptive Programming technology. Adaptive Programming is the special case of Aspect-Oriented Programming (, where one of the building blocks is expressible in terms of graphs and where the other building blocks refer to the graphs using traversal strategies. A traversal strategy is a partial specification of a class diagram pointing out a few cornerstone classes and relationships. Traversal strategies may be viewed as regular expressions specifying a traversal through a graph.

DemeterJ has the following features:

Short paper on DemeterJ.
Book on Demeter/C++ but much of it applies to DemeterJ.

The implementors of the Java tools are (building on the work of the 
Demeter/C++ team: Xiao/Huersch/Silva-Lepe):

Doug Orleans: 	principal architect and implementor
Johan Ovlinger: Traversals as objects, remote invocation aspect, 
  		Laboratory Guide
Josh Marshall:	Generic Aspect Weaver, synchronization aspect
Crista Lopes:	Provided design for synchronization and remote invocation aspects

AP Studio:
Kedar Patankar:	principal architect and implementor GUI 
Binoy Samuel:	principal architect and implementor AP Studio front-end

Faculty: Karl Lieberherr (PI), Mira Mezini, Jens Palsberg (Purdue University), Boaz Patt-Shamir, Mitchell Wand.

Supported by DARPA and Rome Laboratory under agreement F30602-96-0239 (Evolution of Software Via Adaptive Programming).

version February 11, 2002