java MyMain "A=X. X=B C. B:X|E. E=. C=." "from A through B to C" output: Class Graph A = X. X = B C extends B. B : X | E. E = extends B. C = . Strategy Graph { A -> { B } { B } -> C } source: A target: C Nodes: X: in copies {0, 1} C: in copies {1} B: in copies {0, 1} A: in copies {0} Edges: -> A,x,X: in copies {0} -> X,c,C: in copies {1} => B,X: in copies {0, 1} -> X,b,B: in copies {0, 1}, intercopy table {{0, 1}} java MyMain "A=B1 C. B1=B D. B=[B1]. C=D. D=E F1. E=G. F1=F G. F=[F1]. G=." "from A through B through F to G" output: Class Graph A = B1 C. B1 = B D. B = [ B1]. C = D. D = E F1. E = G. F1 = F G. F = [ F1]. G = . Strategy Graph { A -> { B } { B } -> { F } { F } -> G } source: A target: G Nodes: F1: in copies {1, 2} B1: in copies {0, 1} G: in copies {2} F: in copies {1, 2} D: in copies {1} B: in copies {0, 1} A: in copies {0} Edges: -> B,b1,B1: in copies {0, 1} -> B1,d,D: in copies {1} -> B1,b,B: in copies {0, 1}, intercopy table {{0, 1}} -> A,b1,B1: in copies {0} -> F1,f,F: in copies {1, 2}, intercopy table {{1, 2}} -> D,f1,F1: in copies {1} -> F1,g,G: in copies {2} -> F,f1,F1: in copies {1, 2} java MyMain "A:B. B=C. C=." "from A bypassing ->A,b,B to C" output: Class Graph A : B. B = C extends A. C = . Strategy Graph { A -> C bypassing -> A, b, B } source: A target: C Nodes: C: in copies {0} B: in copies {0} A: in copies {0} Edges: -> B,c,C: in copies {0} => A,B: in copies {0} java MyMain "A=B. B=C. C=B A." "from B to C" output: Class Graph A = B. B = C. C = B A. Strategy Graph { B -> C } source: B target: C Nodes: C: in copies {0} B: in copies {0} A: in copies {0} Edges: -> C,b,B: in copies {0} -> B,c,C: in copies {0} -> C,a,A: in copies {0} -> A,b,B: in copies {0} java MyMain "A=B. B=C. C=B." "from A to-stop C" output: Class Graph A = B. B = C. C = B. Strategy Graph { A -> C bypassing C } source: A target: C Nodes: C: in copies {0} B: in copies {0} A: in copies {0} Edges: -> B,c,C: in copies {0} -> A,b,B: in copies {0} java MyMain "A=B B. B=C. C=." "from A to C" output: Class Graph A = B B. B = C. C = . Strategy Graph { A -> C } source: A target: C Nodes: C: in copies {0} B: in copies {0} A: in copies {0} Edges: -> B,c,C: in copies {0} -> A,b1,B: in copies {0}