Safe Session-Based Asynchronous Coordination in Rust - Coordination Models and Languages
Conference Papers Year : 2021

Safe Session-Based Asynchronous Coordination in Rust

Zak Cutner
  • Function : Author
  • PersonId : 1114102
Nobuko Yoshida
  • Function : Author
  • PersonId : 1055854

Abstract

Rust is a popular systems language focused on performance and reliability, with an emphasis on providing “fearless concurrency”. Message passing has become a widely-used pattern by Rust developers although the potential for communication errors leaves developing safe and concurrent applications an unsolved challenge. In this ongoing work, we use multiparty session types to provide safety guarantees such as deadlock-freedom by coordinating message-passing processes. In contrast to previous contributions [20–22], our implementation targets asynchronous applications using / code in Rust. Specifically, we incorporate asynchronous subtyping theory, which allows program optimisation through reordering input and output actions. We evaluate our ideas by developing several representative use cases from the literature and by taking microbenchmarks. We discuss our plans to support full API generation integrating asynchronous optimisations.
Fichier principal
Vignette du fichier
509400_1_En_5_Chapter.pdf (320.8 Ko) Télécharger le fichier
Origin Files produced by the author(s)

Dates and versions

hal-03387841 , version 1 (20-10-2021)

Licence

Identifiers

Cite

Zak Cutner, Nobuko Yoshida. Safe Session-Based Asynchronous Coordination in Rust. 23th International Conference on Coordination Languages and Models (COORDINATION), Jun 2021, Valletta, Malta. pp.80-89, ⟨10.1007/978-3-030-78142-2_5⟩. ⟨hal-03387841⟩
48 View
53 Download

Altmetric

Share

More