86 packages tagged with “state-machine”
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 on transitions, entry and exit actions, transition guards, hierarchical with different history behaviors to initialize state always to same state or last active state, fluent definition interface, synchronous/asynchronous state machine (passive state machine handles state transitions synchronously, 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 (csv, yEd)
A fully extensible state machine. Its implementation effectively allows the possibility of creating an infinite number of states and/or inputs. It was created to support the Manatee Json project.
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
A simple state machine implementation. If you like NState, please add an entry to the users.md file in the GitHub repo and open a pull request. Let's share descriptions of the cool things we are using NState for.
Lightweight workflow engine
Staty is a smart state-machine for .NET. Written as C# portable class library (PCL), Staty comes as an expressive event-driven state-machine with features like concurrence-safety, external and interal events, separate classes per state, entry and exit actions and a fluent syntax to configure the state-machine.
yEd graphml file generator for bbv.Common.StateMachine. You can create files from your state machine definition that can be loaded with yEd. bbv.Common.StateMachine.YEd 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
A complete framework for data control and composition in the vvvv visual programming environment
The library that allows you to easily implement a stateful object.
A library to add a flexible SOLID versions of the State Pattern and StateMachine Pattern.
Base classes that allow a hierarchical finite automata state-chart to be translated easily and directly into C# code. Due to its tiny size and extraordinary performance, it is suitable for embedded or real-time systems.
Finite-state machine (FSM) with a fluent interface and mediators compatibility
The Dependency Injection extension in regards to the St8-ment library. Provides an extension method that can be used with the Microsoft Dependency Injection library.
A generic state-machine framework, with support for active/passive machines, exposed events and rich exception handling.
Minimalistic state machine. Commonly used types: • IState<TContext, TEvent, TState> • StateMachine<TContext, TEvent, TState> • IAsyncState<TContext, TEvent, TState> • AsyncStateMachine<TContext, TEvent, TState>
Library for SimpleStateMachine
IegTools.Sequencer provides a fluent interface for creating easy-to-read and extensible sequences, eliminating the need for lengthy if-else statements. Predecessor of FluentSeq - transaction-based architecture
This package defines the metadata abstractions for describing hierarchical state machines (also known as "statecharts"), as well as an initial .NET object model implementation and an in-memory interpreter that works directly against that metadata. For more information on statecharts, see https://statecharts.github.io/.
A state machine library that makes implementing state transitions more fun. Now with async execution.
This package defines the client APIs for starting new hierarchical state machine (or "statechart") instances that run on Azure Durable Functions. For more information on statecharts, see https://statecharts.github.io/.
UML and Statechart inspired state machine library with hierarchical and orthogonal states. See description on https://StaMa-StateMachine.github.io/StaMa/. This package includes: - Portable assembly for .NET Framework 4, Silverlight 5, Windows 8, Windows Phone 8.1, Windows Phone Silverlight 8 and higher versions. Runs on Mono. - Assembly for .NET Micro Framework 4.3 ------ Features ------ Fork and join transitions. Entry-, exit-, do- and transition-actions. Guard conditions. Shallow history. Run-to-completion processing. Provides Statecharts functionality comparable to SCXML. Low garbage object creation during runtime. Free from runtime thread synchronization calls. Multiple state machine instances can be created from a single state machine definition. Optional code generation based on Microsoft Visio diagrams.
This package implements the integration between the hierarchical state machine (or "statechart") interpreter and Azure Durable Functions. To use it, simply reference this package in a standard Azure Durable Functions project and define statecharts using either strongly-typed .NET syntax, or JSON. For more information on statecharts, see https://statecharts.github.io/.
A Fluent finite state machine which provides an easy to configure and use state mahine base class
This is an easy-to-use state machine implementation for C#.
State machine with DI support and async pattern (.net Standard 2.0 and .net 6)
Simple finite state machine that can be used for games, services and other programs that require complex state management.
A simple convention-based finite state machine that lets you pass event data through to your transition actions.
Autofac package for state machines with async pattern (.net Standard 2.0 and .net 6)
A blueprint-based, runtime-modifiable Finite State Machine system for .NET. Features thread-safe deferred execution, zero-dependency architecture, and decoupled POCO contexts.