Stateless is a .NET state machine library used to manage complex object behaviors and lightweight workflows through C# code. It functions as an asynchronous workflow engine that executes state transitions, guards, and entry-exit actions using asynchronous tasks. The library implements a hierarchical state machine, allowing child states to inherit transitions and properties from parent superstates. It includes a state persistence framework that decouples state tracking from machine logic by reading and writing the current state to external properties or databases. Additionally, it features a g
Transitions is an object-oriented finite state machine library for Python. It provides a framework for managing valid states and the logic for moving between them, including implementations for asynchronous state machines and thread-safe state managers. The library supports hierarchical state machines that allow states to be nested to organize complex subtasks and logical contexts. It includes tools for generating visual diagrams of states and transitions to document machine logic. The project covers state management primitives such as lifecycle callbacks, conditional transition guarding, an
This library is a finite state machine framework for JavaScript designed to manage application states and valid transitions. It provides a system for executing state changes with lifecycle hooks, conditional guards, and transition cancellation. The project is distinguished by its ability to inject state machine logic and transition capabilities directly into existing JavaScript class instances or objects. It also includes a visualization tool that exports state configurations into Graphviz DOT language for auditing system logic. The framework covers asynchronous transition execution and paus
This project is a Ruby library for defining and managing object lifecycles through states, events, and transition rules. It functions as a declarative workflow engine that enforces business logic by restricting attribute changes to predefined, valid paths within Ruby classes. The library distinguishes itself through deep integration with database persistence layers, allowing it to automatically synchronize state changes with data models, validation frameworks, and transaction management. It supports dynamic configuration, enabling the construction of lifecycle rules at runtime from external d
Esta librería proporciona un framework para definir máquinas de estados finitos dentro de clases Ruby para gestionar ciclos de vida de objetos complejos. Funciona como un motor de flujo de trabajo declarativo, permitiendo a los desarrolladores modelar estados, eventos y transiciones de objetos a través de un lenguaje específico de dominio legible. Al integrarse directamente con las capas de persistencia de base de datos, el framework asegura que los cambios de estado se…
Las características principales de aasm/aasm son: State Machine Logic, Business Logic Extensions, Active Record Mappers, Database Integration Layers, State Modification Restrictions, Declarative Workflow Engines, Transition Guards, Application State Machines.
Las alternativas de código abierto para aasm/aasm incluyen: dotnet-state-machine/stateless — Stateless is a .NET state machine library used to manage complex object behaviors and lightweight workflows through C#… pytransitions/transitions — Transitions is an object-oriented finite state machine library for Python. It provides a framework for managing valid… jakesgordon/javascript-state-machine — This library is a finite state machine framework for JavaScript designed to manage application states and valid… pluginaweek/state_machine — This project is a Ruby library for defining and managing object lifecycles through states, events, and transition… day8/re-frame — re-frame is a functional framework for building single-page applications in ClojureScript. It provides a centralized,… gaarason/database-all — This project is a Java-based object-relational mapping framework that utilizes the active record pattern to simplify…