Project Title: Evolution of Software via Adaptive Programming

A project supported by the DARPA EDCS (Evolutionary Design of Complex Systems) Program.

Program Officers: John Salasin and Howard Shrobe.


Project Team Members

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

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

Project Description

We continue our work on software evolution using both a proactive and a reactive approach.

In the proactive approach we research techniques and produce tools which allow designers to create inherently more flexible software. The increased flexibility is achieved by using novel software abstractions such as context objects and traversal specifications. The basic idea is to factor a program into several aspects such as behavior, structure, and synchronization which are loosely coupled together so that a change in one aspect will have a reduced impact on other aspects.

In the reactive approach we produce tools which propagate changes from one aspect to other aspects.

The project is both in the domain of object-oriented programming languages, software architecture description languages and software design methodology. The new kinds of software abstractions we use at the programming language level lead to new kinds of software architectures and require an improved methodology.

We have described adaptive programming in a textbook and as architectural patterns.

Software and Methodology produced by project and available for immediate use.

Quad chart summarizing our EDCS project at beginning of project. Powerpoint 4 version

Quad chart summarizing our EDCS project after year one. Powerpoint 4 version

Accomplishments to date

Planned Accomplishments

DARPA Reporting



Back to Adaptive Programming home page