Maxwait: A Generalized Mechanism for Distributed Time-Sensitive Systems
Francesco Paladino, Shulu Li, Edward A. Lee
TL;DR
Maxwait introduces a unifying, decentralized coordination mechanism for time-sensitive distributed systems by extending Lingua Franca. It formalizes how to trade off consistency and availability under bounded latency, enabling logical-time consistency or coordination-free behavior through controlled timing via the maxwait parameter and fault handling. The approach subsumes classical techniques (e.g., PTIDES, Chandy–Misra) and supports practical patterns such as LET, publish–subscribe, actors, and RPCs with futures, while providing explicit mechanisms for fault detection and timing-based guarantees. This framework advances real-time distributed computing by bringing timing concerns to the foreground within a single semantic model, with concrete examples like aircraft door safety, automated braking, and bank transaction coordination to illustrate the practical impact and flexibility.
Abstract
Distributed time-sensitive systems must balance timing requirements (availability) and consistency in the presence of communication delays and synchronization uncertainty. This paper presents maxwait, a simple coordination mechanism with surprising generality that makes these tradeoffs explicit and configurable. We demonstrate that this mechanism subsumes classical distributed system methods such as PTIDES, Chandy-and-Misra with or without null messages, Jefferson's Time-Warp, and Lamport's time-based fault detection, while enabling real-time behavior in distributed cyber-physical applications. The mechanism can also realize many commonly used distributed system patterns, including logical execution time (LET), publish and subscribe, actors, conflict-free replicated data types (CRDTs), and remote procedure calls with futures. More importantly, it adds to these mechanisms better control over timing, bounded time fault detection, and the option of making them more deterministic, all within a single semantic framework. Implemented as an extension of the Lingua Franca coordination language, maxwait enforces logical-time consistency when communication latencies are bounded and provides structured fault handling when bounds are violated.
