The objective of this project is to improve the productivity of software developers by an order of magnitude through tools and a theory of adaptive programming. To make our results practically useful, we want to leverage existing commercial technology such as Java and the Unified Modeling Language (UML).
Our recent work has focussed on rethinking our Demeter/C++ tools and corresponding theory and to implement the new results in Demeter/Java. Demeter/Java is an implementation of Adaptive Programming (AP) for Java. Demeter/Java programs consist of Java code together with programs in a small language to express traversals, visitor methods, and class diagrams. Demeter/Java programs are typically written in a preventive maintenance style using traversal strategies for expressing traversals. The resulting programs are very robust under changes to the class diagrams and visitors. This preventive maintenance style also leads to simpler programs, making both software development and maintenance easier.