Hi Johan: You say: > a more restrictive > compatibility def DOES allow just a name map to be used. What kind of graph relationship would that be? Even under a refinement relationship as defined in: http://www.ccs.neu.edu/research/demeter/biblio/graph-refine.html you may still get spurios paths. The traversal must get modified to reflect the original intent in the context of the concrete class graph. I agree with you that refinement eliminates some spurious paths we don't want but not all of them. I-Chen's project is about eliminating spurious paths: Input: Class graph G with strategies S1 and S2 where S2 is a refinement of S1. Input object O for class graph G. Output: Traversal of O according to both S1 and S2. (According to S2 would be enough because S2 is a refinement of S1). -- Karl >From johan@ccs.neu.edu Wed Nov 11 16:06:34 1998 >To: generic@ccs.neu.edu >From: Johan Ovlinger > >I use traversals as the motivating example. Imagine a traversal >defined over the ICG. By "traversal" I mean the textual representation >of the traversal- not the expanded paths. > >I favor a very lax compatibility defintion. This is better for views, >as it increases flexibility, and the traversal will be expaned over >the ICG anyway. Ie, we traverse the ICG, but each edge of the ICG >corresponds to several edges of the CCG. The important distinction is >that the traversal only sees the ICG. > >I could never see the point of more restrictive defs. Until now. > >APPCs want to have their traversals expanded over the CCG. This is a >good idea for efficiency, if nothing else. But we have to be careful. >Before expansion, the traversal must be translated from the ICG domain >to the CCG domain in such a way that only paths that are compatible >with the ICG traversal will be expanded. If we have a lax CG >compatiblity def, then just mapping the names will not work. It is >easy to come up with a ICG, CCG, and traversal that when just name >mapped will introduce spurious paths (those who were at the seminar >will recall the "no C w/o seeing a B first" rant I was on about). >Instead, the traversal must be modified to reflect the original >intent. What I finally understood was that a more restrictive >compatibility def DOES allow just a name map to be used. Which is >kinda useful. > >Johan >