Unreliability in Practical Subclasses of Communicating Systems
By: Amrita Suresh, Nobuko Yoshida
Potential Business Impact:
Makes computer messages work even with errors.
Systems of communicating automata are prominent models for peer-to-peer message-passing over unbounded channels, but in the general scenario, most verification properties are undecidable. To address this issue, two decidable subclasses, Realisable with Synchronous Communication (RSC) and k-Multiparty Compatibility} (k-MC), were proposed in the literature, with corresponding verification tools developed and applied in practice. Unfortunately, both RSC and k-MC are not resilient under failures: (1) their decidability relies on the assumption of perfect channels and (2) most standard protocols do not satisfy RSC or k-MC under failures. To address these limitations, this paper studies the resilience of RSC and k-MC under two distinct failure models: interference and crash-stop failures. For interference, we relax the conditions of RSC and k-MC and prove that the inclusions of these relaxed properties remain decidable under interference, preserving their known complexity bounds. We then propose a novel crash-handling communicating system that captures wider behaviours than existing multiparty session types (MPST) with crash-stop failures. We study a translation of MPST with crash-stop failures into this system integrating RSC and k-MC properties, and establish their decidability results. Finally, by verifying representative protocols from the literature using RSC and k-MC tools extended to interferences, we evaluate the relaxed systems and demonstrate their resilience.
Similar Papers
High-Level Message Sequence Charts: Satisfiability and Realizability Revisited
Logic in Computer Science
Makes computer systems work better with unlimited messages.
The R(1)W(1) Communication Model for Self-Stabilizing Distributed Algorithms
Distributed, Parallel, and Cluster Computing
Fixes computer networks that break on their own.
Compositional Interface Refinement Through Subtyping in Probabilistic Session Types
Logic in Computer Science
Makes computer talks safer and easier to build.