Final Report for Project: Evolution of Software via Adaptive Programming

A project supported by the DARPA EDCS (Evolutionary Design of Complex Systems) Program. F30602-96-0239  Karl Lieberherr (PI)

Program Officer: John Salasin

Project Team Members

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

Students: Crista Lopes (supported by Xerox PARC), Doug Orleans, Kedar Patankar, Binoy Samuel, Linda Seiter, Johan Ovlinger, Joshua Marshall, Geoff Hulten.

Final Report

Darpa and Rome Laboratory have supported the work of the Demeter Research group since 1996. This report, written in April 2000, summarizes our accomplishments achieved with the DARPA funding. The results have been put on the web on a regular basis and in this final report we collect the most important links.


Our most promising work is on collaborations (in the UML sense) and adapters AP&PC (Adaptive Plug&Play Components) ( They allow us to express systems by starting with a basic system and adding more and more reusable enhancements (both functional and systemic) using adapters. Our recent work on adapters is in the paper PCA ( PCA stands for Pluggable Composite Adapter. AP&PC integrate work on Aspect-Oriented Programming ( and multi-dimensional separation of concerns (

Adapters are made robust with respect to structural changes by using traversal strategies. Traversal strategies are a corner stone of Adaptive Programming (AP) ( A patent that was applied for with a previous NSF grant has been refined with support by this grant  Patent on Compiling Adaptive Programs (US Patent 5,946,490, issues Aug. 31, 1999). The work behind this patent provides an automata and graph  theory of adaptive programming  Automata and Graph Theory AP ( More work on the theory of adaptive programming is referenced here ( A comparison of AP and object-oriented technology is here (

Publications: The papers with publication dates from 1997 to 2000 have been supported by this DARPA grant and are available on the web at Publications ( A selection of 6 important papers is enclosed: , , , , , .

Technology Transfer

To experiment with the abstractions we proposed and to evaluate them, we built several tools. The most powerful one is Demeter/Java but it also has a high learning curve. Therefore, we developed  DJ that is easier to use but less powerful and less efficient. Both Demeter/Java and DJ use an implementation of traversal strategies that we have facored out into a separate  AP Library .

Demeter ideas are used in XML technology  Demeter Ideas in Practice . We developed a  pattern language for AP that facilitates the use of adaptive programming ideas.

We worked with Tendril Software Inc. that developed  Structure Builder . Tendril Software Inc. was recently acquired by WebGain. StructureBuilder uses some of the ideas developed under this grant. See the joint paper: .

During the time of this grant, until the end of 1997, Cristina Lopes worked on her Northeastern PhD thesis on D and Aspect-Oriented Programming. She was supported by Xerox PARC and Gregor Kiczales was co-advisor and the PI advisor. Her thesis work was the starting point of much useful work on aspect-oriented programming.


The  Demeter Seminar helped to disseminate the techniques as well as the courses Adaptive Object-Oriented Software and Advanced Object-Oriented Systems . The tools Demeter/Java and DJ are used in both courses. We developed tutorials related to Adaptive Programming both for ICSE 1997 and 2000.

Two PhD thesis were completed with partial funding from this grant: Linda Seiter's thesis
and Cristina Lopes thesis .

Thanks: I would like to thank DARPA for the support of our work on Adaptive and Aspect-Oriented Programming. Many warm thanks to all participants in the project at Northeastern University and elsewhere who have made the project a success.

The proposal that we submitted originally to DARPA is here.