License: Creative Commons Attribution 3.0 Unported license (CC BY 3.0)
When quoting this document, please refer to the following
DOI: 10.4230/LIPIcs.ECOOP.2019.3
URN: urn:nbn:de:0030-drops-107957
URL: http://dagstuhl.sunsite.rwth-aachen.de/volltexte/2019/10795/
Weisenburger, Pascal ;
Salvaneschi, Guido
Multitier Modules
Abstract
Multitier programming languages address the complexity of developing distributed systems abstracting over low level implementation details such as data representation, serialization and network protocols. Since the functionalities of different peers can be defined in the same compilation unit, multitier languages do not force developers to modularize software along network boundaries. Unfortunately, combining the code for all tiers into the same compilation unit poses a scalability challenge or forces developers to resort to traditional modularization abstractions that are agnostic to the multitier nature of the language.
In this paper, we address this issue with a module system for multitier languages. Our module system supports encapsulating each (cross-peer) functionality and defining it over abstract peer types. As a result, we disentangle modularization and distribution and we enable the definition of a distributed system as a composition of multitier modules, each representing a subsystem. 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.
BibTeX - Entry
@InProceedings{weisenburger_et_al:LIPIcs:2019:10795,
author = {Pascal Weisenburger and Guido Salvaneschi},
title = {{Multitier Modules}},
booktitle = {33rd European Conference on Object-Oriented Programming (ECOOP 2019)},
pages = {3:1--3:29},
series = {Leibniz International Proceedings in Informatics (LIPIcs)},
ISBN = {978-3-95977-111-5},
ISSN = {1868-8969},
year = {2019},
volume = {134},
editor = {Alastair F. Donaldson},
publisher = {Schloss Dagstuhl--Leibniz-Zentrum fuer Informatik},
address = {Dagstuhl, Germany},
URL = {http://drops.dagstuhl.de/opus/volltexte/2019/10795},
URN = {urn:nbn:de:0030-drops-107957},
doi = {10.4230/LIPIcs.ECOOP.2019.3},
annote = {Keywords: Distributed Programming, Multitier Programming, Abstract Peer Types, Placement Types, Module Systems, Scala}
}
Keywords: |
|
Distributed Programming, Multitier Programming, Abstract Peer Types, Placement Types, Module Systems, Scala |
Collection: |
|
33rd European Conference on Object-Oriented Programming (ECOOP 2019) |
Issue Date: |
|
2019 |
Date of publication: |
|
10.07.2019 |