sttcl  v0.9c
STTCL C++ template state machine framework
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
STTCL state machine template class framework

Content:
1 Introduction
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

1 Introduction

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:

StateMachine_Implementation_SD.png
State machine diagram

The GoF state pattern proposes to use a class design like shown in the following class diagram.

StateMachine_Implementation_CD.png
State machine implementation class diagram

The overall class design using STTCL will look like the following detailed class diagram:

Application_Design_CD.png
STTCL state machine application design class diagram