To: dougo Subject: traversal graph size Hi Doug: In /proj/adaptive/www/DJ/annot-examples/TBR/TBR1 I notice: The traversal graph tg1 is Copy 0: Nodes: Cd_graph Adj java.lang.Object java.io.Serializable Edges: -> Cd_graph,first,Adj Edges to other copies: end traversal graph for new Strategy("from Cd_graph to Adj") I think it is wrong that Object is in the traversal graph: public class Cd_graph { public Adj first; Although both Cd_graph and Adj inherit from Object, there is no path through Object. Do you agree? How did Serializable come in? -- Karl The DJ version is: DJ version 0.8.1-alpha-3 The class graph is============================= java.lang.Object : java.lang.Class | java.lang.String | Vertex | Construct | Adj | EDU.neu.ccs.demeter.Ident | Labeled_vertex | Cd_graph | Main | java.util.AbstractCollection | EDU.neu.ccs.demeter.dj.Visitor common derived int derived java.lang.Class derived java.lang.String. int = . java.lang.Class = extends java.lang.Object implements java.io.Serializable. java.io.Serializable : java.lang.Class | java.lang.String | EDU.neu.ccs.demeter.Ident | java.util.Vector common . java.lang.String = extends java.lang.Object implements java.io.Serializable, java.lang.Comparable. java.lang.Comparable : java.lang.String common . Adj = Vertex Construct extends java.lang.Object. Vertex = EDU.neu.ccs.demeter.Ident extends java.lang.Object. Construct = Labeled_vertex Labeled_vertex extends java.lang.Object. EDU.neu.ccs.demeter.Ident = extends java.lang.Object implements java.io.Serializable. Labeled_vertex = EDU.neu.ccs.demeter.Ident Vertex extends java.lang.Object. Cd_graph = Adj extends java.lang.Object. Main = extends java.lang.Object. TBRVisitor = java.util.Vector java.util.Vector EDU.neu.ccs.demeter.Ident extends EDU.neu.ccs.demeter.dj.Visitor. java.util.Vector = extends java.util.AbstractList implements java.util.List, java.lang.Cloneable, java.io.Serializable. java.util.AbstractList : java.util.Vector common extends java.util.AbstractCollection implements java.util.List. java.util.AbstractCollection : java.util.AbstractList common extends java.lang.Object implements java.util.Collection. java.util.Collection : java.util.AbstractCollection | java.util.List common java.lang.Object. java.util.List : java.util.AbstractList | java.util.Vector common extends java.util.Collection. java.lang.Cloneable : java.util.Vector common . EDU.neu.ccs.demeter.dj.Visitor : TBRVisitor | DefinedClassVisitor common derived java.lang.Object extends java.lang.Object. DefinedClassVisitor = java.util.Vector derived java.util.Vector extends EDU.neu.ccs.demeter.dj.Visitor. EDU.neu.ccs.demeter.dj.Collection = java.lang.Object. end class graph ============================= begin collecting defined classes. Adj: B end collecting defined classes. begin Adj: B target class A target class A Class violates the Terminal Buffer Rule: A Class violates the Terminal Buffer Rule: A B has 2 part(s) with 2 terminal part(s). end The traversal graph tg1 is Copy 0: Nodes: Cd_graph Adj java.lang.Object java.io.Serializable Edges: -> Cd_graph,first,Adj Edges to other copies: end traversal graph The summarized traversal graph of tg1 is Cd_graph = Adj. Adj = . end summarized traversal graph The traversal graph tg2 is Copy 0: Nodes: Cd_graph Adj java.lang.Object java.io.Serializable Edges: -> Cd_graph,first,Adj Edges to other copies: 1: -> Adj,ns,Construct Copy 1: Nodes: Vertex java.lang.Object java.io.Serializable Construct Labeled_vertex Edges: -> Construct,l1,Labeled_vertex -> Labeled_vertex,class_name,Vertex -> Construct,l2,Labeled_vertex Edges to other copies: end traversal graph The summarized traversal graph of tg2 is Cd_graph = Adj. Adj = Construct. Construct = Labeled_vertex Labeled_vertex. Labeled_vertex = Vertex. Vertex = . end summarized traversal graph SUCCESS