Frequently Asked Questions¶
Feel free to ask questions either on Stack Overflow or in the GitHub issues. Questions from there will be added here over time.
What is a finite-state machine?
A finite state machine (FSM) is a mathematical description of the relationships between a finite number of states, and a finite number of events that can cause transitions between states. See [the Wikipedia entry](https://en.wikipedia.org/wiki/Finite-state_machine) for more information.
What is a statechart?
A statechart is an extension to finite state machines, created by David Harel. They are more flexible than finite state machines because they support:
- hierarchical (nested) states,
- orthogonal (parallel) regions,
- state actions (entry, exit, and transition actions)
- history (shallow and deep) states.
See [the Wikipedia entry](https://en.wikipedia.org/wiki/State_diagram#Harel_statechart) and David Harel's original paper, [Statecharts: a Visual Formalism for Complex Systems](https://www.sciencedirect.com/science/article/pii/0167642387900359/pdf) for more information.