Please use this identifier to cite or link to this item: http://bura.brunel.ac.uk/handle/2438/26566
Full metadata record
DC FieldValueLanguage
dc.contributor.authorLagaillardie, N-
dc.contributor.authorNeykova, R-
dc.contributor.authorYoshida, N-
dc.contributor.editorAli, K-
dc.contributor.editorVitek, J-
dc.coverage.spatialBerlin, Germany-
dc.date.accessioned2023-05-30T12:40:12Z-
dc.date.available2023-05-30T12:40:12Z-
dc.date.issued2022-06-23-
dc.identifier.citationLagaillardie, N., Neykova, R. and Yoshida, N. (2022) 'Stay Safe Under Panic: Affine Rust Programming with Multiparty Session Types', Proceedings of the 36th European Conference on Object-Oriented Programming (ECOOP 2022), Berling, Germany 6 June - 7 July, article 4, pp. 4:1 - 4:29. doi: 10.4230/LIPIcs.ECOOP.2022.4.en_US
dc.identifier.isbn978-3-95977-225-9-
dc.identifier.issn1868-8969-
dc.identifier.urihttps://bura.brunel.ac.uk/handle/2438/26566-
dc.descriptionRelated Version Full Version: https://arxiv.org/abs/2204.13464-
dc.descriptionSupplementary Material Software (ECOOP 2022 Artifact Evaluation approved artifact): https://doi.org/10.4230/DARTS.8.2.9-
dc.description.abstractCommunicating systems comprise diverse software components across networks. To ensure their robustness, modern programming languages such as Rust provide both strongly typed channels, whose usage is guaranteed to be affine (at most once), and cancellation operations over binary channels. For coordinating components to correctly communicate and synchronise with each other, we use the structuring mechanism from multiparty session types, extending it with affine communication channels and implicit/explicit cancellation mechanisms. This new typing discipline, affine multiparty session types (AMPST), ensures cancellation termination of multiple, independently running components and guarantees that communication will not get stuck due to error or abrupt termination. Guided by AMPST, we implemented an automated generation tool (MultiCrusty) of Rust APIs associated with cancellation termination algorithms, by which the Rust compiler auto-detects unsafe programs. Our evaluation shows that MultiCrusty provides an efficient mechanism for communication, synchronisation and propagation of the notifications of cancellation for arbitrary processes. We have implemented several usecases, including popular application protocols (OAuth, SMTP), and protocols with exception handling patterns (circuit breaker, distributed logging).en_US
dc.description.sponsorshipEPSRC EP/T006544/1, EP/K011715/1, EP/K034413/1, EP/L00058X/1, EP/N027833/1, EP/N028201/1, EP/T014709/1 and EP/V000462/1, and NCSS/EPSRC VeTSS.-
dc.language.isoen_USen_US
dc.publisherSchloss Dagstuhl – Leibniz-Zentrum für Informatik GmbHen_US
dc.relation.ispartofseriesLeibniz International Proceedings in Informatics (LIPIcs);222-
dc.relation.urihttps://arxiv.org/abs/2204.13464-
dc.rightsCopyright © Nicolas Lagaillardie, Rumyana Neykova, and Nobuko Yoshida 2022. Published by Schloss Dagstuhl – Leibniz-Zentrum für Informatik GmbH, under a Creative Commons Attribution 4.0 license (CC BY 4.0).-
dc.rights.urihttps://creativecommons.org/licenses/by/4.0/legalcode-
dc.subjectrust languageen_US
dc.subjectaffine multiparty session typesen_US
dc.subjectfailuresen_US
dc.subjectcancellationen_US
dc.titleStay Safe Under Panic: Affine Rust Programming with Multiparty Session Typesen_US
dc.typeConference Paperen_US
dc.identifier.doihttps://doi.org/10.4230/LIPIcs.ECOOP.2022.4-
dc.relation.isPartOfProceedings of the 36th European Conference on Object-Oriented Programming (ECOOP 2022)-
pubs.finish-date2022-07-07-
pubs.finish-date2022-07-07-
pubs.publication-statusPublished-
pubs.start-date2022-06-06-
pubs.start-date2022-06-06-
pubs.volume222-
dc.rights.holderNicolas Lagaillardie, Rumyana Neykova, and Nobuko Yoshida-
Appears in Collections:Dept of Computer Science Research Papers

Files in This Item:
File Description SizeFormat 
FullText.pdfCopyright © Nicolas Lagaillardie, Rumyana Neykova, and Nobuko Yoshida 2022. Published by Schloss Dagstuhl – Leibniz-Zentrum für Informatik GmbH, under a Creative Commons Attribution 4.0 license (CC BY 4.0).1.86 MBAdobe PDFView/Open


This item is licensed under a Creative Commons License Creative Commons