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