Concurrent interaction examples #
This file gives small definitional examples for the current concurrent layer.
The examples are intentionally focused on:
- binary structural parallelism;
- frontier events and residuals;
- per-party observation profiles over concurrently live components.
- scheduler ownership versus atomic payload ownership;
- the combined current local view of the next frontier event.
- process executions, controller paths, and observed local traces.
- interleaving equivalence under commuting independent steps.
- executable scheduler and controller policies over finite traces.
They are meant to exercise the current expressivity surface before later layers such as fairness or richer execution semantics are added.
One atomic message-delivery step whose payload is a pair of a public header and a private payload bit.
Instances For
A profile where Alice originates the payload, Bob sees the whole message, and the adversary sees only the public header.
Instances For
A second atomic node that only Bob fully observes, while the adversary learns nothing.
Instances For
Local observations for the acknowledgement node.
Instances For
A concurrent system where delivery and acknowledgement are both live.
Instances For
The corresponding concurrent observation profile.
Instances For
Control ownership for the delivery step: Alice chooses the payload.
Instances For
Control ownership for the acknowledgement step: Bob chooses the bit.
Instances For
The adversary controls scheduling between the two concurrently live subsystems, while Alice and Bob still control their respective atomic nodes.
Instances For
A concrete structural trace where the adversary schedules delivery first and the remaining acknowledgement second.
Instances For
The dynamic process compiled from the structural tree frontend.
Instances For
The packaged initial structural state of the in-flight system.
Instances For
The process execution induced by deliveryThenAck.
Instances For
A concrete structural trace where the adversary schedules the acknowledgement before the delivery event.
Instances For
The process execution induced by ackThenDelivery.
Instances For
When both sides of a live par are available, prefer the left branch.
Instances For
When both sides of a live par are available, prefer the right branch.
Instances For
A three-way concurrent system used to illustrate recursive independence inside one branch of a larger parallel spec.
Instances For
Node semantics for a tiny looping process: the adversary actively chooses the boolean step, Bob observes it, and Alice is hidden from it.
Instances For
A tiny one-state looping process used to exercise runs, tickets, fairness, and refinement.
Instances For
A ticketed view of loopProcess using the chosen boolean as the stable
ticket.
Instances For
A simple always-true infinite run of loopProcess.
Instances For
A trivial system wrapper around loopProcess.
Instances For
The identity simulation on loopSystem, preserving the boolean ticket.
Instances For
The identity simulation on loopSystem, preserving Bob's local
observations.
Instances For
The specification-side run obtained by matching trueRun through
loopObsSimBob.
Instances For
The identity ticket bisimulation on loopSystem.
Instances For
The identity observational bisimulation on loopSystem for Bob.