Towards a Function-as-a-Service Choreographic Programming Language: Examples and Applications
Giuseppe De Palma, Saverio Giallorenzo, Jacopo Mauro, Matteo Trentin,, Gianluigi Zavattaro

TL;DR
This paper introduces FaaSChal, a choreographic programming language designed for serverless FaaS architectures, enabling correct-by-construction development and optimized deployment policies.
Contribution
It presents a novel CP language tailored for FaaS, with features like projection and a method to synthesize latency-minimizing policies respecting constraints.
Findings
Demonstrates FaaSChal with relevant examples
Shows how to extract infrastructural relations from choreographies
Proposes policies to minimize latency while respecting constraints
Abstract
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…
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
TopicsSlime Mold and Myxomycetes Research · Music Technology and Sound Studies · Graph Theory and Algorithms
