Choreographies for Reactive Programming

01/24/2018
by   Marco Carbone, et al.
0

Modular programming is a cornerstone in software development, as it allows to build complex systems from the assembly of simpler components, and support reusability and substitution principles. In a distributed setting, component assembly is supported by communication that is often required to follow a prescribed protocol of interaction. In this paper, we present a language for the modular development of distributed systems, where the assembly of components is supported by a choreography that specifies the communication protocol. Our language allows to separate component behaviour, given in terms of reactive data ports, and choreographies, specified as first class entities. This allows us to consider reusability and substitution principles for both components and choreographies. We show how our model can be compiled into a more operational perspective in a provably-correct way, and we present a typing discipline that addresses communication safety and progress of systems, where a notion of substitutability naturally arises.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
09/17/2020

A type language for message passing component-based systems

Component-based development is challenging in a distributed setting, for...
research
02/14/2020

Implementing a Language for Distributed Systems: Choices and Experiences with Type Level and Macro Programming in Scala

Multitier programming languages reduce the complexity of developing dist...
research
06/18/2021

Construction of Planar and Symmetric Truss Structures with Interlocking Edge Elements

In this paper, we present an algorithmic approach to design and construc...
research
09/25/2013

Exploring Programmable Self-Assembly in Non-DNA based Molecular Computing

Self-assembly is a phenomenon observed in nature at all scales where aut...
research
07/31/2017

Coordination of Dynamic Software Components with JavaBIP

JavaBIP allows the coordination of software components by clearly separa...
research
12/23/2022

Decoupled Fitness Criteria for Reactive Systems

The correctness problem for reactive systems has been thoroughly explore...
research
03/07/2023

Real-World Choreographic Programming: An Experience Report

Choreographic programming is a programming paradigm, whereby the overall...

Please sign up or login with your details

Forgot password? Click here to reset