bbv.Common.StateMachine (nuget): 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
Keywords: state-machine