The Wayback Machine - https://web.archive.org/web/20040213094302/http://homepage.mac.com:80/pauljlucas/software/chsm/
CHSM
Concurrent Hierarchical State Machine

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

CHSM uses its own specification langauge annotated with C++ code fragments in the tradition of yacc with C code fragments.

CHSM has been used successfullly in production environments such as CERN and Philips. Here is an independent review from users at CERN.

* Fully Documented
Unix-style "man" pages are included describing the specification language, C++ classes, and compiler. There are also a few included examples. The source code is also generously commented.

Although the current implementation has evolved over time, the original description is available.
* Download for Free
CHSM is free software available under the terms of the GNU General Public License. It also happens to be free of cost. (Other, commercially oriented licenses are also available.)

Unix requirements: A C++ compiler (such as the GNU C++ compiler), a version of STL (the C++ Standard Template Library), a lexical analyzer generator (such as lex or flex), and GNU make.

Download generic source code:
chsm-3.0.tar.gz

The change log is available.
* Freshmeat Listing
CHSM is listed on Freshmeat.net. You can be notified of new releases by subscribing to it there.

Copyright © 2003 by Paul J. Lucas and Fabio Riccardi.
CHSM is available under the terms of the GNU General Public License. Other, commercially oriented licenses are also available.
Last updated: September 1, 2003