Updates the description g
to include a new task a
.
Representation of zero tasks.
Updates the description g
to remove a previously added task a
.
Returns true if the tasks described by g
are allowed to execute concurrently.
Returns true if the tasks described by g
are allowed to execute concurrently.
The methods in this class must obey the following laws:
1. forall g: G, a: A; valid(g) => valid(remove(g,a)) 2. forall a: A; valid(add(empty, a)) 3. forall g: G, a: A; valid(g) <=> valid(remove(add(g, a), a)) 4. (implied by 1,2,3) valid(empty) 5. forall g: G, a: A, b: A; !valid(add(g,a)) => !valid(add(add(g,b), a))
Describes restrictions on concurrent execution for a set of tasks.
the type of a task