TU Darmstadt / ULB / TUbiblio

Functional Programming for Distributed Systems with XC

Audrito, Giorgio ; Casadei, Roberto ; Damiani, Ferruccio ; Salvaneschi, Guido ; Viroli, Mirko
Hrsg.: Ali, Karim ; Vitek, Jan (2022)
Functional Programming for Distributed Systems with XC.
36th European Conference on Object-Oriented Programming. Berlin, Germany (06.06.2022-10.06.2022)
doi: 10.4230/LIPIcs.ECOOP.2022.20
Konferenzveröffentlichung, Bibliographie

Kurzbeschreibung (Abstract)

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 neighbours 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 behaviour is achieved collectively, in an emergent way. The programming framework abstracts over 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, and briefly discuss its main properties. 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.

Typ des Eintrags: Konferenzveröffentlichung
Erschienen: 2022
Herausgeber: Ali, Karim ; Vitek, Jan
Autor(en): Audrito, Giorgio ; Casadei, Roberto ; Damiani, Ferruccio ; Salvaneschi, Guido ; Viroli, Mirko
Art des Eintrags: Bibliographie
Titel: Functional Programming for Distributed Systems with XC
Sprache: Englisch
Publikationsjahr: 23 Juni 2022
Verlag: Schloss Dagstuhl - Leibniz-Zentrum für Informatik
Buchtitel: 36th European Conference on Object-Oriented Programming (ECOOP 2022)
Reihe: Leibniz International Proceedings in Informatics
Band einer Reihe: 222
Veranstaltungstitel: 36th European Conference on Object-Oriented Programming
Veranstaltungsort: Berlin, Germany
Veranstaltungsdatum: 06.06.2022-10.06.2022
DOI: 10.4230/LIPIcs.ECOOP.2022.20
URL / URN: urn:nbn:de:0030-drops-162486
Kurzbeschreibung (Abstract):

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 neighbours 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 behaviour is achieved collectively, in an emergent way. The programming framework abstracts over 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, and briefly discuss its main properties. 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.

Freie Schlagworte: emergenCITY, emergenCITY_INF
Zusätzliche Informationen:

Art.No.: 20

Fachbereich(e)/-gebiet(e): 20 Fachbereich Informatik
20 Fachbereich Informatik > Software Engineering
20 Fachbereich Informatik > Softwaretechnik
LOEWE
LOEWE > LOEWE-Zentren
LOEWE > LOEWE-Zentren > emergenCITY
Hinterlegungsdatum: 07 Sep 2022 09:52
Letzte Änderung: 19 Jan 2023 13:14
PPN: 499484835
Export:
Suche nach Titel in: TUfind oder in Google
Frage zum Eintrag Frage zum Eintrag

Optionen (nur für Redakteure)
Redaktionelle Details anzeigen Redaktionelle Details anzeigen