Hi John: /proj/adaptive/www/talks/daj-presentations contains my feedback. Please eliminate the comments as much as you can and the rest we discuss tomorrow. -- Karl Hi John: I would like you to reposition your metaphors: construction and journey. I think those two metaphors work together. Definitions: Construction metaphor (AspectJ + modular programming): build a program incrementally from building blocks. Journey metaphor (Demeter + visitor design pattern): traverse a structure and execute code at specified places. AspectJ uses both metaphors: The construction metaphor is used by having aspects as building blocks that add to the base program. The journey metaphor is used because we travel through the call graph of the base program and execute the advice in the aspects. The CPU executes the traversal through the call graph and the advice contains code to be executed at the places specified by the pointcuts. Demeter uses both metaphors: The construction metaphor is used by having visitors as building blocks that add to the traversal program. Visitors may be nested to build behavior by incremental construction. Traversals and class graphs are also building blocks. The journey metaphor is used in two ways: 1. we travel through the object graphs and execute the advice in the visitors 2. we travel through the call graph of the object graph traversal program and execute the advice in the visitors. -- Karl