📄️ Model of Computation
Rosia is a variant of the reactor model of computation. A program is a directed graph of nodes that communicate through ports. Each node runs in its own process. All ordering and synchronization is
📄️ Logical Time
In Rosia, logical time is the timestamp system used for ordering and synchronization. It is up to you to control logical time within each node, and Rosia will take care of execution and synchronization across nodes.
📄️ Safe To Advance To (STAT)
Each node maintains a Safe To Advance To (STAT) time. STAT is the upper bound on the node's logical clock: the node may only process events at $t < \text$. Once STAT advances, more work becomes safe.
📄️ Physical Time and Realtime Mode
Logical time is the ordering and synchronization clock. Logical time is independent of wall-clock time: a logical timestamp like 1 * s is just a label that orders messages, not a guarantee about how long execution actually