Hi Crista: We have 2 AspectJ projects going in COM 3360! Linda and I did the list below during the writing of the context object paper that you presented for us in San Francisco two years ago. A context class modifies a group of classes in a similar way as an aspect in AspectJ. I noticed that Linda and I already had "advise" weaves and "new" weaves but also many other kinds of weaves. See below. Do you plan to add some of those other weaves also to AspectJ? -- Karl From: http://www.ccs.neu.edu/research/demeter/biblio/context.html This paper expresses collaborative change to behavior with a loose coupling to the behavior which is changed. Linda Seiter's thesis topic (Design Patterns for Managing Evolution). Shows that some Design Patterns are much easier to use when the programming language supports the right abstractions. This paper is in the line of work also recommended by Grady Booch that patterns should be first class citizens that are an explicit part of the architectural modeling language. See his ROAD article. ... Context classes should have the following structure: Context Class V { instance variables methods // several redefinitions: redefines C { // vertex based redefinition // additional instance variables D d; // overwrite or add new methods for C-objects f(A) {}; // incremental methods for C-objects before {}; after {}; around {}; // incremental methods for edges from C-objects before l {} after l {} around l {} // includes also "derived" edges (methods) before x(A) {} after x(A) {} around x(A) {} } redefines -> X,y,Y { // edge based redefinition // additional instance variables for source of edges // overwrite or add new methods for source of edges f(A) {}; // incremental methods for y-edge before {}; after {}; around {}; } }