Traversal Semantics in Object Graphs

Mitchell Wand, Karl J. Lieberherr · 2001

Traversal through object graphs is needed for many programming tasks. We show how this task may be specified declaratively at a high level of abstraction, and we give a simple and intuitive semantics for such specifications. The semantics, while intuitive, requires existential quantification over all object graphs to represent the fact that during traversal we have only local knowledge of the graph. Since we cannot search explicitly over all object graphs, we reduce the infinite quantification to a graph problem over the class graph. The algorithm is implemented in a Java library called DJ. The system is aspect-oriented in that it makes a clear separation between traversal and behavior, and it is adaptive in that it relies on reflection to fill in the details of the traversal algorithm at run-time.

Read the paper · More papers on PaperTik