Alphabet Extension Example

On Thursday, I presented a short example to demonstrate the effects of alphabet extension on the composition of two FSP processes. A student asked me to post that FSP. Here it is:

range T = 0..50
set VarCoins = {in.coin[T], out.coin[T]}
COINTRACKER = (in.coin[5] -> out.coin[10] -> COINTRACKER).
TROUBLEMAKER = (in.coin[5] -> CHOICE),
CHOICE = (out.coin[10] -> TROUBLEMAKER |
          out.coin[15] -> TROUBLEMAKER).
||TRACKME = (COINTRACKER || TROUBLEMAKER).
COINTRACKER2 = (in.coin[5] -> out.coin[10] -> COINTRACKER2) + VarCoins.
||TRACKME2 = (COINTRACKER2 || TROUBLEMAKER).

Kenneth M. Anderson, 2009