*Result*: Functional Programming for Distributed Systems with XC (Artifact)

Title:
Functional Programming for Distributed Systems with XC (Artifact)
Contributors:
Giorgio Audrito, Roberto Casadei, Ferruccio Damiani, Guido Salvaneschi, Mirko Viroli
Publication Year:
2022
Collection:
IRIS Università degli Studi di Bologna (CRIS - Current Research Information System)
Document Type:
*Academic Journal* article in journal/newspaper
File Description:
ELETTRONICO
Language:
English
Relation:
volume:8; firstpage:1; lastpage:4; numberofpages:4; journal:Dagstuhl Artifacts Series; https://hdl.handle.net/11585/903255; https://drops.dagstuhl.de/opus/volltexte/2022/16206/
DOI:
10.4230/DARTS.8.2.8
Rights:
info:eu-repo/semantics/openAccess
Accession Number:
edsbas.8624862E
Database:
BASE

*Further Information*

*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.*