The Demeter Group has used tools that generate AspectJ code since about 2000. DAJ http://www.ccs.neu.edu/research/demeter/DAJ/ translates traversals into AspectJ inter-type declarations and visitors into AspectJ pointcuts/advice to enhance the traversals. XAspects http://www.ccs.neu.edu/research/demeter/XAspects/ http://doi.acm.org/10.1145/949344.949349 uses AspectJ to weave multiple domain-specific languages. Demeter-P, an implementation of AP-F http://www.ccs.neu.edu/research/demeter/biblio/po-vis.html http://doi.acm.org/10.1145/1297846.1297907 Implementation: http://www.ccs.neu.edu/research/demeter/DemeterP/interposition/ uses AspectJ to implement interposition variables.