STTCL C++ template state machine framework
2 Usage of the STTCL state machine template class framework
2.1 Declare a StateMachine implementation
2.2 Declare State implementations
2.3 Implement the state machine interfaces
2.4 STTCL 'implementation hooks'
2.5 Implement state actions and transitions
2.6 Composite states
2.7 Composite state regions, forks/joins
3 Mapping of the UML state diagram notation elements to the GoF State pattern
4 Configuring the STTCL library for a specific OS/build environment
4.1 Configuring STTCL builtin concurrency implementations
4.2 Providing custom implementations for concurrency
The STTCL state machine template class framework provides a number of template classes to implement UML 2.2 state machine specification compliant state machines. The template classes are intended to be used as public base class of the implementation of state machine and state classes. The basic function principle is based on the GoF State Pattern.
You start with a given UML 2.2 state diagram that defines your applications behavior:
The GoF state pattern proposes to use a class design like shown in the following class diagram.
The overall class design using STTCL will look like the following detailed class diagram: