You have seen simple forms of state transition systems in your Theory of Computation class: Automata are a simple form of a state transition system. See:
http://en.wikipedia.org/wiki/Labelled_transition_system
Borrow transition P1*[account a1, credit a2] request_to_borrow(P1,a3) -> P1*[account a1+a3, credit a2+a3]The above transition means: If we are in the state where it is player P1's turn (the *) with account value a1 and credit a2 and P1 requests to borrow a3 then we transition to the state where it is still P1's turn (the *) and the account value is a1+a3 and the credit a2+a3.
Buying transition P1*[account a1] P2[account a2] S[offer d1 P2 c] -> P1*[account a1-c] P2[account a2+c] S[buyer P1 offer d1 P2 c] provided a1-c >=0.P1 buys derivative d1 from P2 at price c provided there is enough money in the account.
Raw material delivery transition P1 P2* S[buyer P1 offer d1 P2 c] -> P1 P2* S[raw mat F buyer P1 offer d1 P2 c]
Finished material delivery transition P1*[account a1] P2[account a2] S[raw mat F buyer P1 offer d1 P2 c] -> P1*[account a1+fsat(M,F)] P2[account a2-fsat(M,F)] S[finished M raw mat F buyer P1 offer d1 P2 c] provided a2-fsat(M,F) >= 0.In English: Player P1 has finished the raw material F resulting in M with quality fsat(M,F). P1's account is increased and P2's account is decreased.
Finished material delivery transition (variant) Finish: d1 P1*[account a1] P2[account a2] S[raw mat F buyer P1 offer d1 P2 c] -> let pay(d1,M,F) = fsat(M,F) > d1.c ? 1 : 0; P1*[account a1+pay(d1,M,F)] P2[account a2-pay(d1,M,F)] S[finished M raw mat F buyer P1 offer d1 P2 c] provided a2-pay(d1,M,F) >= 0.
Explanation of symbols:
P1, P2: Players, P1*: it is player P1's turn S : Store containing information about the state of all derivatives [ ] : defines relevant information offer d1 P2 c: derivative d1 sold by P2 at price c account a1-c: deduct c from account a1 fsat(M,F): fraction of clauses satisfied by M in FGeneral form of a state transition for an SDG move: MOVE(parameters) PlayerInfo1 PlayerInfo2 StoreState1 -> PlayerInfo3 PlayerInfo4 StoreState2 provided predicate Transition system can be used for testing a player.