| << Prev | - Up - | Next >> |
We say that any 2 nodes
and
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 >> |