Fault-tolerant communication systems rely on recovery strategies which are often error-prone (e.g. a programmer manually specifies recovery strategies) or inefficient (e.g. the whole system is restarted from the beginning). This paper proposes a static analysis based on multiparty session types that can efficiently compute a safe global state from which a system of interacting processes should be recov- ered. We statically analyse the communication flow of a program, given as a multiparty protocol, to extract the causal dependencies between processes and to localise failures. We formalise our re- covery algorithm and prove its safety. A recovered communication system is free from deadlocks, orphan messages and reception er- rors. Our recove...
Session types provide a typing discipline for message-passing systems. However, most session type ap...
With distributed computing becoming ubiquitous in the modern era, safe distributed programming is an...
AbstractTransient faults that arise in large-scale software systems can often be repaired by re-exec...
Fault-tolerant communication systems rely on recovery strategies which are often error-prone (e.g. a...
Fault-tolerant communication systems rely on recovery strategies which are often error-prone (e.g. ...
As human dependence on computing technology increases, so does the need for computer system dependab...
The Internet and the services it provides have become an omnipresent part of our lives. Asynchronous...
Multiparty session types are designed to abstractly capture the structure of communication protocols...
Distributed programs are hard to get right because they are required to be open, scalable, long-runn...
Distributed systems are the basis of widespread computing facilities enabling many of our daily life...
Session types enable the specification and verification of communicating systems. However, their the...
By requiring co-ordination to take place using explicit message passing instead of relying on shared...
Multiparty Session Types (MPST) are a typing discipline for communication-centric systems, guarantee...
In large-scale distributed systems, each application is realised through interactions among distribu...
Modern Web Services applications encompass multiple distributed interacting components, possibly inc...
Session types provide a typing discipline for message-passing systems. However, most session type ap...
With distributed computing becoming ubiquitous in the modern era, safe distributed programming is an...
AbstractTransient faults that arise in large-scale software systems can often be repaired by re-exec...
Fault-tolerant communication systems rely on recovery strategies which are often error-prone (e.g. a...
Fault-tolerant communication systems rely on recovery strategies which are often error-prone (e.g. ...
As human dependence on computing technology increases, so does the need for computer system dependab...
The Internet and the services it provides have become an omnipresent part of our lives. Asynchronous...
Multiparty session types are designed to abstractly capture the structure of communication protocols...
Distributed programs are hard to get right because they are required to be open, scalable, long-runn...
Distributed systems are the basis of widespread computing facilities enabling many of our daily life...
Session types enable the specification and verification of communicating systems. However, their the...
By requiring co-ordination to take place using explicit message passing instead of relying on shared...
Multiparty Session Types (MPST) are a typing discipline for communication-centric systems, guarantee...
In large-scale distributed systems, each application is realised through interactions among distribu...
Modern Web Services applications encompass multiple distributed interacting components, possibly inc...
Session types provide a typing discipline for message-passing systems. However, most session type ap...
With distributed computing becoming ubiquitous in the modern era, safe distributed programming is an...
AbstractTransient faults that arise in large-scale software systems can often be repaired by re-exec...