OSML language
Task, Choice, Parallel, Map, Wait, Pass, Succeed, Fail and StartExecution — defined in portable JSON with a published JSON Schema.
Define workflows in OSML — the Open State Machine Language — and run them on Statum: a journal-first, Postgres-backed engine that runs express workflows in-process and long-running ones as durable, crash-safe steps.
A production-oriented engine with an open language, express or durable execution, and no vendor lock-in.
Task, Choice, Parallel, Map, Wait, Pass, Succeed, Fail and StartExecution — defined in portable JSON with a published JSON Schema.
Express runs workflows in-process to completion — low latency, ideal for short-lived work. Standard steps through a durable Postgres queue with crash-safe recovery.
An append-only event journal is the source of truth. Execution state is a projection replayed from the journal — auditable for every mode, crash-safe for Standard.
Inline JavaScript (GraalVM), HTTP calls, Java handlers, task tokens, activities, and human approval — plus a plugin SPI.
Per-state retries with backoff and error catching, JSONPath and optional JSONata I/O, intrinsics, and cooperative cancellation.
Publish new versions, pin aliases, run sync or async, and observe every transition with Micrometer/Prometheus metrics.
Edit a workflow, watch the diagram update live, and validate against the OSML schema. Connect a Statum engine to execute it end to end.
From a JSON definition to a fast or durable, observable execution in four steps.
Describe states, transitions, retries and error handling in JSON.
Publish the machine to Statum over REST and get a versioned name.
Run express workflows in-process or start Standard executions on the durable step queue.
Replay the journal, view history, and debug step by step in the self-hosted console.
Open State Machine is free and self-hosted. Run Statum next to your services and keep your workflows portable.