Teaching Demeter 2003: ====================== There are no restrictions in using the software at universities. The software is at: http://www.ccs.neu.edu/research/demeter/software/docs/ I suggest that you use the approach I use in COM 1205 http://www.ccs.neu.edu/home/lieber/com1205/w01/ and COM 3360 http://www.ccs.neu.edu/home/lieber/com3360.html : I start with DJ http://www.ccs.neu.edu/research/demeter/DJ/ which is easy to learn and is 100% Java and I introduce DemeterJ http://www.ccs.neu.edu/research/demeter/DemeterJava/ to get the benefits of Java Data Binding Technology similar to JAXB http://java.sun.com/xml/jaxb/ but more powerful because it is not just for mark-up languages. More of DemeterJ is introduced to use the many useful visitor classes generated by DemeterJ. For example, to define a print method, we write: A { void print() to * (PrintVisitor); } which says: from A go everywhere and print information as defined in the generated PrintVisitor. You are free to reuse my homework or course material: It also contains reading material all available on the web. We are in the process of integrating DemeterJ into AspectJ: http://www.ccs.neu.edu/research/demeter/DAJ/ Some good papers for your syllabus are: http://www.ccs.neu.edu/research/demeter/papers/publications.html e.g. http://www.ccs.neu.edu/research/demeter/biblio/new-strategy-semantics.html http://www.ccs.neu.edu/research/demeter/biblio/DJ-reflection.html http://www.ccs.neu.edu/research/demeter/biblio/aop-adaptive-methods.html