[Mulgara-dev] MGR-44

Andrae Muys andrae at netymon.com
Tue Mar 6 01:18:44 UTC 2007


I've spent the last couple of days investigating MGR-44 to figure out  
precisely where I went wrong.  Yesterday I realised that I have been  
treating the transaction logic as a state-machine and consequently  
determining the state from the inuse/using counters.  That this is a  
mistake became apparent yesterday when I tried to actually draw the  
DFA, and soon after realised that in fact it isn't possible.  The  
transaction logic is in fact a DPA (deterministic pushdown automaton)  
- as the counters track the stack not the state, not surprising then  
that I was having trouble figuring out the correct implementation of  
checkActivated() [ie. is the transaction FA in the activated state?].
This implies that MGR-44 is actually present anywhere I am using the  
counters to track state - and sure enough on inspection it is clear  
that there is an analogous bug in the transaction initiation logic.

The fix will be to recognise the transaction logic as a DPA and  
therefore the need for a third variable to track the state explicitly.

This will take a couple of days but it will leave us much more  
confident of the transaction logic.

Andrae

-- 
Andrae Muys
andrae at netymon.com
Principal Mulgara Consultant
Netymon Pty Ltd





More information about the Mulgara-dev mailing list