[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