commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Rahul Akolkar <>
Subject [SCXML] Usecases (WAS: [VOTE] Promote SCXML to Proper)
Date Tue, 17 Jan 2006 05:13:07 GMT
On 1/13/06, Martin van den Bemt <> wrote:
> >
> > In the mean time, if you have browsed through Commons SCXML and have
> > suggestions for improvement, let me know. Careful, that might risk
> > making you a believer though ;-)
> I'll see if I can free up some time to dig into it, but currently lacking a use case
for myself though..

Yup, that is a somewhat common theme. Commons SCXML is probably looked
at as having esoteric usage patterns. In all fairness, finding
usecases isn't very easy because most hardly think of writing a state
machine as a document for the runtime. The state machine gets
visualized, called things such as "lifecycles", drawn as block
diagrams with arrows, or even modeled as a "real" state chart diagram,
but rarely tied in directly with the runtime. What Commons SCXML gives
us is this ability to use the behavior modeling layer right into the
runtime, as depicted in this picture [1]. Some of the newer
"frameworks" are starting to pick this up, the existing SCXML usecases
on the website are examples.

The Commons user list also has atleast a couple of examples where
folks have used SCXML in innovative ways. While it sounds extremely
clich├ęd ;-) the usecases for Commons SCXML are limited only by our
imaginations. Really. As the size of the "reactive system" grows, the
benefits of Commons SCXML become more apparent.

A BZ ticket [2] has been recently filed for adding a new usecase that
is simpler (not involving prior knowledge of any framework -- couple
of good candidates there already).

Finally, a good general read on this topic is the book "Modeling
Reactive Systems with Statecharts" [3] by Harel and Politi (the book
is now a free download). SCXML uses concepts from Harel State Tables
(as mentioned in the spec). Not implying anyone should read the book,
just saying if you happen to be interested, you'll probably consider
this worth your time :-)


[1] (see page 2)

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

View raw message