Hi Boaz: >From boaz@ccs.neu.edu Wed Oct 1 09:35:24 1997 >From: Boaz Patt-Shamir >To: Karl Lieberherr >Cc: dem@ccs.neu.edu, matta@ccs.neu.edu, boaz@ccs.neu.edu >Subject: Re: condensing a set of strategies > >Karl Lieberherr writes: > > > > 1. The strategies define path sets, but we only need a strategy which > > defines a propagation graph, i.e., a subgraph of the original class graph. > > >OK; this was not clear since you presented the problem for a >given *object*. > > > 2. There are many ways to condense the "big" merged strategy into a > > propagation graph defining strategy. To make marshaling and > > unmarshaling efficient, > > the condensed strategy should be of the form: > > "from A bypassing nodes and edges to *" > > For such strategies, the propagation graph contains loss-free > > information. > > >Why does this make marshalling efficient? Since during marshaling we only need to ask for each instance variable: is it bypassed or not. >Anyway: for this formulation, the trivial "folding" of the traversal >graph is the way to go: a node (or an edge) are excluded if and >only if no copy of it appears anywhere in the traversal graph. You are right, that solves the problem completely to find the propagation graph. And from that we can derive a strategy of the form "from A bypassing edges {-> X,y,Z, ...} to *" by doing a parallel DFS traversal through both the class graph and the propagation graph. > >Boaz > -- Karl