commons-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Rahul Akolkar" <>
Subject Re: [scxml] Joins/Parallels
Date Thu, 27 Apr 2006 20:58:30 GMT
On 4/27/06, Fasihullah Askiri <> wrote:
> Hi
> Yesterday I was trying to write a test-case for parallel scxml, it is quite a task to
write it.
> Now I am not sure if this the right place to think out loud.

This will always be *the* place to think out loud about Commons SCXML ;-)

> But since I couldn't find a better place. This is what I am thinking.
> Have an XML describe the transitions which the FSM will go through. Also allow this xml
to fire events and inspect the variables. a <stable/> tag can be used to make sure that
the fsm is stable and waiting for some event.
> Any comments!!! This is just thinking out loud. Might have a whole bunch of loop-holes
(Or might be an outright bad idea!!)!!!

All this looks interesting, the question really is:

 * What are you proposing?

Which expands to questions such as:

 * What markup is that?
 * Who consumes it? i.e. How does this integrate with what we have?
 * What benefit does it bring, as compared to writing a SCXMLUnit
(JUnit with helpers for Commons SCXML) test case to a similar effect?

Lets articulate that.


> +Fasih
> ***
> <testsuite scxml="parallel-world.scxml">
>        <testcase id="checkInitial" initial="true">
>                <assert>
>                        <transition id="/my-parallel-world"/>
>                        <transition id="/my-parallel-world/two-hellos"/>
>                        <parallel>
>                                <transition id="/my-parallel-world/two-hellos/call-1"/>
>                                <transition id="/my-parallel-world/two-hellos/call-2"/>
>                        </parallel>
>                </assert>
>        </testcase>
>        <testcase id="testProvider">
>                <begin>
>                        <state id="/my-parallel-world/two-hellos/call-1"/>
>                </begin>
>                <assert>
>                        <transition id="/my-parallel-world/two-hellos/call-1/call1.wait-for-someone"/>
>                        <stable/>
>                        <isTrue expr="sipProvider.isReady"/>
>                </assert>
>                <fire event=""/>
>                <assert>
>                        <transition id="/my-parallel-world/two-hellos/call-1/call1.say-hello"/>
>                        <transition id="/my-parallel-world/two-hellos/call-1/call1.i-am-done"/>
>                        <stable/> <!-- Meaning, it is not going to move out till
an event is fired -->
>                </assert>
>        </testcase>
> </testsuite>

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message