Simplified Arbiter as an example
COMPONENT arbiter(reql, grl, reqr, grr: BOOLEAN)
INITIALLY grl = FALSE grr = FALSE
<< reql ? ?grr ? grl:= TRUE>> ||
<< ? reql ? grl ? grl:= FALSE>> ||
<< reqr ? ?grl ? grr:= TRUE>> ||
<< ? reqr ? grr ? grr:= FALSE>>
Would check grr and grl are never both true. This is mutual exclusion, to beasserted, ? (grl ? grr).
Reading assignment: Section 6.5.1 of Text