Demeter and Aspect-Oriented Programming Keynote address at STJA, Erfurt, Germany, September 10, 1997 Karl Lieberherr College of Computer Science Northestern University Boston, MA Aspect-Oriented Programming (AOP) is an emerging programming technique for writing programs which are easier to evolve than traditional programs. Demeter and its latest incarnation, called Demeter/Java, is a perfect example of AOP supporting the aspects Structure, Behavior (with subaspects Traversals and Behavior Modification), Object Description, Synchronization, Remote Invocation. Demeter supports Adaptive Programming (AP) where programs adapt, without change, to interesting changes in the object structure. We illustrate the benefits of AP (simpler programs, easier evolution, even partially automated evolution, more understandable programs) in terms of a bus simulation example and show the link between AP and the Law of Demeter. To highlight the general ideas of AOP, the talk uses a few slides developed by Gregor Kiczales at Xerox PARC. For the Demeter/AOP viewgraphs, see: http://www.ccs.neu.edu/research/demeter/talks/erfurt-keynote/erfurt-talk.ppt Viewing the talk in Notes Pages View mode, gives you further information. Gregor Kiczales' viewgraphs are available from the AOP home page at Xerox PARC. The talk is copyrighted but you have permission to perform the talk and to produce derivative works, provided you keep the copyright notice and you send a copy of your derivative works to lieberherr@ccs.neu.edu.