CHSM (Concurrent Hierarchical State Machine) is a Statecharts implementation for C++ and Java that allows one to integrate state definitions, event handlers, and transitions seamlessly into the host language's object model.
CHSM allows normal Java or C++ code to be intermixed with the Statechart definition promoting a clear and natural programming paradigm. The CHSM is a full implementation of Harel's Statecharts and it is compliant with the UML 2.0 specification, including mechanisms for Statechart inheritance, event inheritance, and generic event dispatching.
The CHSM system includes compilers for translating the CHSM Statecharts language to either C++ or Java, as well as a run- time library to support Statechart execution semantics. The generated code and the run-time libraries have been designed for safety, efficiency and small footprint size, making it an ideal choice for embedded systems, control systems, user interfaces, communication protocols, and web service applications.
The CHSM run-time implements the Statechart's Micro Step execution semantics that ensures safety and liveness properties to state machine specifications, a critical feature for many embedded and real-time applications.
CHSM is distributed as open source software under the GNU Public Licensing scheme, although commercial licenses might be negotiated with the authors.
CHSM has a homepage:
- Paul