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 ? Thank you Ben --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
