Loading…

Loading grant details…

Active STUDENTSHIP UKRI Gateway to Research

Towards Resilient Communication Protocols


Funder Engineering and Physical Sciences Research Council
Recipient Organization University of Oxford
Country United Kingdom
Start Date Sep 30, 2024
End Date Mar 30, 2028
Duration 1,277 days
Number of Grantees 2
Roles Student; Supervisor
Data Source UKRI Gateway to Research
Grant ID 2922645
Grant Description

At a high level, the objective of this research is to automate the addition of crash handling behaviour to protocols that describe the agenda of communication between participants in a distributed or concurrent program.

What is meant by a protocol, is a high-level description of a program considering only messages sent between participants. For example, a program between an ATM machine and a bank will have much code running on both ends, but such code is omitted, in our protocol we are only interested what messages are sent between participants and in what order.

In any given communication protocol, there may be a number of unreliable participants, for example while a bank can usually be trusted, an ATM machine is subject to crash. A protocol involving such unreliable participants cannot be guaranteed to behave as it appears because

there is the possibility that a message outlined in the protocol will fail to send. It is not desirable for an ATM to behave unexpectedly in such situtaions, and it is the case in many distributed systems that there will exist unreliable participants that can lead to unexpected behaviour. This can be accounted for by extending the protocol to be more descriptive, specifically, this means to detail what the protocol should do in the case of failure to send a message.

However, depending on the original protocol, the way a crash (i.e. failure) would be handled will differ. In some protocols it is necessary that the protocol continues to operate with the remaining functional participants, and in others, a crashed participant will mean the protocol cannot continue to operate and must come to a stop.

This is to be achieved through the introduction of failures. In particular, as described in the literature, there are currently four specific failure patterns. These patterns are graceful failure, local graceful failure, failover and successor failover. Graceful failure aims to end the protocol as

quickly as possible. Local graceful failure does as graceful failure except that it attempts to limit the effect of the crash to the subset of the participants affected, Failover allows one of the existing participants to take over the role of the crashed participant to continue operation.

Successor failover introduces an new previously not present participant to take over the role of the crashed participant.

Rather than manually inspecting and modifying protocols to deal with each case of failure which can be very time consuming, we would like the programmer to be able to specify how the protocol should continue in the case of a crash, and then have that behaviour automatically introduced for them using one of the aforementioned patterns.

On the theoretical side, this project will explore Multiparty Session Types (MPST) as a foundational framework. MPST provides a formal structure for defining communication protocols between multiple participants. Additionally, we will investigate algorithms for the automated

generation of crash-handling branching, allowing protocols to adapt dynamically to failures. This approach will ensure that the system remains robust and flexible in real-world scenarios where communication failures are inevitable.

In terms of implementation, the protocols mentioned are expressed in a domain specific language called Scribble, and the automatic extension of these is to be implemented in a functional programming language such as OCaml or Haskell. These protocols not only need to be implemented in code but also proved for correctness with the use of Pi-calculus.

This project falls within the EPSRC information and communication technologies (ICT) research area where ICT is one of the themes or research areas listed on this website.

All Grantees

University of Oxford

Advertisement
Apply for grants with GrantFunds
Advertisement
Browse Grants on GrantFunds
Interested in applying for this grant?

Complete our application form to express your interest and we'll guide you through the process.

Apply for This Grant