Demeter and Aspect-Oriented Programming 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. For an earlier version of this talk, see: http://www.ccs.neu.edu/research/demeter/talks/erfurt-keynote/erfurt-talk.ppt