CPL: A Core Language for Cloud Computing -- Technical Report
Oliver Bra\v{c}evac, Sebastian Erdweg, Guido Salvaneschi and, Mira Mezini

TL;DR
CPL is a statically-typed core language designed for safe, extensible, and composable programming of distributed applications and their deployment on cloud platforms, addressing limitations of existing deployment languages.
Contribution
It introduces CPL, a formal, type-safe language that enables extensible and safe cloud application deployment and management, with formal semantics and support for custom service implementations.
Findings
CPL enables type-safe composition of cloud services.
CPL supports extensible deployment and runtime triggers.
Formal semantics of CPL demonstrate its correctness and safety.
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…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsCloud Computing and Resource Management · Software System Performance and Reliability · Scientific Computing and Data Management
