The W3C Voice Browser Working Group has published a Working Draft of State Chart XML (SCXML). SCXML provides a generic state-machine based execution environment based on CCXML and Harel State Tables and is a candidate for the control language within multiple markup languages coming out of the W3C. Commons SCXML is a Java implementation of an SCXML engine.
The library provides an SCXML engine capable of executing a state machine defined using a SCXML document, while abstracting out the environment interfaces. For project motivation and overview see the Commons SCXML Webpage.
Contents:
Wiki Resources
- ../FrequentlyAskedQuestions
- ../BusinessCases
Release Plans
- ../0.5ReleasePlan (DONE - Released on July 28, 2006)
Tutorials
- ../Tutorials/Templating - SCXML allows for defining of a certain FSM externally which can be re-used for convenience. This tutorial briefly covers the use-cases and the implementation of the Templating Pattern.
- ../Tutorials/History - Remembering State Information - This tutorial describes the uses of <history/> element in SCXML. The history is used when it is required to remember the state of a complex state. i.e. If it were required to enter a complex state at the same point where we left it, we would use a history element to ensure that the state is preserved when the complex state is exited
- ../Tutorials/Logging - SCXML uses commons-logging, a wrapper that works between others with Log4J ...
- ../Tutorials/ImplicitEvents - Implicit events supported by Commons SCXML (.entry and .exit for states and .change for data)
GSoC Proposals
- ../GSoC2010EclipsePluginProposal - An Eclipse-based Visual State Chart XML editor/debuger that generates SCXML documents
Evolution
This is a section to document the evolution of the Commons SCXML library, most importantly a placeholder to note any API changes and upgrade notes.
- ../Upgrades/ChangesBeforeFirstRC - Document contains notes about changes made before proposing the first release candidate of Commons SCXML.
From The Archives
- ../ProjectProposal
External Resources
- State Chart XML (SCXML): State Machine Notation for Control Abstraction 1.0 (W3C Working Draft)