138 مستودعات
Architectural patterns for managing transaction lifecycles through defined state transitions.
Distinguishing note: Focuses on contract-based state management rather than general finite state machines.
Explore 138 awesome GitHub repositories matching software engineering & architecture · State Machine Logic. Refine with filters or upvote what's useful.
Sway is a smart contract development language and programming environment designed for writing, compiling, and deploying secure blockchain programs. It serves as a type-safe language for building on-chain logic and a static analysis toolchain that validates contracts before they are executed on a network. The ecosystem provides a development environment focused on blockchain application logic and web3 backend engineering. It integrates a type-safe programming approach to reduce vulnerabilities and ensure reliable state transitions for decentralized services. The toolchain incorporates static
Ensures network-wide consistency by utilizing a deterministic state machine for processing transactions.
Redux is a JavaScript state management library that serves as a centralized state container for application data. It operates as a predictable state machine, maintaining the entire application state in a single immutable object tree to ensure a consistent source of truth. The library enforces a unidirectional data flow architecture where the state is read-only and can only be modified by dispatching action objects. State transitions are calculated by applying pure reducer functions to the current state and a specific action, ensuring that data updates are deterministic and trackable. The sys
Operates as a predictable state machine by applying reducer functions to calculate state transitions.
Fuel Core is a Rust-based implementation of a distributed ledger and a full node for the Fuel v2 protocol. It functions as a layer 2 blockchain client designed to execute binary encoded transactions and synchronize shared state across a decentralized network. The system utilizes a deterministic state machine to ensure all nodes reach the same ledger state and employs a binary-encoded message protocol for network communication. It provides the ability to operate full network nodes or bootstrap private local instances for development and testing. The project covers a broad set of capabilities
Ensures all network nodes reach the same ledger state through a strict set of deterministic rules.
XState is a statechart logic library and finite state machine framework used to model complex application behavior. It provides a system for defining states, events, and transitions to govern how a system responds to inputs through a formal schema. The project includes a visual state machine editor that allows for the design of state machine diagrams which automatically generate the corresponding logic and code. It implements an actor model to manage independent concurrent entities that communicate via asynchronous events to coordinate behavioral flows. The framework covers event-driven stat
Implements statecharts with hierarchical states and parallel regions for modeling complex system logic.
This project is a high-level programming language and compiler toolchain designed for writing and deploying smart contracts on decentralized virtual machines. It provides a framework for creating self-executing code that operates within deterministic execution environments, ensuring that distributed nodes reach identical state transitions through stack-based machine execution. The language enables the development of complex decentralized logic by supporting state-machine-based contract structures and modular composition. It includes built-in capabilities for cryptographic signature verificati
Manages complex transaction lifecycles by transitioning through predefined states that enforce rules and secure assets until conditions are met.
Hystrix is a latency and fault tolerance library designed to prevent cascading failures in distributed systems. It functions as a circuit breaker implementation that monitors failure thresholds and opens circuits to isolate remote calls when downstream services degrade. The project distinguishes itself by providing multiple isolation mechanisms, utilizing dedicated thread pools and semaphores to ensure that latency in one dependency does not saturate the entire system. It also features a request collapsing and batching engine that groups concurrent calls into single executions to reduce the t
Manages service availability states like closed, open, and half-open based on failure rates to isolate failing services.
Xiaozhi-esp32 is an open-source firmware platform designed for building voice-interactive embedded systems on resource-constrained microcontrollers. It functions as an IoT conversational device platform that manages live audio input, speech synthesis, and conversational state transitions to facilitate real-time natural language interaction. The system distinguishes itself by bridging language models with physical hardware through standardized protocols, allowing for the execution of commands on local peripherals or remote smart home services. It utilizes a specialized architecture to coordina
Coordinates conversational flow transitions between listening, processing, and speaking modes.
Sentinel is a microservice flow control framework designed for managing traffic limits, distributed circuit breaking, and adaptive overload protection. It serves as a traffic shaping component that defines resource boundaries to regulate request flow and ensure reliability across distributed systems. The project provides a real-time monitoring dashboard for tracking resource metrics and performance bottlenecks across service clusters. It includes a visual interface for the real-time management of flow control and circuit breaking rules, allowing parameters to be updated without restarting the
Transitions service states between closed, open, and half-open based on error rates or slow-call proportions.
ExoPlayer is an Android media player library and framework designed for playing audio and video content on Android devices. It serves as an adaptive streaming player capable of handling dynamic bitrate switching for streaming protocols such as DASH and HLS. The library provides a foundation for building custom media players with unique playback controls and specialized media source handling. It supports digital content delivery by enabling the streaming of high-quality video over varying network conditions through automatic quality level switching. The framework covers core media playback ca
Manages transitions between buffering, ready, and ended states using a formal state machine.
Jotai is a state management library for React applications that utilizes an atomic model to handle data. It organizes application state into small, independent units called atoms, which automatically track dependencies and trigger granular updates to components. By building state through these composable primitives, the library ensures that only the necessary parts of an application re-render when data changes. The library distinguishes itself through its flexible approach to state composition and asynchronous data handling. It integrates promises directly into the state model, allowing devel
Wraps state machine logic into atoms to synchronize complex component transitions with application state.
Super-productivity is a cross-platform productivity tool that integrates task management, time tracking, and data synchronization. It functions as a task management application for organizing daily work through todo lists and timeboxing, while serving as time tracking software to record activity durations and generate worklogs. The project features a synchronization layer that imports tickets and tasks from external project management tools, specifically Jira and GitHub, into a centralized local workflow. Data consistency across multiple devices is maintained through cloud storage synchroniza
Manages the transition between active work, breaks, and idle states to calculate precise productivity metrics.
Grasscutter is a private game server emulator designed to replicate game backend logic and simulate core gameplay mechanics without the use of official servers. It functions as a system for simulating character progression, world entities, and general backend simulation to host a private instance of a specific anime game. The project includes a game object management console for spawning entities and controlling player inventories within the simulated environment. It also provides a server configuration tool featuring a guided interface to generate and manage the settings and configuration fi
Uses server-side state machines to track the position and status of players and monsters.
Edict is a multi-agent orchestration system and framework designed to coordinate specialized large language model agents. It functions as a workflow designer and orchestrator that decomposes complex objectives into structured plans, using directed acyclic graphs and role-based hierarchies to execute sub-tasks. The system is distinguished by its event-driven architecture, utilizing a publish-subscribe event bus and transactional outbox to manage agent communications and task transitions. It features a dedicated skill management system that allows for the importation, updating, and sandboxed ex
Prevents illegal workflow jumps using a state machine that rejects unauthorized status changes.
Infer is a static analysis toolset for Java, C, C++, and Objective-C designed to detect memory leaks, null dereferences, and resource bugs. It functions as a multi-language bug finder that identifies race conditions, deadlocks, and memory safety issues by translating source code into a common intermediate representation for analysis. The project distinguishes itself through an inter-procedural data flow analyzer that tracks movement between sources and sinks to detect tainted flows and generate data flow graphs. It also includes a framework for verifying temporal properties and reachability u
Uses a domain-specific language and state-machines to verify that sequences of events occur in a required temporal order.
Learn-Vim is an interactive learning platform designed to build proficiency in the Vim text editor. It provides a structured curriculum that guides users through the fundamentals of modal editing and command-line text manipulation to improve terminal productivity. The project functions as a terminal-based simulation that allows users to practice editing techniques within a sandboxed environment. By utilizing a virtual file system and state-machine sequencing, the platform validates user inputs against specific command patterns to ensure mastery of each lesson. This training environment cover
Employs state machine logic to track user progress and validate command patterns against expected lesson outcomes.
This project is a structured Rust programming curriculum and systems programming course designed to take learners from beginner to expert levels. It provides a comprehensive set of training materials focused on mastering the core syntax, idioms, and technical foundations of the Rust language. The project features a specialized language transition framework that maps concepts from C++, managed languages, and dynamic typing to Rust idioms. This allows developers from different ecosystems to translate architectural patterns and memory models into idiomatic Rust. The training covers a broad rang
Explains how asynchronous futures are implemented as polling state machines.
Pinpoint is a distributed application performance management tool designed to trace requests and monitor metrics across large-scale distributed architectures. It functions as a request tracer, topology mapper, and JVM application monitor, providing a backend capable of collecting and visualizing trace data from OpenTelemetry compatible sources. The system distinguishes itself through a combination of bytecode-based instrumentation via a Java agent and topology-based visualization that renders live maps of service interconnections. It captures execution flow across asynchronous boundaries, suc
Monitors the availability states of circuit breakers to detect system failures and trigger fast-fail mechanisms.
Shepherd is a client-side onboarding framework and interactive product tour library used to create step-by-step guided walkthroughs. It functions as a UI guided tour system and DOM element highlighting tool that displays instructional overlays and tooltips to guide users through a web application interface. The system features a dynamic layout engine for anchoring tooltips to target elements and preventing screen overflow. It supports multi-element highlighting to draw attention to several UI components simultaneously and includes focus trapping to restrict keyboard navigation to active tour
Coordinates tour progress and instance methods across the application using shared state management.
Shepherd is an interactive product tour framework and JavaScript onboarding library used to build step-by-step instructional journeys. It serves as a web application guidance tool that presents sequences of instructional overlays to help users navigate interfaces and discover features. The library enables the creation of guided user tours, onboarding experiences, and interactive application guides. It is used to provide contextual in-app education and drive product feature adoption by leading users through specific workflows. The framework utilizes configuration-driven tour definitions and a
Tracks the current step index and user progress to trigger transitions in a predefined walkthrough sequence.
COLA is a core architectural toolkit for Java applications designed around domain-driven design and a clean, object-oriented layered architecture. It provides a framework for managing project structures, implementing domain-driven entity modeling, and organizing enterprise application architecture to decouple business logic from technical dependencies. The project features a pluggable logic extension system that allows for the addition of new functionality through defined extension points without modifying the core codebase. It also includes a project bootstrapping toolkit and an integration
Coordinates complex object lifecycle changes using a formal state machine to ensure consistent system behavior.