Cargando…

Discourje: Runtime Verification of Communication Protocols in Clojure

This paper presents Discourje: a runtime verification framework for communication protocols in Clojure. Discourje guarantees safety of protocol implementations relative to specifications, based on an expressive new version of multiparty session types. The framework has a formal foundation and is its...

Descripción completa

Detalles Bibliográficos
Autores principales: Hamers, Ruben, Jongmans, Sung-Shik
Formato: Online Artículo Texto
Lenguaje:English
Publicado: 2020
Materias:
Acceso en línea:https://www.ncbi.nlm.nih.gov/pmc/articles/PMC7439728/
http://dx.doi.org/10.1007/978-3-030-45190-5_15
_version_ 1783573039066120192
author Hamers, Ruben
Jongmans, Sung-Shik
author_facet Hamers, Ruben
Jongmans, Sung-Shik
author_sort Hamers, Ruben
collection PubMed
description This paper presents Discourje: a runtime verification framework for communication protocols in Clojure. Discourje guarantees safety of protocol implementations relative to specifications, based on an expressive new version of multiparty session types. The framework has a formal foundation and is itself implemented in Clojure to offer a seamless specification–implementation experience. Benchmarks show Discourje’s overhead can be less than 5% for real/existing concurrent programs.
format Online
Article
Text
id pubmed-7439728
institution National Center for Biotechnology Information
language English
publishDate 2020
record_format MEDLINE/PubMed
spelling pubmed-74397282020-08-21 Discourje: Runtime Verification of Communication Protocols in Clojure Hamers, Ruben Jongmans, Sung-Shik Tools and Algorithms for the Construction and Analysis of Systems Article This paper presents Discourje: a runtime verification framework for communication protocols in Clojure. Discourje guarantees safety of protocol implementations relative to specifications, based on an expressive new version of multiparty session types. The framework has a formal foundation and is itself implemented in Clojure to offer a seamless specification–implementation experience. Benchmarks show Discourje’s overhead can be less than 5% for real/existing concurrent programs. 2020-03-13 /pmc/articles/PMC7439728/ http://dx.doi.org/10.1007/978-3-030-45190-5_15 Text en © The Author(s) 2020 Open Access This chapter is licensed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license and indicate if changes were made. The images or other third party material in this chapter are included in the chapter's Creative Commons license, unless indicated otherwise in a credit line to the material. If material is not included in the chapter's Creative Commons license and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder.
spellingShingle Article
Hamers, Ruben
Jongmans, Sung-Shik
Discourje: Runtime Verification of Communication Protocols in Clojure
title Discourje: Runtime Verification of Communication Protocols in Clojure
title_full Discourje: Runtime Verification of Communication Protocols in Clojure
title_fullStr Discourje: Runtime Verification of Communication Protocols in Clojure
title_full_unstemmed Discourje: Runtime Verification of Communication Protocols in Clojure
title_short Discourje: Runtime Verification of Communication Protocols in Clojure
title_sort discourje: runtime verification of communication protocols in clojure
topic Article
url https://www.ncbi.nlm.nih.gov/pmc/articles/PMC7439728/
http://dx.doi.org/10.1007/978-3-030-45190-5_15
work_keys_str_mv AT hamersruben discourjeruntimeverificationofcommunicationprotocolsinclojure
AT jongmanssungshik discourjeruntimeverificationofcommunicationprotocolsinclojure