Here is my abstract for my talk at UC Irvine on February 7: Adaptive Aspect-Oriented Programming in AspectJ Speaker: Karl Lieberherr College of Computer and Information Science Northeastern University A program fragment is called adaptive if it changes its behavior according to its context. Adaptiveness requires some form of "shy" programming where we select information without knowing all the context. Examples of adaptive program fragments are pointcuts in AspectJ that select a set of join points without knowing the details of their structure and traversal specifications in Demeter that select a set of elements in a graph without knowing the details of the graph structure. We will explore AspectJ from the point of view of the many adaptive features it already has and that it could have and we will develop a Law of Demeter checker (Object Form: every method should only talk to closely related objects) in AspectJ as an adaptive program that adapts to any Java program. This is joint work with David Lorenz and Pengcheng Wu (appearing at AOSD 2003).