Document Open Access Logo

Multitier Modules

Authors Pascal Weisenburger, Guido Salvaneschi



PDF
Thumbnail PDF

File

LIPIcs.ECOOP.2019.3.pdf
  • Filesize: 0.65 MB
  • 29 pages

Document Identifiers

Author Details

Pascal Weisenburger
  • Technische Universität Darmstadt, Germany
Guido Salvaneschi
  • Technische Universität Darmstadt, Germany

Acknowledgements

We would like to thank Philipp Schulz for the implementation of the first prototype of this work and all reviewers of this paper for their comments and suggestions.

Cite AsGet BibTex

Pascal Weisenburger and Guido Salvaneschi. Multitier Modules. In 33rd European Conference on Object-Oriented Programming (ECOOP 2019). Leibniz International Proceedings in Informatics (LIPIcs), Volume 134, pp. 3:1-3:29, Schloss Dagstuhl - Leibniz-Zentrum für Informatik (2019)
https://doi.org/10.4230/LIPIcs.ECOOP.2019.3

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.

Subject Classification

ACM Subject Classification
  • Computing methodologies → Distributed programming languages
  • Software and its engineering → Modules / packages
Keywords
  • Distributed Programming
  • Multitier Programming
  • Abstract Peer Types
  • Placement Types
  • Module Systems
  • Scala

Metrics

  • Access Statistics
  • Total Accesses (updated on a weekly basis)
    0
    PDF Downloads
Questions / Remarks / Feedback
X

Feedback for Dagstuhl Publishing


Thanks for your feedback!

Feedback submitted

Could not send message

Please try again later or send an E-mail