Hi Haiyang: I liked your paper about using traversal specifications and put it at: http://www.ccs.neu.edu/research/demeter/tools/DAJ/china/ as a work in progress. The paper talks about two things: 1. extending AspectJ with traversal specifications for type patterns 2. extending UML with Aspects I think the paper should focus only on 1. 2. is worth a separate paper. The ideas about 1. could actually be added to DAJ by extending the AspectJ language without touching the compiler. In a .trv file the user could specify type patterns and then DAJ expands them to regular AspectJ type patterns, as you do. Please can you check that AspectJ allows the use of a type pattern that is defined in another aspect. Instead of inventing your own algorithm, I think it would be better to use the AP library: http://www.ccs.neu.edu/research/demeter/AP-Library/ It would be nice if the paper would contain a second motivating example. You say: we need to observe ConcreteSubject2 and all the concreteSubjects it contains. The natural way to express this as a traversal would be: from ConcreteSubject2 to *. Please note that DAJ is an open source project and if you do this work we will add you to the list of contributors. Your contact person is Pengcheng Wu: wupc@ccs.neu.edu -- Karl