system DinnerDate
{
boolean garbage := true;
boolean cleanHands := true;
boolean quiet := true;
boolean dinner := false;
boolean present := false;
active thread MAIN()
{
loc loc0:
when cleanHands do { // cook
dinner := true;
} goto loc0;
when quiet do { // wrap
present := true;
} goto loc0;
do { // carry
garbage := false;
cleanHands := false;
} goto loc0;
do { // dolly
garbage := false;
quiet := false;
} goto loc0;
when dinner && present && !garbage do { // done
assert false;
} return;
}
}
|