Hierarchical state machine with fluent definition syntax
* states and events can be defined with enums, strings or 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
* extensible thorough logging
* 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.12045.727
dotnet add package bbv.Common.StateMachine --version 7.4.12045.727
<PackageReference Include="bbv.Common.StateMachine" Version="7.4.12045.727" />
paket add bbv.Common.StateMachine --version 7.4.12045.727
This package is not used by any popular GitHub repositories.