Translating Traversals to AspectJ
Outline Motivation Demeter Process for Traversals AspectJ Translation Process
Motivation Add traversals to AspectJ Future integration of DemeterJ functionality Understand how Demeter implements traversals Get to know AspectJ
Demeter Process for Traversals Obtain Class Graph Obtain Traversal Strategy Generate Traversal Graph from CG and TS Translate Traversal Graph into target platform
Demeter Process for Traversals class graph strategy AP Library Traversal Graph Traversal Pattern Implementation source language
AspectJ Translation Process Uses DJ to obtain Traversal Graph Given a TraversalGraph object, output AspectJ code to introduce methods to implement the traversal
Demter Process for AspectJ class graph strategy AP Library Traversal Graph Object Traversal Pattern Implementation in AspectJ AspectJ
Translation Complexity Traversals –From A to * –From A to B –From A to B bypassing C Class Graph –Concrete Classes, i.e. has-a edges –Alternation Classes, i.e. is-a edge –Collections
Project Schedule (1wk) Translate traversals for concrete classes (.5 wk)Add translation for alternation classes (.5 wk)Add support for collections