Ferrite
Main Author: | |
---|---|
Publication Date: | 2022 |
Other Authors: | , |
Language: | eng |
Source: | Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) |
Download full: | http://hdl.handle.net/10362/143411 |
Summary: | Funding Information: Funding Stephanie Balzer: National Science Foundation Award No. CCF-1718267. Bernardo Toninho: FCT/MCTES grant NOVALINCS/BASE UIDB/04516/2020. Publisher Copyright: © Ruo Fei Chen, Stephanie Balzer, and Bernardo Toninho; licensed under Creative Commons License CC-BY 4.0 |
id |
RCAP_c827ba43c7aec63259be1e4e8cada67c |
---|---|
oai_identifier_str |
oai:run.unl.pt:10362/143411 |
network_acronym_str |
RCAP |
network_name_str |
Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) |
repository_id_str |
https://opendoar.ac.uk/repository/7160 |
spelling |
FerriteA Judgmental Embedding of Session Types in RustDSLRustSession TypesSoftwareFunding Information: Funding Stephanie Balzer: National Science Foundation Award No. CCF-1718267. Bernardo Toninho: FCT/MCTES grant NOVALINCS/BASE UIDB/04516/2020. Publisher Copyright: © Ruo Fei Chen, Stephanie Balzer, and Bernardo Toninho; licensed under Creative Commons License CC-BY 4.0Session types have proved viable in expressing and verifying the protocols of message-passing systems. While message passing is a dominant concurrency paradigm in practice, real world software is written without session types. A limitation of existing session type libraries in mainstream languages is their restriction to linear session types, precluding application scenarios that demand sharing and thus aliasing of channel references. This paper introduces Ferrite, a shallow embedding of session types in Rust that supports both linear and shared sessions. The formal foundation of Ferrite constitutes the shared session type calculus SILLS, which Ferrite encodes via a novel judgmental embedding technique. The fulcrum of the embedding is the notion of a typing judgment that allows reasoning about shared and linear resources to type a session. Typing rules are then encoded as functions over judgments, with a valid typing derivation manifesting as a well-typed Rust program. This Rust program generated by Ferrite serves as a certificate, ensuring that the application will proceed according to the protocol defined by the session type. The paper details the features and implementation of Ferrite and includes a case study on implementing Servo's canvas component in Ferrite.Schloss Dagstuhl- Leibniz-Zentrum fur Informatik GmbH, Dagstuhl PublishingNOVALincsRUNChen, Ruo FeiBalzer, StephanieToninho, Bernardo2022-09-01T22:03:46Z2022-06-232022-06-23T00:00:00Zconference objectinfo:eu-repo/semantics/publishedVersion28application/pdfhttp://hdl.handle.net/10362/143411eng978-3-95977-225-91868-8969PURE: 45698161https://doi.org/10.4230/LIPIcs.ECOOP.2022.22info:eu-repo/semantics/openAccessreponame:Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)instname:FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologiainstacron:RCAAP2024-05-22T18:04:47Zoai:run.unl.pt:10362/143411Portal AgregadorONGhttps://www.rcaap.pt/oai/openaireinfo@rcaap.ptopendoar:https://opendoar.ac.uk/repository/71602025-05-28T17:35:30.869320Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) - FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologiafalse |
dc.title.none.fl_str_mv |
Ferrite A Judgmental Embedding of Session Types in Rust |
title |
Ferrite |
spellingShingle |
Ferrite Chen, Ruo Fei DSL Rust Session Types Software |
title_short |
Ferrite |
title_full |
Ferrite |
title_fullStr |
Ferrite |
title_full_unstemmed |
Ferrite |
title_sort |
Ferrite |
author |
Chen, Ruo Fei |
author_facet |
Chen, Ruo Fei Balzer, Stephanie Toninho, Bernardo |
author_role |
author |
author2 |
Balzer, Stephanie Toninho, Bernardo |
author2_role |
author author |
dc.contributor.none.fl_str_mv |
NOVALincs RUN |
dc.contributor.author.fl_str_mv |
Chen, Ruo Fei Balzer, Stephanie Toninho, Bernardo |
dc.subject.por.fl_str_mv |
DSL Rust Session Types Software |
topic |
DSL Rust Session Types Software |
description |
Funding Information: Funding Stephanie Balzer: National Science Foundation Award No. CCF-1718267. Bernardo Toninho: FCT/MCTES grant NOVALINCS/BASE UIDB/04516/2020. Publisher Copyright: © Ruo Fei Chen, Stephanie Balzer, and Bernardo Toninho; licensed under Creative Commons License CC-BY 4.0 |
publishDate |
2022 |
dc.date.none.fl_str_mv |
2022-09-01T22:03:46Z 2022-06-23 2022-06-23T00:00:00Z |
dc.type.driver.fl_str_mv |
conference object |
dc.type.status.fl_str_mv |
info:eu-repo/semantics/publishedVersion |
status_str |
publishedVersion |
dc.identifier.uri.fl_str_mv |
http://hdl.handle.net/10362/143411 |
url |
http://hdl.handle.net/10362/143411 |
dc.language.iso.fl_str_mv |
eng |
language |
eng |
dc.relation.none.fl_str_mv |
978-3-95977-225-9 1868-8969 PURE: 45698161 https://doi.org/10.4230/LIPIcs.ECOOP.2022.22 |
dc.rights.driver.fl_str_mv |
info:eu-repo/semantics/openAccess |
eu_rights_str_mv |
openAccess |
dc.format.none.fl_str_mv |
28 application/pdf |
dc.publisher.none.fl_str_mv |
Schloss Dagstuhl- Leibniz-Zentrum fur Informatik GmbH, Dagstuhl Publishing |
publisher.none.fl_str_mv |
Schloss Dagstuhl- Leibniz-Zentrum fur Informatik GmbH, Dagstuhl Publishing |
dc.source.none.fl_str_mv |
reponame:Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) instname:FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologia instacron:RCAAP |
instname_str |
FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologia |
instacron_str |
RCAAP |
institution |
RCAAP |
reponame_str |
Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) |
collection |
Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) |
repository.name.fl_str_mv |
Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) - FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologia |
repository.mail.fl_str_mv |
info@rcaap.pt |
_version_ |
1833596815861088256 |