Hi Doug: >From dougo@ccs.neu.edu Fri Aug 1 17:50:06 1997 >From: Doug Orleans >To: Karl Lieberherr >Cc: dem@ccs.neu.edu >Subject: Re: compatibility strategies/class graphs > >Karl Lieberherr writes: > > Proposal (Boaz): > > A strategy graph S is compatible with a class graph G under the default > > name map if for all strategy graph edges e of S there is a path in G > > from Source(e) to Target(e). > > > > How do we deal with the edge constraints attached to strategy edges, > > i.e., the negative path constraints? > >A strategy graph S is compatible with a class graph G, a name map N, >and edge constraints B if for all strategy graph edges e of S there is >a path P in G from s = N(Source(e)) to t = N(Target(e)) such that for >every element [node or edge] x in P except for s and t, (B(e))(x) is >true. [B(e) is the edge constraints of the strategy edge e, i.e. a >predicate function mapping path elements to booleans.] > This is a good definition. It means that we can have bypassing ->X,y,Y, although X and Y are not in the class graph. This could be dangerous, however, since the user might have intended to bypass edge: ->X,y,Z in the class graph. > > What about only-through? > > What is your definition of only-through? You said it is the negation > > of bypassing. Please can you refresh my memory. > >The constraint "bypassing -> *,x,*" is a predicate that returns false >for any construction edge labelled "x", and true for everything else. >The constraint "only-through -> *,x,*" is a predicate that returns >true for any constraint edge labelled "x", and false for everything else. ^^^^^^^^^^ construction is what you meant. > Very elegant and symmetric. It must be right. >--Doug > --Karl