Wed 17 Jul 2019 11:30 - 11:50 at Track 1 - Language Design and Implementation

Multitier programming languages aim to address the complexity of developing distributed systems abstracting over low level implementation details such as data representation formats, serialization and network protocols. Defining the functionalities of different peers – e.g., the server and the client – in the same compilation unit, multitier languages also simplify reasoning about software behavior, as crosscutting functionalities are not artificially split by network communication. Unfortunately, using the same compilation unit for all tiers does not scale to a real-world codebase, severely hindering the potential of multitier languages.

In this paper, we address this issue with a module system for multitier languages. Our module system supports encapsulating each (cross-peer) functionality, disentangling modularization and distribution and enabling the definition of a distributed system as a composition of multitier modules representing each subsystem. Based on a novel feature, abstract peer types, our module system enables the modularization of distributed reusable functionalities defined over abstract peers. The resulting abstract modules can be defined separately, independently from any specific architecture, and can be eventually composed.

Our case studies on distributed algorithms, distributed data structures, as well as on the Apache Flink task distribution system, show that multitier modules allow the definition of reusable (abstract) patterns of interaction in distributed software and enable separating the modularization and distribution concerns, properly separating functionalities in distributed systems.

Wed 17 Jul

10:30 - 12:10: ECOOP Research Papers - Language Design and Implementation at Track 1
ecoop-2019-papers10:30 - 10:50
Research paper
Shawn Meier, Sergio MoverUniversity of Colorado Boulder, Bor-Yuh Evan ChangUniversity of Colorado Boulder
ecoop-2019-papers10:50 - 11:10
Research paper
Kiko Fernandez-ReyesUppsala University, Einar Broch JohnsenUniversity of Oslo, Dave ClarkeUppsala Univ. Sweden and KU Leuvern, Ludovic HenrioCNRS, Tobias WrigstadUppsala University
ecoop-2019-papers11:10 - 11:30
Research paper
Daniel PelsmaekerDelft University of Technology, Netherlands, Hendrik van AntwerpenTU Delft, Eelco VisserDelft University of Technology
ecoop-2019-papers11:30 - 11:50
Research paper
Pascal WeisenburgerTechnische Universität Darmstadt, Guido SalvaneschiTU Darmstadt
ecoop-2019-papers11:50 - 12:10
Research paper
Vlad VerguTU Delft, Eelco VisserDelft University of Technology, Andrew TolmachPortland State University