Thank you Rahul for your quick answer, I will have a look at the link you 
provided and at the AbstractStateMachine class implementation.
Another question, not really related to the first one : is there a roadmap for 
the W3C standard ? I mean is there a planned date for the release of the final 
version of the specification ?
Kind regards,

Ben

Le 21 août 2010 à 19:47, Rahul Akolkar a écrit :

> 2010/8/21 Thiébault Benoît <[email protected]>:
>> Hi everyone,
>> 
>> I'm starting using SCXML and there is something that I am not sure to 
>> understand very well. In the previous applications I developed, I used an 
>> event-driven architecture : my user interface (for instance) was triggering 
>> Events that an EventDispatcher converted into (a) Action call(s). The 
>> mapping Event/Action(s) was declared in a separate XML file. When I 
>> discovered SCXML I thought I could improve this architecture by declaring 
>> the Event/Action(s) mapping in the SCXML file. There are however some points 
>> that are not very clear yet for me.
>> 
>> In the State design pattern (http://en.wikipedia.org/wiki/State_pattern), a 
>> state is represented by a class while the actions are mapped with the 
>> methods (roughly). I though I could thus map my events with a method of a 
>> given object.
>> 
>> But when I look at the StopWatch use case, and especially the StopWatch 
>> class 
>> (http://commons.apache.org/scxml/xref-test/org/apache/commons/scxml/env/StopWatch.html),
>>  the whole state machine is represented by the class and each state is 
>> mapped by the methods... In this use case, I don't see how actions are 
>> handled.
>> 
>> I mean if I have two events triggered targeting the same state, how can I 
>> handle both events differently ? There could be two ways to go from a state 
>> A to a state B, for instance in an application where you want to edit a text 
>> file, from the "ready" state (when the application is ready to start) you 
>> could go to the "edit" state by opening an existing file or by creating a 
>> new one. The targeted state is then the same, even though the way to reach 
>> it is different. I don't know how to model this in SCXML.
>> 
>> Can someone help ?
>> 
> <snip/>
> 
> The AbstractStateMachine class is one simple pattern among many that
> may be employed to use Commons SCXML [1], and is certainly very basic.
> It does not implement the State pattern as described in the document
> you point to. The State pattern itself has limitations (requiring a
> flattened state machine), so even implementing that isn't a silver
> bullet. As someone who wants to use the State pattern, please take a
> look at the AbstractStateMachine class implementation and perform the
> changes necessary to rather implement the State pattern instead.
> 
> The higher order bit is that SCXML as a language is more powerful that
> any of these individual patterns.
> 
> -Rahul
> 
> [1] http://commons.apache.org/scxml/guide/using-commons-scxml.html
> 
> 
>> Thank you
>> Ben
>> 
>> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
> 
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to