Repository logo
Research Outputs
Projects
People
Statistics
  1. Home
  2. HSG CRIS
  3. HSG Publications
  4. Functional Programming for Distributed Systems with XC
Details

Functional Programming for Distributed Systems with XC

Type
conference paper
Date Issued
2022
Author(s)
Audrito, Giorgio
;
Casadei, Roberto
;
Damiani, Ferruccio
;
Guido Salvaneschi  
;
Viroli, Mirko
Abstract (De)
Programming distributed systems is notoriously hard due to – among the others – concurrency, asynchronous execution, message loss, and device failures. Homogeneous distributed systems consist of similar devices that communicate to neighbors and execute the same program: they include wireless sensor networks, network hardware and robot swarms. For the homogeneous case, we investigate an experimental language design that aims to push the abstraction boundaries farther, compared to existing approaches.

In this paper, we introduce the design of XC, a programming language to develop homogeneous distributed systems. In XC, developers define the single program that every device executes and the overall behavior is achieved collectively, in an emergent way. The programming framework transparently takes care of concurrency, asynchronous execution, message loss, and device failures. We propose a minimalistic design, which features a single declarative primitive for communication, state management and connection management. A mechanism called alignment enables developers to abstract over asynchronous execution while still retaining composability. We define syntax and operational semantics of a core calculus, prove a number of properties of the calculus, including type soundness. XC comes with two DSL implementations: a DSL in Scala and one in C++. An evaluation based on smart-city monitoring demonstrates XC in a realistic application.
Language
English
URL
https://www.alexandria.unisg.ch/handle/20.500.14171/117029
Subject(s)

computer science

Eprints ID
268359
File(s)
Thumbnail Image
Name

2022_Functional-Programming-for-Distributed-Systems-with-XC.pdf

Size

1.52 MB

Format

Adobe PDF

Checksum (MD5)

0f1d3d29389d7f4d0d1e89c9575e4314

Support
HSG researchers can find instructions here for adding or importing publications (DOI, ORCID). Please send questions to alexandria@unisg.ch

Built with DSpace-CRIS software - Extension maintained and optimized by 4Science

  • Accessibility settings
  • Privacy policy
  • End User Agreement
  • Send Feedback
Repository logo COAR Notify