Explore an Accord protocol.

The diagram shows who talks to whom, which messages they exchange, and the conditions on each step. Pick a preset to study a worked example, or choose Create new to draft your own. Tier 0 language checking (parser, scope, guards, projection, and difference-logic guard entailment) run in your browser, with nothing to install. Abacus is the minimal assured checker for that narrow fragment: it returns a sound accept/reject or a precise refusal when a protocol leaves it. Graph, nuXmv, and Platum generation still need a connected native Tier-1G checker.

In-browser checks: on Abacus: minimal assured checker (on-device)

Drag from a participant handle at the top of a lifeline across to another participant to add a message. Select an arrow first to insert right after it. Double-click any message to edit its signature. Select an arrow and press Delete to remove it. Ctrl/Cmd+Z undoes the last change.

The bundled Tier 0 checker parses this source in your browser, so Apply and Load work with nothing installed. Invalid or unsupported source keeps the last valid diagram. Choices and scalar state loops can nest at any depth. Tuple payloads and tuple valued loop state stay source only in the current visual importer.

    Checker status, verification, and downloadable artifacts
    Editing… Not verified

    Checking service… Authoritative operations are paused until status is known.
    Developer

    Visual edits work locally and are labeled as drafts until a checker accepts them. Abacus is the minimal assured browser checker for the supported difference-logic fragment. A connected native checker runs the authoritative Tier 0 language check automatically for each committed revision. The Verify button runs the extracted Abacus difference-logic projectability checker in this page; it does not send source to a prover. Unsupported guards refuse with the exact local F*/Z3 or Lean escalation. Source import stays local; graph, nuXmv, and Platum generation still require the native service.

    Abacus verifies the supported difference-logic/projectability fragment in the browser. The F* module is emitted from the exact Tier-0 accepted revision; it is source for later verification, not an F*/Z3 verdict. Graph, nuXmv, and Platum downloads independently verify the exact revision at native Tier 1G. F*, Z3, and backend tools still require a checker service or local bridge.

    Abacus and F* source emission run in-browser; graph JSON, nuXmv, and Platum artifacts require the native Tier-1G checker.