We introduce MultiCrusty^T, a Rust toolchain designed to facilitate the implementation of safe affine timed protocols. MultiCrusty^T leverages generic types and the time library to handle timed communications, integrated with optional types for affinity. This artifact allows to evaluate our approach by running examples from the literature, real-world use cases and protocols from real-time systems, featured in the related article, showcasing the correctness by construction of our approach. We allow to see the performance of our solution by running benchmarks and generating graphs, highlighting a less than 10% compile-time and runtime overhead compared with an untimed implementation. We also demonstrate how to implement, step by step, your own timed protocols, from a very basic one with only two parties and simple interactions, to complex ones with more than three parties, choices and recursion.
@Article{lagaillardie_et_al:DARTS.10.2.10, author = {Lagaillardie, Nicolas and Hou, Ping and Yoshida, Nobuko}, title = {{Fearless Asynchronous Communications with Timed Session Types in Rust (Artifact)}}, pages = {10:1--10:3}, journal = {Dagstuhl Artifacts Series}, ISBN = {978-3-95977-342-3}, ISSN = {2509-8195}, year = {2024}, volume = {10}, number = {2}, editor = {Lagaillardie, Nicolas and Hou, Ping and Yoshida, Nobuko}, publisher = {Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik}, address = {Dagstuhl, Germany}, URL = {https://drops.dagstuhl.de/entities/document/10.4230/DARTS.10.2.10}, URN = {urn:nbn:de:0030-drops-209084}, doi = {10.4230/DARTS.10.2.10}, annote = {Keywords: session types, affine types, \pi-calculus, asynchrony, timeouts, failures, Rust} }
06073a8a89f4c520990f87157ca132ed
(Get MD5 Sum)
The artifact has been evaluated as described in the ECOOP 2024 Call for Artifacts and the ACM Artifact Review and Badging Policy.
Feedback for Dagstuhl Publishing