,
Roberto Casadei
,
Ferruccio Damiani
,
Guido Salvaneschi
,
Mirko Viroli
Creative Commons Attribution 4.0 International license
In the paper "Functional programming for distributed systems with XC" we present XC, a programming language to develop the collective behaviour of homogeneous distributed systems while abstracting over concurrency, asynchronous execution, message loss, and device failures. The paper describes the design of XC, formalizes a core calculus for it, and shows that XC can effectively capture the logic of several distributed protocols and applications including gossiping, distributed summarization, information flows over self-healing communication structures, and self-organizing behaviours. Then, it discusses implementation, in a Scala and a C++ embedded domain-specific language (DSL), and provides evaluation through a case study in a smart city scenario, called SmartC. The reusable artifact described in this paper contains precisely those software projects: the Scala DSL, referred to as XC/Scala; the C++ DSL, referred to as XC/C++; and the SmartC implementation in both DSLs.
@Article{audrito_et_al:DARTS.8.2.8,
author = {Audrito, Giorgio and Casadei, Roberto and Damiani, Ferruccio and Salvaneschi, Guido and Viroli, Mirko},
title = {{Functional Programming for Distributed Systems with XC (Artifact)}},
pages = {8:1--8:4},
journal = {Dagstuhl Artifacts Series},
ISSN = {2509-8195},
year = {2022},
volume = {8},
number = {2},
editor = {Audrito, Giorgio and Casadei, Roberto and Damiani, Ferruccio and Salvaneschi, Guido and Viroli, Mirko},
publisher = {Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik},
address = {Dagstuhl, Germany},
URL = {https://drops.dagstuhl.de/entities/document/10.4230/DARTS.8.2.8},
URN = {urn:nbn:de:0030-drops-162068},
doi = {10.4230/DARTS.8.2.8},
annote = {Keywords: Distributed programming, Field Calculi, Scala DSL, C++ DSL}
}
a86d8900a526e46a96e36680e4e6a95b
(Get MD5 Sum)
The artifact has been evaluated as described in the ECOOP 2022 Call for Artifacts and the ACM Artifact Review and Badging Policy