##### Commons SCXML Resources

- Overview
- User Guide
- Javadoc
- FAQ
- Usecases
- Building
- Dependencies
- Mailing lists
- Team
- SVN repository
- Nightly snapshots

##### Releases

- Version 0.7
- Version 0.6
- Version 0.5

##### Project Documentation

- About
- Project Info
- Project Reports
- Development Process

##### Commons

- Home
- Components
- Sandbox
- Dormant
- Volunteering
- Contributing Patches
- Building Components
- Releasing Components
- Wiki

##### Legend

- External Link
- Opens in a new window

## Commons SCXML

State Chart XML (SCXML) is currently a Working Draft published by the World Wide Web Consortium (W3C). SCXML provides a generic state-machine based execution environment based on Harel State Tables. SCXML is a candidate for the control language within multiple markup languages coming out of the W3C (see Working Draft for details). Commons SCXML is an implementation aimed at creating and maintaining a Java SCXML engine capable of executing a state machine defined using a SCXML document, while abstracting out the environment interfaces.

The use cases for an SCXML engine are multiple and varied. Anything that can be represented as a UML state chart -- business process flows, view navigation bits, interaction or dialog management, and many more -- can leverage an SCXML engine library.

## Documentation

Latest documentation is available:

- The latest Javadoc.
- The latest source.
- The wiki.
- Commons SCXML usecases (case studies).
- A user guide containing assorted API notes and tutorials.

Documentation for the most recent release is also available via the left side menu bar.

## Releases

The latest release is v0.7. Read v0.7 release notes before upgrading. Download v0.7!

The first release was v0.5. The initial release version number was chosen to be 0.5 (rather than a 1.0) to better convey the fact that the underlying W3C specification is still a Working Draft, and subsequent changes to the Draft may warrant changes to portions of the library API. The core Commons SCXML APIs (SCXMLDigester, SCXMLExecutor etc.) are stable. Portions such as processing of <datamodel> and <invoke> SCXML elements, on the other hand, are subject to change as further changes are expected in these sections of the W3C Working Draft. See Working Draft for details.

## Support

The commons mailing lists act as the main support forum. The user list is suitable for most library usage queries. The dev list is intended for the development discussion. Please remember that the lists are shared between all commons components, so prefix your email by [SCXML].

Issues may be reported via ASF JIRA.

## Who is using it?

Projects that use Commons SCXML:

- Reusable Dialog Components (RDC), part of Apache Jakarta Taglibs - For choreographing the execution of speech components taking part in a voice interaction bounded by a RDC group container.
- Apache Shale - For managing the flow of control in web based applications, using Shale dialogs.