RE: the default initial state for a <parallel> state doesn't make sense
Jim Barnett <[email protected]>
| Newsgroups | gmane.comp.web.voice |
|---|---|
| Message-ID | <57A15FAF9E58F841B2B1651FFE16D28103E789@GENSJZMBX02.msg.int.genesyslab.com> |
Good point, I'll correct it. - Jim -----Original Message----- From: Gavin Kistner [mailto:[email protected]] Sent: Monday, May 13, 2013 11:14 AM To: Jim Barnett Cc: [email protected]; [email protected] Subject: Re: the default initial state for a <parallel> state doesn't make sense FWIW I was confused by section 3.3.2 repeatedly. I understand now that a parallel is not a "compound state", but it is a "state" (but not a <state>) that has the children mentioned in 3.3.2. Despite section 3.3.2 being part of 3.3, referring to <state>, it might help if the definition were tweaked to say: "A compound state is a <state> that has …" -- (-, /\ \/ / /\/ (via phone) On May 13, 2013, at 8:43 AM, Jim Barnett <[email protected]> wrote: > I read the specification differently. Section 3.3.2 says a compound <state> is one that has <state>, <parallel> or <final> children. This doesn't say anything about <parallel> states. They are never compound states and thus do not have a default initial state. Sections 3.1.4 and 3.3.2 refer to the <state> element only. > > - Jim > > -----Original Message----- > From: [email protected] [mailto:[email protected]] > Sent: Monday, May 13, 2013 9:31 AM > To: [email protected] > Subject: 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 >