[SCXML] history state in parallel state

Hello,

I have a question about history states inside parallel states. Consider 
this state machine:

<scxml>
<parallel id="p">
     <history id="h">
         <transition target="a2"/>
     </history>
     <state id="a">
         <state id="a1"/>
         <state id="a2"/>
     </state>
</parallel>
</scxml>

The question is: what is the (initial) configuration of the state 
machine? If I read the standard correctly, it should be (p, a, a2). Is 
that correct? If not, what did I miss?

I'm asking because when addDescendantStatesToEnter is called for the 
parallel state p, it will do:

 if isParallelState(state):
                 for child in getChildStates(state):

and getChildStates will not return any <history> child/state. So, it 
looks like the default history configuration will not be used, and the 
state machine would end up in the configuration (p, a, a1).

Kind regards,
Erik.

Received on Wednesday, 15 July 2015 05:23:02 UTC