Implementability of Asynchronous Communication Protocols - The Power of Choice
Felix Stutz
Max Planck Institute for Software Systems
15 Dec 2023, 3:30 pm - 4:30 pm
Kaiserslautern building G26, room 111
simultaneous videocast to Saarbrücken building E1 5, room 029
simultaneous videocast to Saarbrücken building E1 5, room 029
SWS Student Defense Talks - Thesis Defense
Distributed message-passing systems are both widespread and challenging to
design and implement. Combining concurrency, asynchrony, and message buffering
makes the verification problem algorithmically undecidable. We consider a
top-down approach to this problem: one starts with a global communication
protocol and automatically generates local specifications for its participants.
The problem remains challenging because participants only obtain partial
information about an execution through the messages they receive, which can
cause confusion and undesired behaviours. The implementability problem asks if
a (global) protocol can be implemented locally. ...
Distributed message-passing systems are both widespread and challenging to
design and implement. Combining concurrency, asynchrony, and message buffering
makes the verification problem algorithmically undecidable. We consider a
top-down approach to this problem: one starts with a global communication
protocol and automatically generates local specifications for its participants.
The problem remains challenging because participants only obtain partial
information about an execution through the messages they receive, which can
cause confusion and undesired behaviours. The implementability problem asks if
a (global) protocol can be implemented locally. It has been studied from two
perspectives. On the one hand, multiparty session types (MSTs), with global
types to specify protocols, provide an incomplete type-theoretic approach that
is very efficient but restricts the expressiveness of protocols. On the other
hand, high-level message sequence charts (HMSCs) do not impose any restrictions
on the protocols, yielding undecidability of the implementability problem for
HMSCs.
The work in this dissertation is the first to formally build a bridge between
the world of MSTs and HMSCs. It presents a generalised MST projection operator
for sender-driven choice. This allows a sender to send to different receivers
when branching, which is crucial to handle common communication patterns from
distributed computing. Nevertheless, the classical MST projection approach is
inherently incomplete. Using our formal encoding from global types to HMSCs, we
prove decidability of the implementability problem for global types with
sender-driven choice. Furthermore, we develop the first direct and complete
projection operator for global types with sender-driven choice, using
automata-theoretic techniques, and show its effectiveness with a prototype
implementation. Last, we introduce protocol state machines (PSMs) - an
automata-based protocol specification formalism - that subsume both global
types from MSTs and HMSCs with regard to expressivity. We use transformations
on PSMs to show that many of the syntactic restrictions of global types are not
restrictive in terms of protocol expressivity. We prove that the
implementability problem for PSMs with mixed choice, which requires no
dedicated sender for a branch but solely all labels to be distinct, is
undecidable in general. With our results on expressivity, this shows
undecidability of the implementability problem for mixed-choice global types.
Read more