Show simple item record

Files in this item

Thumbnail

Item metadata

dc.contributor.authorBarwell, Adam David
dc.contributor.authorHou, Ping
dc.contributor.authorYoshida, Nobuko
dc.contributor.authorZhou, Fangyi
dc.date.accessioned2023-09-05T12:30:10Z
dc.date.available2023-09-05T12:30:10Z
dc.date.issued2023-07-11
dc.identifier285672132
dc.identifier270b657d-5a67-457d-bd92-d3659d80ccfd
dc.identifier85168885904
dc.identifier.citationBarwell , A D , Hou , P , Yoshida , N & Zhou , F 2023 , ' Designing asynchronous multiparty protocols with crash-stop failures ' , Paper presented at 37th European Conference on Object-Oriented Programming , Seattle , United States , 17/07/23 - 21/07/23 pp. 1:1-1:30 . https://doi.org/10.4230/LIPIcs.ECOOP.2023.1en
dc.identifier.citationconferenceen
dc.identifier.otherORCID: /0000-0003-1236-7160/work/140830275
dc.identifier.urihttps://hdl.handle.net/10023/28316
dc.descriptionFunding: Funding The work is supported by EPSRC EP/T006544/2, EP/K011715/1, EP/K034413/1, EP/L00058X/1, EP/N027833/2, EP/N028201/1, EP/T014709/2, EP/V000462/1, EP/X015955/1, NCSS/EPSRC VeTSS, and Horizon EU TaRDIS 101093006.en
dc.description.abstractSession types provide a typing discipline for message-passing systems. However, most session type approaches assume an ideal world: one in which everything is reliable and without failures. Yet this is in stark contrast with distributed systems in the real world. To address this limitation, we introduce Teatrino, a code generation toolchain that utilises asynchronous multiparty session types (MPST) with crash-stop semantics to support failure handling protocols. We augment asynchronous MPST and processes with crash handling branches. Our approach requires no user-level syntax extensions for global types and features a formalisation of global semantics, which captures complex behaviours induced by crashed/crash handling processes. The sound and complete correspondence between global and local type semantics guarantees deadlock-freedom, protocol conformance, and liveness of typed processes in the presence of crashes. Our theory is implemented in the toolchain Teatrino, which provides correctness by construction. Teatrino extends the Scribble multiparty protocol language to generate protocol-conforming Scala code, using the Effpi concurrent programming library. In Teatrino, both Scribble and Effpi are extended to support crash-stop behaviour. We demonstrate the feasibility of our methodology and evaluate Teatrino with examples extended from both session type and distributed systems literature.
dc.format.extent30
dc.format.extent1333851
dc.language.isoeng
dc.relation.ispartofen
dc.subjectSession typesen
dc.subjectConcurrencyen
dc.subjectFailure handlingen
dc.subjectCode generationen
dc.subjectScalaen
dc.subjectQA75 Electronic computers. Computer scienceen
dc.subjectQA76 Computer softwareen
dc.subjectDASen
dc.subject.lccQA75en
dc.subject.lccQA76en
dc.titleDesigning asynchronous multiparty protocols with crash-stop failuresen
dc.typeConference paperen
dc.contributor.institutionUniversity of St Andrews. School of Computer Scienceen
dc.identifier.doi10.4230/LIPIcs.ECOOP.2023.1
dc.description.statusPeer revieweden
dc.identifier.urlhttps://drops.dagstuhl.de/opus/institut_lipics.phpen


This item appears in the following Collection(s)

Show simple item record