The Model
Initial State Set: S0 = {S0}
Input Set: I = {request, release}
Output and Task Set: O = {<(used, 7), ++(used), --(used), grant, not-grant}
Transitions:T = {[request+S0, <(used,7)==TRUE; ++(used); grant+S0], [request+S0, <(used,7)==FALSE; ++(used); not-grant+S0], [release+S0, --(used)+S0]}