{"repo":"GnomesOfZurich/scxml","free":true,"listed":false,"github":"https://github.com/GnomesOfZurich/scxml","clone":"git clone https://github.com/GnomesOfZurich/scxml.git","description":"SCXML - State Chart XML (State Machine Notation for Control Abstraction)","language":"Rust","stars":19,"topics":["harel","rust","scxml","state-machine","statechart","wasm","workflow","xstate"],"license":"Apache-2.0","category":"workflow-automation","readme_excerpt":"scxml — W3C SCXML statechart library for Rust crates.io · docs.rs · GitHub · Live Demo Every non-trivial system has state machines. Approval workflows, settlement protocols, document lifecycles, game AI, embedded controllers; they are all state machines, whether their authors admit it or not. Most teams reinvent them from scratch using ad-hoc enums and match statements, then discover the hard way that they need hierarchy, parallel regions, history states, and formal validation. David Harel solved this in 1987 with statecharts90035-9). The W3C standardised the serialization format as SCXML in 2015. The Rust ecosystem has several state-machine crates aimed at code-defined FSMs ( statig , rust-fsm , finny , sm ), but support for SCXML as an interchange format for round-tripping XML, validating it, exporting to DOT/Mermaid, and simulating before deployment has been thin. This crate is for the use case where the state machine is a document that humans, tools, and other systems edit, review, and approve, not just a match block compiled into your binary. scxml parses, validates, visualizes, and simulates W3C SCXML statecharts. It is not a runtime executor. Your compiled native types handle that. This crate is the document model: the layer that sits between human-readable definitions and machine-optimized execution, the same way a compiler frontend sits between source code and object code. It is framework-agnostic : no Axum, Actix, Tokio, or async runtime in the dependency graph. Use","default_branch":null,"files":null,"tree":[],"storefront":"/r/GnomesOfZurich","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/GnomesOfZurich/scxml/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}