Displaying 1 to 20 from 48 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.

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.

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.

http-decision-diagram - An activity diagram to describe the resolution of HTTP response status codes, given various headers

  •    Javascript

An activity diagram to describe the resolution of HTTP response status codes, given various headers, implemented via semantical callbacks. And it goes on Twitter as #httpdd - HTTP Decision Diagram.

behaviac - behaviac is a framework of the game AI development, and it also can be used as a rapid game prototype design tool

  •    CSharp

behaviac is a framework of the game AI development, and it also can be used as a rapid game prototype design tool. behaviac supports the behavior tree, finite state machine and hierarchical task network(BT, FSM, HTN)

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.


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.

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.

fsm - Finite State Machine for Go

  •    Go

FSM is a finite state machine for Go.

Stateless4j - Lightweight Java State Machine

  •    Java

Stateless4j helps to create state machines and lightweight state machine-based workflows directly in java code. It supports Hierarchical states, Entry/exit events for states, Guard clauses to support conditional transitions, Reentrant states and lot more.

fsm-as-promised - A finite state machine library using ES6 promises

  •    Javascript

A minimalistic finite state machine library for browser and node implemented using promises. πŸ“’ For Visual Studio Code users: checkout the UML visualization extension.

Metamorph

  •    

A simple and lightweight framework for managing Finite State Machines and Business Processes.

Application Rapid Development Toolkit (ARD Toolkit)

  •    

ARD Toolkit is a collection of .NET C# classes that implement typical tasks and patterns an application developer faces on day-to-day basis. ARD Contains: - Data Access module provides a framework for database vendor independent database code. It has generic classes that i...

StatefulJ - Event Driven Finite State Machine (FSM)

  •    Java

StatefulJ is a lightweight, open source Java Event Driven Finite State Machine(FSM) and a complete Spring Data based framework which lets you easily define and integrate State Machines into your Applications. It is simple, dependency free, in memory implementation of an FSM with support for concurrency and non-deterministic transitions.

Orleankka - Functional API for Microsoft Orleans http://orleanscontrib.github.io/Orleankka/

  •    CSharp

Orleankka is a functional API for Microsoft Orleans framework. It is highly suitable for scenarios where having composable, uniform communication interface is preferable, such as: CQRS, event-sourcing, re-routing, FSM, etc.References: intro, features, slides and discussion.

gofsm - a featured FSM that can export state images

  •    Go

a featured FSM that can export state images

javascript-state-machine - An expressive, feature-rich, event-driven JavaScript finite-state machine

  •    Javascript

State Machine is a library for managing a finite set of states, and moving between them via actions and transitions. From its intuitive configuration through its powerful event-based architecture and rich API, State Machine makes it easy to describe and manage interaction with complex state-dependent systems like components, multi-step forms, purchase funnels, visualisations or games.

machina.postal - machina.js plugin that auto-wires FSMs into postal.js (message bus)

  •    Javascript

When you include machina.postal.js in your project, it hooks into the "newFsm" event that gets fired anytime a new FSM is created. In the handler for the "newFsm" event, the machina.postal plugin subscribes to postal, using the FSM's namespace as a channel name, and a wildcard "#" as the topic (will match ANY topic on that channel). From that point on, if anyone publishes a message on the FSM's channel, with a topic that matches the name of a handler, the FSM will call handle, routing the message payload to the handler name (assuming one exists under the current state) which matches the message topic. Voila! Your application components can now interact with the FSM over the message bus, and not require a direct reference to it. But wait, there's more.