Comparing Channel Restrictions of Communicating State Machines, High-level Message Sequence Charts, and Multiparty Session Types
Felix Stutz (MPI-SWS), Damien Zufferey (MPI-SWS)

TL;DR
This paper compares restrictions on communication channels in formal models like communicating state machines, message sequence charts, and session types, analyzing their expressive power and relationships to improve protocol verification.
Contribution
It classifies and compares channel restrictions across different models, providing the first formal embedding of multiparty session types into message sequence charts.
Findings
Half-duplex, existential B-boundedness, and k-synchronisability restrictions are analyzed.
Multiparty session types are shown to be half-duplex, 1-bounded, and 1-synchronisable.
Different conclusions are drawn about restrictions in state machines versus message sequence charts.
Abstract
Communicating state machines provide a formal foundation for distributed computation. Unfortunately, they are Turing-complete and, thus, challenging to analyse. In this paper, we classify restrictions on channels which have been proposed to work around the undecidability of verification questions. We compare half-duplex communication, existential B-boundedness, and k-synchronisability. These restrictions do not prevent the communication channels from growing arbitrarily large but still restrict the power of the model. Each restriction gives rise to a set of languages so, for every pair of restrictions, we check whether one subsumes the other or if they are incomparable. We investigate their relationship in two different contexts: first, the one of communicating state machines, and, second, the one of communication protocol specifications using high-level message sequence charts.…
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.
