Reentering child of parallel state leaves all childs?

Hi, it's me again.

I am currently trying to get Jacob's test-cases to run and ran into something peculiar with the following SCXML document:

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

<parallel id="p">
<state id="a">
    <transition target="a" event="t"/>
</state>
<state id="b"/>
</parallel>

</scxml>

Its initial stable configuration is {p, a, b}. When event "t" arrives, we are entering exitStates with the transition "a -> a" enabled. Considering the pseudocode in the draft, we will determine the LCCA of {a, a}, which is "p" and subsequently add all of its descendants, which are part of the configuration to statesToExit, which includes "b". Thus exiting "b", even when we are immediately reentering "a" - is this desired?

Worse still, if I read the pseudo-code correctly, we will only reenter "a", not "b" in enterStates, leaving the interpreter in an invalid configuration. What did I miss here?

Regards
Stefan

Received on Saturday, 9 February 2013 21:45:56 UTC