Concurrent Hierarchical State Machine


CHSM is a language system for specifying concurrent, hierarchical, finite state machines (an implementation of "statecharts") to model and control reactive systems.

CHSM uses its own statechart specification langauge annotated with either C++ or Java code fragments in the tradition of yacc grammars with C code fragments. The generated code is fully object oriented allowing multiple state machines to exist concurrently. The CHSM run-time library is small, efficient, and thread-safe.

When using CHSM with Java, you can alternatively specify a statechart using Groovy instead of using CHSM's specification language.

CHSM has been used successfullly in production environments such as CERN, Philips, Qualcomm, and for the ANTARES neutrino telescope project.

Copyright © 1996-2013 by Paul J. Lucas and Fabio Riccardi.
CHSM is available under the terms of the GNU General Public License. Commercial licenses are also available.
Last updated: July 26, 2013