CHSM is a language system for specifying concurrent, hierarchical, finite state machines (a realization of "statecharts") to model and control reactive systems. It 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 run-time library is small, efficient, and thread-safe. It has been used successfully in production environments such as CERN for controlling high-energy physics experiment equipment.


The "dominance" rule has been extended from parent/child transitions to sibling transitions. This allows "if-else" transitions to be done more efficiently.

URL: CHSM: Concurrent Hierarchical Finite State Machine