At: http://www.ccs.neu.edu/research/demeter/sources/DemeterJava/examples/j-check-TBR1/README The three programs in ../j-check-TBR1 ../j-check-TBR2 ../j-check-TBR3 Presents an evolution of the Terminal-Buffer-Rule checker (page 393 of AP book) over three increasingly larger class dictionaries. See also: http://www.ccs.neu.edu/research/demeter/course/f96/hw/3/assign.html For the first two class dictionaries, the adaptive programs are identical. For the third one, the adaptive program needed to be adjusted. Both the traversal specifications and the Java programs. The three programs serve as an example of how adaptive programs should be developed. Initially a barebone class dictionary is used to get the program going. The class dictionary is gradually enlarged to add more behavior. An evolutionary mechanism is needed so that only the first program needs to be updated and then the third can be created automatically for many evolutions of the first program. Evolution history linking would be a good name for such a mechanism. The advantages would be that multiple variants of the the same program could be maintained more easily.