A Theory of Available-by-Design Communicating Systems
Hugo A. L\'opez, Flemming Nielson, Hanne Riis Nielson

TL;DR
This paper introduces a new choreographic programming calculus, GC_q, designed for distributed systems with dynamic component availability, ensuring correct and deadlock-free implementations despite failures.
Contribution
It develops the Global Quality Calculus (GC_q) with novel operators for failure-aware communication and provides a type system and endpoint projection methodology to handle dynamic availability.
Findings
GC_q supports multiparty, partial, and collective communications with failures.
A type system guarantees choreography realizability despite component failures.
Progress is maintained in well-typed choreographies with availability considerations.
Abstract
Choreographic programming is a programming-language design approach that drives error-safe protocol development in distributed systems. Starting from a global specification (choreography) one can generate distributed implementations. The advantages of this top-down approach lie in the correctness-by-design principle, where implementations (endpoints) generated from a choreography behave according to the strict control flow described in the choreography, and do not deadlock. Motivated by challenging scenarios in Cyber-Physical Systems (CPS), we study how choreographic programming can cater for dynamic infrastructures where not all endpoints are always available. We introduce the Global Quality Calculus (), a variant of choreographic programming for the description of communication systems where some of the components involved in a communication might fail. GCq features novel…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsDistributed systems and fault tolerance · Modular Robots and Swarm Intelligence · Formal Methods in Verification
