RE: [scxml] semantics of nested history in parallel state

Hey,

So Torbjörn sent me the upcoming algorithm, which I transcribed into PySCXML. There seems to be a problem, I'm afraid (as PySCXML user DairTarg pointed out in the issue tracker):

<scxml version="1.0"
xmlns="http://www.w3.org/2005/07/scxml" initial="p">

<parallel id="p">
<state id="s" initial="a">
<state id="a" />
<state id="b" />
<transition event="e" target="b" />
</state>
<state id="s2" />
</parallel>
</scxml>

The above machine starts out by going to the configuration {p, s, a, s2}, which seems correct. however, when sent the event 'e', it reacts by leaving s and s2 (correctly) and entering s and b (correctly) but not s2. thus we find ourselves in the illegal configuration {p, s, b}. so, that's not good. 

i've tested the same example with the version of the algorithm that used recursivelyAddDefaultDescendants, but same result there. It could still, of course, be the result of a transcription error (i've gone over the transcription several times, but it's hard to be sure).

regards,
johan

Received on Monday, 27 June 2011 16:00:03 UTC