State machine origami
State machines can be used to graphically describe the behavior of components and generate efficient code in C or C++. The interaction of statecharts with their environment is described using concepts such as events and formal interfaces.