Home > Research > Publications & Outputs > CPL

Links

Text available via DOI:

View graph of relations

CPL: a core language for cloud computing

Research output: Contribution in Book/Report/Proceedings - With ISBN/ISSNConference contribution/Paperpeer-review

Published

Standard

CPL: a core language for cloud computing. / Bračevac, Oliver; Erdweg, Sebastian; Salvaneschi, Guido et al.
MODULARITY 2016 Proceedings of the 15th International Conference on Modularity. New York: ACM, 2016. p. 94-105.

Research output: Contribution in Book/Report/Proceedings - With ISBN/ISSNConference contribution/Paperpeer-review

Harvard

Bračevac, O, Erdweg, S, Salvaneschi, G & Mezini, E 2016, CPL: a core language for cloud computing. in MODULARITY 2016 Proceedings of the 15th International Conference on Modularity. ACM, New York, pp. 94-105. https://doi.org/10.1145/2889443.2889452

APA

Bračevac, O., Erdweg, S., Salvaneschi, G., & Mezini, E. (2016). CPL: a core language for cloud computing. In MODULARITY 2016 Proceedings of the 15th International Conference on Modularity (pp. 94-105). ACM. https://doi.org/10.1145/2889443.2889452

Vancouver

Bračevac O, Erdweg S, Salvaneschi G, Mezini E. CPL: a core language for cloud computing. In MODULARITY 2016 Proceedings of the 15th International Conference on Modularity. New York: ACM. 2016. p. 94-105 doi: 10.1145/2889443.2889452

Author

Bračevac, Oliver ; Erdweg, Sebastian ; Salvaneschi, Guido et al. / CPL : a core language for cloud computing. MODULARITY 2016 Proceedings of the 15th International Conference on Modularity. New York : ACM, 2016. pp. 94-105

Bibtex

@inproceedings{85b9d873bd2c47408efd18b33059ca76,
title = "CPL: a core language for cloud computing",
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.",
author = "Oliver Bra{\v c}evac and Sebastian Erdweg and Guido Salvaneschi and Ermira Mezini",
year = "2016",
doi = "10.1145/2889443.2889452",
language = "English",
isbn = "9781450339957",
pages = "94--105",
booktitle = "MODULARITY 2016 Proceedings of the 15th International Conference on Modularity",
publisher = "ACM",

}

RIS

TY - GEN

T1 - CPL

T2 - a core language for cloud computing

AU - Bračevac, Oliver

AU - Erdweg, Sebastian

AU - Salvaneschi, Guido

AU - Mezini, Ermira

PY - 2016

Y1 - 2016

N2 - 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.

AB - 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.

U2 - 10.1145/2889443.2889452

DO - 10.1145/2889443.2889452

M3 - Conference contribution/Paper

SN - 9781450339957

SP - 94

EP - 105

BT - MODULARITY 2016 Proceedings of the 15th International Conference on Modularity

PB - ACM

CY - New York

ER -