Towards a Function-as-a-Service Choreographic Programming Language: Examples and Applications

Fuente: arXiv
Enregistré dans:
Détails bibliographiques
Auteurs principaux: De Palma, Giuseppe, Giallorenzo, Saverio, Mauro, Jacopo, Trentin, Matteo, Zavattaro, Gianluigi
Format: Preprint
Publié: 2024
Sujets:
Accès en ligne:
Tags: Ajouter un tag
Pas de tags, Soyez le premier à ajouter un tag!
_version_ 1866910485434073088
author De Palma, Giuseppe
Giallorenzo, Saverio
Mauro, Jacopo
Trentin, Matteo
Zavattaro, Gianluigi
author_facet De Palma, Giuseppe
Giallorenzo, Saverio
Mauro, Jacopo
Trentin, Matteo
Zavattaro, Gianluigi
contents Choreographic Programming (CP) is a language paradigm whereby software artefacts, called choreographies, specify the behaviour of communicating participants. CP is famous for its correctness-by-construction approach to the development of concurrent, distributed systems. In this paper, we illustrate FaaSChal, a proposal for a CP language tailored for the case of serverless Function-as-a-Service (FaaS). In FaaS, developers define a distributed architecture as a collection of stateless functions, leaving to the serverless platform the management of deployment and scaling. We provide a first account of a CP language tailored for the FaaS case via examples that present some of its relevant features, including projection. In addition, we showcase a novel application of CP. We use the choreography as a source to extract information on the infrastructural relations among functions so that we can synthesise policies that strive to minimise their latency while guaranteeing the respect of user-defined constraints.
format Preprint
id arxiv_https___arxiv_org_abs_2406_09099
institution arXiv
publishDate 2024
record_format arxiv
spellingShingle Towards a Function-as-a-Service Choreographic Programming Language: Examples and Applications
De Palma, Giuseppe
Giallorenzo, Saverio
Mauro, Jacopo
Trentin, Matteo
Zavattaro, Gianluigi
Programming Languages
Distributed, Parallel, and Cluster Computing
Choreographic Programming (CP) is a language paradigm whereby software artefacts, called choreographies, specify the behaviour of communicating participants. CP is famous for its correctness-by-construction approach to the development of concurrent, distributed systems. In this paper, we illustrate FaaSChal, a proposal for a CP language tailored for the case of serverless Function-as-a-Service (FaaS). In FaaS, developers define a distributed architecture as a collection of stateless functions, leaving to the serverless platform the management of deployment and scaling. We provide a first account of a CP language tailored for the FaaS case via examples that present some of its relevant features, including projection. In addition, we showcase a novel application of CP. We use the choreography as a source to extract information on the infrastructural relations among functions so that we can synthesise policies that strive to minimise their latency while guaranteeing the respect of user-defined constraints.
title Towards a Function-as-a-Service Choreographic Programming Language: Examples and Applications
topic Programming Languages
Distributed, Parallel, and Cluster Computing
url https://arxiv.org/abs/2406.09099