| << Prev | - Up - | Next >> | 
We say that any 2 nodes  and
 and  must satisfy the treeness condition expressed as the following disjunction:
 must satisfy the treeness condition expressed as the following disjunction: 
The treeness condition that must hold between Ni and Nj is realized by four concurrent disjunctions and is controlled by choice variable Cij. The latter is a finite domain variable taking a value in [1..4]. 
C in C::1#4
thread  
   or C = 1 {Equal Ni Nj}
   [] C = 2 {StrictlyDominates Ni Nj}
   [] C = 3 {StrictlyDominates Nj Ni}
   [] C = 4 {Side Nj Ni}
   end 
end
The thread ... end statements in the code fragment cause the computation to create four new concurrent threads, one for each choice variable. This is necessary because the or statements within the new threads block until only one of their guards can be satisfiable, and we don't want this to block our entire computation.
| << Prev | - Up - | Next >> |