Hierarchical state machine with fluent definition syntax
* value type based (enums, ints, ...) resulting in single class state machines.
o on transitions
o entry and exit actions
* transition guards
o different history behaviors to initialize state always to same state or last active state
* fluent definition interface
* synchronous/asynchronous state machine
o passive state machine handles state transitions synchronously
o active state machine handles state transitions asynchronously on the worker thread of the state machine
* configurable thorough logging simplifies debugging using log4net
* state machine report for description of state machine
bbv.Common.StateMachine is a part of bbv.Common, a library of .NET components and functionality including:
* (a)synchronous notification component with thread switching using publisher-subscriber pattern,
* hierarchical state machine with fluent definition syntax,
* programmatic, loosely coupled, context based rule engine,
* support for active objects to build multi-threaded applications
See the version list below for details.
Install-Package bbv.Common.StateMachine -Version 7.4.1187.412
dotnet add package bbv.Common.StateMachine --version 7.4.1187.412
<PackageReference Include="bbv.Common.StateMachine" Version="7.4.1187.412" />
paket add bbv.Common.StateMachine --version 7.4.1187.412
This package is not used by any popular GitHub repositories.