>From boaz@ccs.neu.edu Wed Jun 11 23:24:08 1997 >Date: Wed, 11 Jun 1997 23:24:06 -0400 (EDT) >From: Boaz Patt-Shamir >To: Karl Lieberherr >Subject: Re: non-recursive paths > >> >> a useful concept during adaptive programming is: >> non-recursive paths from A to B: >> >> Is the following the correct strategy? >> >> A.B * !(A . at-least-one-edge (a1#A + b1#B) . at-least-one-edge B) >> >> -- Karl >> PS. ! is not, * is intersection. >> Can you handle negation efficiently (through interpretation >> of the traversal graph using tokens)? >> >our only tool for negation is the bypassing clause, or its bigger brother >the edge predicate. I would write the non-recursive A to B as >"from A, bypassing A, to-stop B". > That is shorter. What is the name space in edge predicates? Can we only refer to class variables and not to strategy nodes? What is the difference between the two: from A . through b1#B . bypassing X through b2#B . bypassing b1#B to C from A . through b1#B . bypassing X through b2#B . bypassing B to C -- Karl From boaz@ccs.neu.edu Thu Jun 12 09:41:32 1997 From: Boaz Patt-Shamir Date: Thu, 12 Jun 1997 09:41:31 -0400 (EDT) To: Karl Lieberherr Subject: Re: non-recursive paths > from A . through b1#B . bypassing X through b2#B . bypassing b1#B to C This is illegal: the edge predicates are predicates over CLASS GRAPH edges and nodes; the "b1#B" thing is a strategy graph node.