Demeter/Java and AP/Studio Fact Sheet.


Northeastern University, College of Computer Science, Boston (lieber@ccs.neu.edu) This is the official announcement of Demeter/Java 0.7, 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.

Demeter/Java (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 (http://www.ccs.neu.edu/home/lieber/connection-to-aop.html), 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.

Demeter/Java has the following features:

StructureBuilder from Tendril Software is a commercial tool which implements some of the Demeter ideas. For further information on Structure Builder: Tendril Software, Inc (www.tendril.com).

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

Demeter/Java 
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).