CPL

A Core Language for Cloud Computing

Conference Paper (2016)
Author(s)

Oliver Bračevac (Technische Universität Darmstadt)

S.T. Erdweg (TU Delft - Programming Languages, Technische Universität Darmstadt)

Guido Salvaneschi (Technische Universität Darmstadt)

Mira Mezini (University of Lancaster, Technische Universität Darmstadt)

Research Group
Programming Languages
Copyright
© 2016 Oliver Bračevac, S.T. Erdweg, Guido Salvaneschi, Mira Mezini
DOI related publication
https://doi.org/10.1145/2889443.2889452
More Info
expand_more
Publication Year
2016
Language
English
Copyright
© 2016 Oliver Bračevac, S.T. Erdweg, Guido Salvaneschi, Mira Mezini
Research Group
Programming Languages
Pages (from-to)
94-105
ISBN (electronic)
978-1-4503-3995-7
Reuse Rights

Other than for strictly personal use, it is not permitted to download, forward or distribute the text or part of it, without the consent of the author(s) and/or copyright holder(s), unless the work is under an open content license such as Creative Commons.

Abstract

Running distributed applications in the cloud involves deployment. That is, distribution and configuration of application services and middleware infrastructure. The considerable complexity of these tasks resulted in the emergence of declarative JSON-based domain-specific deployment languages to develop deployment programs. However, existing deployment programs unsafely compose artifacts written in different languages, leading to bugs that are hard to detect before run time. Furthermore, deployment languages do not provide extension points for custom implementations of existing cloud services such as application-specific load balancing policies. To address these shortcomings, we propose CPL (Cloud Platform Language), a statically-typed core language for programming both distributed applications as well as their deployment on a cloud platform. In CPL, application services and deployment programs interact through statically typed, extensible interfaces, and an application can trigger further deployment at run time. We provide a formal semantics of CPL and demonstrate that it enables type-safe, composable and extensible libraries of service combinators, such as load balancing and fault tolerance.

Files

Cloud_platform_language.pdf
(pdf | 0.703 Mb)
License info not available