11) Progress state
progress states are transient states that other states have
to go through
one of them to make progress. Otherwise, it may indicate a
starvation.
ex1: proctype dijkstra() {
byte count = 1;
end: do
:: (count == 1) ->
progress: sema!p; count = 0
// progress state
:: (count == 0) -> sema?v; count = 1
od
}