the default initial state for a <parallel> state doesn't make sense

Hello,

I can read in section 3.1.4 [1]:
"If neither the <initial> child or the 'initial' element is specified, the default initial state is the first child state in document order." (speaking about the default initial state of a compound state).

And I can read in section 3.3.2 [2]:
"Definition: A compound state is one that has <state>, <parallel>, or <final> children (or a combination of these)"

So, a <parallel> state without <initial> child or 'initial' element specified, will have a default initial state (the first child state in document order).

In the case of the parallel Microwave [3], the default initial state will be the "engine" state because it is the first child in document order for the "oven" <parallel> compound state.

That doesn't make sense for me because a <parallel> state shouldn't have a default initial state.
The semantics of a <parallel> state is a AND of its children state.
So, there is no initial state at all.

I suggest to apply the default initial state only on <state> that are compound state.

What you think about this ?

Thank you.
Regards.

[1] http://www.w3.org/TR/scxml/#CoreIntroduction
[2] http://www.w3.org/TR/scxml/#state
[3] http://www.w3.org/TR/scxml/#MicrowaveParallel

Received on Monday, 13 May 2013 13:31:34 UTC