Hierarchical State Machine with Fluent Definition Syntax (.NET)
June 9th, 2010
The .NET component library bbv.Common (open source – Apache License 2.0) provides a powerful hierarchical state machine.
Its features are:
- value type based (enums, ints, …) resulting in single class state machines.
- actions
- on transitions
- entry and exit actions (parametrizable)
- transaction guards
- hierarchical
- different history behaviours to initialize state always to same state or last active state
- fluent definition interface
- synchronous/asynchronous state machine
- passive state machine handles state transitions synchronuously
- active state machine handles state transitions asynchronously on the worker thread of the state machine
- configurable thorough logging simplifies debugging using log4net (can be replaced easily with custom logging)
- state machine report for textual description of state machine

