commons-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Rahul Akolkar <rahul.akol...@gmail.com>
Subject Re: [SCXML] History in parallel?
Date Wed, 13 Jan 2010 21:40:12 GMT
Please prefix the email subject with the Commons component name when
posting, as I've done here (since this is a shared mailing list).
Response below ...

On Thu, Jan 7, 2010 at 5:51 PM, Bill Herring <bherring@openmethods.com> wrote:
> My reading of the latest W3C working draft is that SCXML supports history
> pseudo-states in parallel ones.   When I run my app with the SCXML model
> below, I get:
>        WARNING: Ignoring element <history> in namespace
> "http://www.w3.org/2005/07/scxml"
> and then it cannot find the two resume_ targets.
>
> Does Commons SCXML support history elements as parallel children?  Am I
> doing something wrong here?
>
<snip/>

The current release (v0.9) does not support history in parallel.

Work has been done in a development branch on a version of the parser
that does support history as used below, but its yet incomplete and
unreleased.

While using v0.9, I'd suggest using a state wrapper element around the
parallel to hold the deep history.

-Rahul


> <?xml version="1.0"?>
>
> <scxml xmlns="http://www.w3.org/2005/07/scxml"
>       version="1.0" initial="off_call">
>        <state id="off_call">
>                <transition event="dial" target="call_active"/>
>        </state>
>        <parallel id="call_active">
>                <state id="talk_status" initial="talking">
>                        <state id="talking">
>                                <transition event="hold"   target="held"
/>
>                        </state>
>                        <state id="held">
>                                <transition event="retrieve"
> target="talking" />
>                        </state>
>                </state>  <!-- END talk_status -->
>                <state id="call_status" initial="on_call">
>                        <state id="on_call">
>                                <transition event="hangup"
>  target="off_call"/>
>                                <transition event="consult"
> target="consult_active"/>
>                        </state>
>                        <state id="on_call_consult">
>                                <transition event="hangup"
>  target="off_call"/>
>                                <transition event="alternate"
> target="resume_consult"/>
>                        </state>
>                </state>    <!-- END call_status -->
>                <history id="resume_call" type="deep"/>
>
>        </parallel>  <!-- END call_active -->
>        <parallel id="consult_active">
>                <state id="consult_talk_status" initial="consult_talking">
>                        <state id="consult_talking">
>                                <transition event="hold"
> target="consult_held" />
>                        </state>
>                        <state id="consult_held">
>                                <transition event="retrieve"
> target="consult_talking" />
>                        </state>
>                </state>  <!-- END consult_talk_status -->
>                <state id="consult_status" initial="on_consult">
>                        <state id="on_consult">
>                                <transition event="hangup"
>  target="resume_call"/>
>                                <transition event="alternate"
> target="resume_call"/>
>                        </state>
>                </state>    <!-- END consult_status -->
>                <history id="resume_consult" type="deep"/>
>
>        </parallel>  <!-- END consult_active -->
> </scxml>
>
>
> Thanks,
> Bill
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@commons.apache.org
For additional commands, e-mail: user-help@commons.apache.org


Mime
View raw message