Ferrite

Detalhes bibliográficos
Autor(a) principal: Chen, Ruo Fei
Data de Publicação: 2022
Outros Autores: Balzer, Stephanie, Toninho, Bernardo
Idioma: eng
Título da fonte: Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
Texto Completo: http://hdl.handle.net/10362/143411
Resumo: 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