bbv.Common.StateMachine
Hierarchical state machine with fluent definition syntax Features: * states and events can be defined with enums, strings or ints - resulting in single class state machines. * actions o on transitions o entry and exit actions * transition guards * hierarchical 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
Install
dotnet add package bbv.Common.StateMachine --version 7.4.11331.1827
Install-Package bbv.Common.StateMachine -Version 7.4.11331.1827
<PackageReference Include="bbv.Common.StateMachine" Version="7.4.11331.1827" />
Frameworks
No framework metadata available.
Dependencies
Adoption guide
Assess this package against its supported frameworks, license, maintenance signals and dependency graph before making it a project standard.
No SPDX license expression is published. Review the license text and your organisation's policy before redistribution.
No target framework metadata is available. Confirm compatibility in a representative project before standardising on this package.
How to read this guidance
Sources: published NuGet v3 registry metadata and explicit NuBrowse editorial guides. Refresh: package metadata is refreshed from NuGet when the page loads. Limit: this is not a security, legal or compatibility guarantee; validate the selected version in your project.
Useful next steps
Move from package metadata to a concrete selection or review workflow.