Displaying 1 to 20 from 105 results

raft - Golang implementation of the Raft consensus protocol

  •    Go

raft is a Go library that manages a replicated log and can be used with an FSM to manage replicated state machines. It is a library for providing consensus.The use cases for such a library are far-reaching as replicated state machines are a key component of many distributed systems. They enable building Consistent, Partition Tolerant (CP) systems, with limited fault tolerance as well.

Stateless - A CSharp Hierarchical State Machine

  •    CSharp

Stateless helps to create state machines and lightweight state machine-based workflows directly in .NET code. It provides support for states and triggers of any .NET type, Hierarchical states, Entry/exit events for states, Guard clauses to support conditional transitions, Parameterised triggers and lot more.

ui-router - The de-facto solution to flexible routing with nested views in AngularJS

  •    TypeScript

Angular UI-Router is a client-side Single Page Application routing framework for AngularJS.Routing frameworks for SPAs update the browser's URL as the user navigates through the app. Conversely, this allows changes to the browser's URL to drive navigation through the app, thus allowing the user to create a bookmark to a location deep within the SPA.

machina.js - js ex machina - finite state machines in JavaScript

  •    Javascript

Machina.js is a JavaScript framework for highly customizable finite state machines (FSMs). Many of the ideas for machina have been loosely inspired by the Erlang/OTP FSM behaviors. Finite state machines are a great conceptual model for many concerns facing developers – from conditional UI, connectivity monitoring & management to initialization and more. State machines can simplify tangled paths of asynchronous code, they're easy to test, and they inherently lend themselves to helping you avoid unexpected edge-case-state pitfalls. machina aims to give you the tools you need to model state machines in JavaScript, without being too prescriptive on the problem domain you're solving for.




stockroom - 🗃 Offload your store management to a worker easily.

  •    Javascript

Offload your store management to a worker. Stockroom seamlessly runs a Unistore store (and its actions) in a Web Worker, setting up optimized bidirectional sync so you can also use & subscribe to it on the main thread.

unistore - 🌶 650b state container with component actions for Preact & React

  •    Javascript

A tiny ~650b centralized state container with component bindings for Preact & React. This project uses node and npm. Go check them out if you don't have them locally installed.

SMC - The State Machine Compiler

  •    Java

SMC takes a state machine stored in a .sm file and generates a State pattern in 14 programming languages. Includes: default transitions, transition args, transition guards, push/pop transitions and Entry/Exit actions.

django-fsm - Django friendly finite state machine support

  •    Python

django-fsm adds simple declarative states management for django models. Instead of adding some state field to a django model, and managing its values by hand, you could use FSMState field and mark model methods with the transition decorator. Your method could contain the side-effects of the state change.


django-fsm - Django friendly finite state machine support

  •    Python

django-fsm adds simple declarative states management for django models. Instead of adding some state field to a django model, and managing its values by hand, you could use FSMState field and mark model methods with the transition decorator. Your method could contain the side-effects of the state change.

aasm - AASM - State machines for Ruby classes (plain Ruby, ActiveRecord, Mongoid)

  •    Ruby

This package contains AASM, a library for adding finite state machines to Ruby classes. AASM started as the acts_as_state_machine plugin but has evolved into a more generic library that no longer targets only ActiveRecord models. It currently provides adapters for many ORMs but it can be used for any Ruby class, no matter what parent class it has (if any).

xstate - Functional, Stateless JS Finite State Machines and Statecharts

  •    TypeScript

Functional, stateless JavaScript finite state machines and statecharts. Statecharts are a formalism for modeling stateful, reactive systems. This is useful for declaratively describing the behavior of your application, from the individual components to the overall application logic.

microstates.js - Composable State Primitives for JavaScript

  •    Javascript

Microstates makes working with pure functions over immutable data feel like working with the classic, mutable models we all know and love. But, most imporantly, Microstates makes working with state fun.

react-automata - A state machine abstraction for React

  •    Javascript

A state machine abstraction for React that provides declarative state management and automatic test generation. react and react-test-renderer are peer dependencies.

Spring Statemachine - Framework for application developers to use state machine concepts with Spring

  •    Java

Spring Statemachine is a framework for application developers to use state machine concepts with Spring applications. Hierarchical state machine, Usage of triggers, transitions, guards and actions, Type safe configuration adapter, Distributed state machine based on a Zookeeper, State machine event listeners and lot more.

RxAutomaton - RxSwift + State Machine, inspired by Redux and Elm.

  •    Swift

RxSwift port of ReactiveAutomaton (State Machine). Whenever the word "signal" or "(signal) producer" appears (derived from ReactiveCocoa), they mean "hot-observable" and "cold-observable".

Stately

  •    Javascript

Stately.js is a JavaScript based finite-state machine (FSM) engine for Node.js and the browser. Both will return a new stateMachine object, with all events from all states attached to it. The machine will transition into the initial state initialStateName or the first attached stateObject if initialStateName is omitted. In addition to the events the stateMachine object has a getMachineState() method, returning the current name of the machines state, getMachineEvents(), returning possible events in the current state.

Tendermint - Tendermint Core (BFT Consensus) in Go

  •    Go

Tendermint Core is Byzantine Fault Tolerant (BFT) middleware that takes a state transition machine - written in any programming language - and securely replicates it on many machines.

finite_machine - A minimal finite state machine with a straightforward syntax.

  •    Ruby

A minimal finite state machine with a straightforward and intuitive syntax. You can quickly model states and add callbacks that can be triggered synchronously or asynchronously. The machine is event driven with a focus on passing synchronous and asynchronous messages to trigger state transitions. As the example demonstrates, by calling the define method on FiniteMachine you create an instance of finite state machine. The events and callbacks scopes help to define the behaviour of the machine. Read Transitions and Callbacks sections for more details.

Copycat - A novel implementation of the Raft consensus algorithm

  •    Java

Copycat is a fault-tolerant state machine replication framework. Built on the Raft consensus algorithm, it handles replication and persistence and enforces strict ordering of inputs and outputs, allowing developers to focus on single-threaded application logic. Its event-driven model allows for efficient client communication with replicated state machines, from simple key-value stores to wait-free locks and leader elections. You supply the state machine and Copycat takes care of the rest, making it easy to build robust, safe distributed systems.