The School of Computing is delighted to offer a new PhD studentship entitled ‘Reliable by construction distributed systems: a toolchain for development and testing‘.
We are inviting applications for a PhD scholarship in relation to the EPSRC UK project ‘Session Types for Reliable Distributed Systems‘ (STARDUST). The key idea of STARDUST is to combine the communication-structuring mechanism of session types (i.e., types of interaction structures) with the scalability and fault-tolerance of actor-based software architectures to build programming language theory and practice for reliable concurrent and distributed systems. By extending session types with information on recovery strategies used for achieving reliability in actor-based languages (e.g., Erlang, Scala/Akka), including those based on timeouts and supervision trees, we will provide lightweight tool support for developers – e.g. warning of potential reliability issues, suggesting appropriate recovery strategies – and to allow developers to continue to use established idioms and workflows.
Building on behavioral models (eg, session types) from the literature and those being developed in STARDUST, you will build a formally grounded semi-automated tool to generate code for distributed system components that is correct and robust by construction. The aim is to provide correctness guarantees, such as absence of deadlocks and communication mismatches, also in presence of unpredictable ‘gray’ failures. An advanced goal is to look into secure by design implementations in presence of malicious components. Code generation will be targeted at a paradigm/language of choice (negotiable). Possible options include channel-based languages (eg., Golang), actor-based languages (eg., Erlang), possibly exposed as Web APIs.
The scholarship value is the Home fee rate of £4,407.00 plus maintenance grant of £15,285.00, and is awarded as a Graduate Teaching Assistantship (GTA). The successful candidate will be required to start in September 2021.
Further details about the project, including the application link, can be found here: