Functional programming for distributed systems with XCVCOOP 2022ECOOP 2022
Thu 23 Jun 2022 16:00 - 16:30 at Zoom - VCOOP 4 Chair(s): Elisa Gonzalez Boix
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.
Wed 8 JunDisplayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change
15:30 - 17:00 | Language DesignResearch Papers / Expert Discussion at Aurora Borealis 1 Chair(s): Simon Fowler University of Glasgow | ||
15:30 30mPanel | Programming languages and semanticsExpert Discussion Expert Discussion P: Alexander J. Summers University of British Columbia, P: Gorel Hedin Lund University, A: Guido Salvaneschi University of St. Gallen | ||
16:00 20mTalk | Prisma: A tierless language for enforcing contract-client protocols in decentralized appsVCOOP 2022ECOOP 2022 Research Papers David Richter Technical University of Darmstadt, David Kretzler Technical University of Darmstadt, Pascal Weisenburger University of St. Gallen, Guido Salvaneschi University of St. Gallen, Sebastian Faust Technical University of Darmstadt, Mira Mezini TU Darmstadt Pre-print Media Attached | ||
16:20 20mTalk | JavaScript Sealed ClassesECOOP 2022 Research Papers Manuel Serrano Inria | ||
16:40 20mTalk | Functional programming for distributed systems with XCVCOOP 2022ECOOP 2022 Research Papers Giorgio Audrito Università di Torino, Roberto Casadei University of Bologna, Italy, Ferruccio Damiani University of Turin, Guido Salvaneschi University of St. Gallen, Mirko Viroli Alma Mater Studiorum - Università di Bologna Pre-print |
Thu 23 JunDisplayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change
15:00 - 16:30 | |||
15:00 30mTalk | Accumulation AnalysisVCOOP 2022 Research Papers Martin Kellogg University of Washington, Narges Shadab University of California at Riverside, Manu Sridharan University of California at Riverside, Michael D. Ernst University of Washington | ||
15:30 30mTalk | Qilin: A New Framework for Supporting Fine-Grained Context-Sensitivity in Java Pointer AnalysisVCOOP 2022 Research Papers | ||
16:00 30mTalk | Functional programming for distributed systems with XCVCOOP 2022ECOOP 2022 Research Papers Giorgio Audrito Università di Torino, Roberto Casadei University of Bologna, Italy, Ferruccio Damiani University of Turin, Guido Salvaneschi University of St. Gallen, Mirko Viroli Alma Mater Studiorum - Università di Bologna Pre-print |