To: dsb@cs.utexas.edu Subject: aspects of aspects Cc: demgr-students Hi Don: There are several AOP systems where you can define aspects of aspects: Doug Orleans' Fred http://www.ccs.neu.edu/research/demeter/biblio/incremental-programming.html is probably the cleanest of them. He unifies method and advice into one construct, called a branch. To modify the behavior of a branch you define an around branch or a branch with a more specific predicate. You can iterate this process. Aspectual Collaborations http://www.ccs.neu.edu/research/demeter/biblio/JoinGraphs.html http://www.ccs.neu.edu/research/demeter/talks/pl-day-2002/ovlinger-aspectual-collabs.pdf allow you to compose aspects. HyperJ http://www.alphaworks.ibm.com/tech/hyperj allows you to compose HyperSlices (aspects). In DJ: http://www.ccs.neu.edu/research/demeter/biblio/DJ-reflection.html you can attach multiple visitors to the same traversal. Each visitor is multiple pointcuts plus advice. So we have here a simple form of visitor composition = aspect composition. Your work on Genvoca also falls into this category? Especially mixin layers? -- Karl at vanderbilt, you suggested that I look at some papers that may be relevant to "aspects of aspects", in particular one of yours. Could you point me to them and any others you think are relevant? thanks.