<figure><img src="image_1.png" /></figure>

HAL
open science

# Coordination Models and Languages

Ferruccio Damiani, Ornela Dardha

► To cite this version:

Ferruccio Damiani, Ornela Dardha. Coordination Models and Languages: 23rd IFIP WG 6.1 International Conference, COORDINATION 2021, Held as Part of the 16th International Federated Conference on Distributed Computing Techniques, DisCoTec 2021, Valletta, Malta, June 14–18, 2021, Proceedings. Springer International Publishing, LNCS-12717, 2021, Lecture Notes in Computer Science, 978-3-030-78141-5. 10.1007/978-3-030-78142-2. hal-03387825

HAL Id: hal-03387825

https://inria.hal.science/hal-03387825

Submitted on 20 Oct 2021

HAL is a multi-disciplinary open access
archive for the deposit and dissemination of sci-
entific research documents, whether they are pub-
lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.

L'archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diffusion de documents
scientifiques de niveau recherche, publiés ou non,
émanant des établissements d'enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.

<figure><img src="image_2.png" /></figure>

Distributed under a Creative Commons Attribution 4.0 International License
Founding Editors

Gerhard Goos

Karlsruhe Institute of Technology, Karlsruhe, Germany

Juris Hartmanis

Cornell University, Ithaca, NY, USA

Editorial Board Members

Elisa Bertino

Purdue University, West Lafayette, IN, USA

Wen Gao

Peking University, Beijing, China

Bernhard Steffen

TU Dortmund University, Dortmund, Germany

Gerhard Woeginger

RWTH Aachen, Aachen, Germany

Moti Yung

Columbia University, New York, NY, USA
More information about this subseries at http://www.springer.com/series/7408
Ferruccio Damiani · Ornela Dardha (Eds.)

Coordination Models
and Languages

23rd IFIP WG 6.1 International Conference, COORDINATION 2021
Held as Part of the 16th International Federated Conference
on Distributed Computing Techniques, DisCoTec 2021
Valletta, Malta, June 14–18, 2021
Proceedings

<figure><img src="image_3.png" /></figure>

Springer
Editors

Ferruccio Damiani ID
University of Turin
Turin, Italy

Ornela Dardha ID
Sir Alwyn William Building
University of Glasgow
Glasgow, UK

ISSN 0302-9743

ISSN 1611-3349 (electronic)

Lecture Notes in Computer Science

ISBN 978-3-030-78141-5

ISBN 978-3-030-78142-2 (eBook)

https://doi.org/10.1007/978-3-030-78142-2

LNCS Sublibrary: SL2 – Programming and Software Engineering

© IFIP International Federation for Information Processing 2021

This work is subject to copyright. All rights are reserved by the Publisher, whether the whole or part of the material is concerned, specifically the rights of translation, reprinting, reuse of illustrations, recitation, broadcasting, reproduction on microfilms or in any other physical way, and transmission or information storage and retrieval, electronic adaptation, computer software, or by similar or dissimilar methodology now known or hereafter developed.

The use of general descriptive names, registered names, trademarks, service marks, etc. in this publication does not imply, even in the absence of a specific statement, that such names are exempt from the relevant protective laws and regulations and therefore free for general use.

The publisher, the authors and the editors are safe to assume that the advice and information in this book are believed to be true and accurate at the date of publication. Neither the publisher nor the authors or the editors give a warranty, expressed or implied, with respect to the material contained herein or for any errors or omissions that may have been made. The publisher remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

This Springer imprint is published by the registered company Springer Nature Switzerland AG
The registered company address is: Gewerbestrasse 11, 6330 Cham, Switzerland
# Foreword

The 16th International Federated Conference on Distributed Computing Techniques (DisCoTec 2021) took place during June 14–18, 2021. It was organised by the Department of Computer Science at the University of Malta, but was held online due to the abnormal circumstances worldwide affecting physical travel. The DisCoTec series is one of the major events sponsored by the International Federation for Information Processing (IFIP), the European Association for Programming Languages and Systems (EAPLS) and the Microservices Community. It comprises three conferences:

- *COORDINATION*, the IFIP WG 6.1 23rd International Conference on Coordination Models and Languages;

- *DAIS*, the IFIP WG 6.1 21st International Conference on Distributed Applications and Interoperable Systems;

- *FORTE*, the IFIP WG 6.1 41st International Conference on Formal Techniques for Distributed Objects, Components, and Systems.

Together, these conferences cover a broad spectrum of distributed computing subjects, ranging from theoretical foundations and formal description techniques to systems research issues. As is customary, the event also included several plenary sessions in addition to the individual sessions of each conference, which gathered attendants from the three conferences. These included joint invited speaker sessions and a joint session for the best papers from the three conferences. Associated with the federated event, four satellite events took place:

- *DisCoTec Tool*, a tutorial session promoting mature tools in the field of distributed computing;

- *ICE*, the 14th International Workshop on Interaction and Concurrency Experience;

- *FOCODILE*, the 2nd International Workshop on Foundations of Consensus and Distributed Ledgers;

- *REMV*, the 1st Robotics, Electronics, and Machine Vision Workshop.

I would like to thank the Program Committee chairs of the different events for their help and cooperation during the preparation of the conference, and the Steering Committee and Advisory Boards of DisCoTec and its conferences for their guidance and support. The organization of DisCoTec 2021 was only possible thanks to the dedicated work of the Organizing Committee, including Caroline Caruana and Jasmine Xuereb (publicity chairs), Duncan Paul Attard and Christian Bartolo Burlo (workshop chairs), Lucienne Bugeja (logistics and finances), and all the students and colleagues who volunteered their time to help. I would also like to thank the invited speakers for their excellent talks. Finally, I would like to thank IFIP WG 6.1, EAPLS and the Microservices Community for sponsoring this event, Springer’s Lecture Notes in Computer Science team for their support and sponsorship, EasyChair for providing the
reviewing framework, and the University of Malta for providing the support and
infrastructure to host the event.

June 2021

Adrian Francalanza
# Preface

This volume contains the papers presented at COORDINATION 2021, the 23rd International Conference on Coordination Models and Languages, organized online by the University of Malta in Valletta during June 14–18, 2021, as part the federated DisCoTec conference.

The COORDINATION conference provides a well-established forum for the growing community of researchers interested in coordination models and languages, architectures, verification, and implementation techniques necessary to cope with the complexity induced by the demands of today’s software development. For the third year in a row, COORDINATION has called for tool papers describing experience reports, technological artefacts, and innovative prototypes, as well as educational tools in the scope of the research topics of the conference. Tool papers were selected according to the combination of an extended abstract and a short video demonstration, after which full papers were produced to be included in these proceedings following a light-weight review. In addition, seeking to further reinforce the practical applicability aspects of the COORDINATION community research, we have explicitly included among the topics of interest the industry-led efforts in coordination and industrial case studies.

The Program Committee of COORDINATION 2021 comprised 32 researchers from 14 countries. We received 16 full paper submissions, 7 short paper submissions, and 8 tool paper submissions. Each paper was evaluated by three reviewers and this process was supplemented by an in-depth discussion phase during which the merits of all the papers were considered. The contributions published in this volume were selected according to their quality, originality, clarity, and relevance. The final program comprises 8 full papers, 2 short papers, and 7 tool papers. The program also included an invited tutorial and an invited talk. The invited talk was given by Mira Mezini from TU Darmstadt, Germany. A short abstract of this talk is included in this volume under the title “Let it Flow: Reactive Computations for Consistent-by-Design Distributed Applications”.

We are grateful to all authors who have submitted their work, to the members of the Program Committee and their sub-reviewers for their help in evaluating the papers, and to all the participants for their interest in the conference. We would particularly like to express our gratitude to Giorgio Audrito and Silvia Lizeth Tapia Tarifa, the chairs of the Tool Track; to Stephanie Balzer and Anastasia Mavridou, the organizers of the special topic on digital contracts; to Maurice ter Beek and Hugo Torres Vieira, the organizers of the special topic on configurable systems; and to Ivan Lanese and Larisa Safina, the organizers of the special topic on microservices. Their strong involvement was a key enabling factor for the preparation of the conference. Furthermore, we wish to thank the Steering Committee of COORDINATION and the Steering Board of DisCoTec for their support.
For the second year in a row, DisCoTec – the federated conference whereof
COORDINATION is part – took place during the COVID-19 pandemic with many
countries having imposed travel restrictions and some of the participants being in
lockdown. In the name of all COORDINATION 2021 participants, we thank the
Organizing Committee chaired by Adrian Francalanza for allowing the conference to
proceed smoothly despite the inherent difficulties of holding it online. Personal thanks
go to Duncan Paul Attard, Christian Bartolo Burlo, Caroline Caruana, and Jasmine
Xuereb for their help with the conference publicity and running the website.

Finally, we would like to thank the International Federation for Information
Processing (IFIP) WG 6.1 for the financial support, Springer for their sponsorship and
Anna Kramer, personally, for the support during the production phase of the
proceedings, EasyChair for the paper collection, reviewing, and proceedings preparation
environment, the University of Malta for providing the infrastructure, and the
microservices community and the European Association for Programming Languages
and Systems (EAPLS) for the additional publicity they provided.

April 2021

Ferruccio Damiani
Ornela Dardha
# Organization

## Program Committee Chairs

Ferruccio Damiani
Ornela Dardha

University of Turin, Italy
University of Glasgow, UK

## Steering Committee

Gul Agha
Farhad Arbab
Simon Bliudze
Laura Bocchi
Wolfgang De Meuter
Rocco De Nicola
Giovanna di Marzo
Serugendo
Tom Holvoet
Jean-Marie Jacquet
Christine Julien
Eva Kühn
Alberto Lluch Lafuente
Michele Loreti
Mieke Massink (Chair)
José Proença
Rosario Pugliese
Hanne Riis Nielson
Marjan Sirjani
Carolyn Talcott
Emilio Tuosto
Vasco T. Vasconcelos
Mirko Viroli
Gianluigi Zavattaro

University of Illinois at Urbana Champaign, USA
CWI and Leiden University, Netherlands
Inria, Lille, France
University of Kent, UK
Vrije Universiteit Brussels, Belgium
IMT School for Advanced Studies Lucca, Italy
Université de Genève, Switzerland
KU Leuven, Belgium
University of Namur, Belgium
The University of Texas at Austin, USA
Vienna University of Technology, Austria
Technical University of Denmark, Denmark
University of Camerino, Italy
CNR-ISTI, Italy
ISEP, Portugal
University of Florence, Italy
Technical University of Denmark, Denmark
Mälardalen University, Sweden
SRI International, USA
Gran Sasso Science Institute, Italy
University of Lisbon, Portugal
Università di Bologna, Italy
Università di Bologna, Italy

## Program Committee

Zena M. Ariola
Robert Atkey
Giorgio Audrito
Stephanie Balzer
Simon Bliudze
Laura Bocchi
Roberto Casadei

University of Oregon, USA
University of Strathclyde, UK
University of Turin, Italy
CMU, USA
Inria, Lille, France
University of Kent, UK
University of Bologna, Italy
<table><tr><td>Vashti Galpin</td><td>University of Edinburgh, UK</td></tr><tr><td>Fatemeh Ghassemi</td><td>University of Tehran, Iran</td></tr><tr><td>Elisa Gonzalez Boix</td><td>Vrije Universiteit Brussel, Belgium</td></tr><tr><td>Omar Inverso</td><td>University of Southampton, UK</td></tr><tr><td>Jean-Marie Jacquet</td><td>University of Namur, Belgium</td></tr><tr><td>Eva Kühn</td><td>Vienna University of Technology, Austria</td></tr><tr><td>Ivan Lanese</td><td>University of Bologna, Italy</td></tr><tr><td>Alberto Lluch Lafuente</td><td>Technical University of Denmark, Denmark</td></tr><tr><td>Michele Loreti</td><td>University of Camerino, Italy</td></tr><tr><td>Mieke Massink</td><td>CNR-ISTI, Italy</td></tr><tr><td>Anastasia Mavridou</td><td>SGT Inc./NASA Ames Research Center, USA</td></tr><tr><td>Hernan Melgratti</td><td>Universidad de Buenos Aires, Argentina</td></tr><tr><td>Violet Ka I. Pun</td><td>Western Norway University of Applied Sciences, Norway</td></tr><tr><td>Larisa Safina</td><td>Inria, Lille, France</td></tr><tr><td>Gwen Salaün</td><td>University of Grenoble Alpes, France</td></tr><tr><td>Meng Sun</td><td>Peking University, China</td></tr><tr><td>Carolyn Talcott</td><td>SRI International, USA</td></tr><tr><td>Silvia Lizeth Tapia Tarifa</td><td>University of Oslo, Norway</td></tr><tr><td>Maurice H. ter Beek</td><td>CNR-ISTI, Italy</td></tr><tr><td>Peter Thiemann</td><td>Universität Freiburg, Germany</td></tr><tr><td>Hugo Torres Vieira</td><td>Universidade da Beira Interior, Portugal</td></tr><tr><td>Vasco T. Vasconcelos</td><td>University of Lisbon, Lisbon, Portugal</td></tr><tr><td>Tarmo Uustalu</td><td>Reykjavik University, Iceland</td></tr></table>

## Tool Track Chairs

<table><tr><td>Giorgio Audrito</td><td>University of Turin, Italy</td></tr><tr><td>Silvia Lizeth Tapia Tarifa</td><td>University of Oslo, Norway</td></tr></table>

## Special Sessions Organizers

### Configurable Systems in the DevOps Era:

<table><tr><td>Maurice H. ter Beek</td><td>CNR-ISTI, Italy</td></tr><tr><td>Hugo Torres Vieira</td><td>Universidade da Beira Interior, Portugal</td></tr></table>

### Microservices:

<table><tr><td>Ivan Lanese</td><td>University of Bologna, Italy</td></tr><tr><td>Larisa Safina</td><td>Inria, Lille, France</td></tr></table>
# Techniques to Reason About Interacting Digital Contracts:

Stephanie Balzer
Anastasia Mavridou

CMU, USA
SGT Inc./NASA Ames Research Center, USA

## Additional Reviewers

Davide Basile
Vincenzo Ciancia
Michael Coblenz
Said Daoudagh
Gianluca Filippone
Fabrizio Fornari
Saverio Giallorenzo
Gerson Joskowicz
Eduard Kamburjan
Ajay Krishna

Ai Liu
Dominic Orchard
Yann Regis-Gianas
Rudolf Schlatte
Martina Sengstschmid
André Souto
Martin Steffen
Bernardo Toninho
Gianluca Turin
Adriana Laura Voinea

## Sponsors

<figure><img src="image_4.png" /></figure>

ifip

the leading edge of information technology

<figure><img src="image_5.png" /></figure>

eapls

european association for programming languages and systems

<figure><img src="image_6.png" /></figure>

L-Università
ta' Malta

<figure><img src="image_7.png" /></figure>

<figure><img src="image_8.png" /></figure>

Springer

<figure><img src="image_9.png" /></figure>

EC

EasyChair

Service System
# Let it Flow: Reactive Computations for Consistent-by-Design Distributed Applications (Abstract of Invited Talk)

## Mira Mezini

Technische Universität Darmstadt
mezini@cs.tu-darmstadt.de

**Abstract.** Ubiquitous connectivity of millions of powerful (mobile) devices to each other and to web and cloud computing platforms via programmable networks has fostered globally distributed computing systems – the information power grids of the 21st century – and the development of different kinds of massively distributed applications such as social networking apps (e.g., instant messengers, multiplayer games, etc.), collaborative workflows (e.g., Google Docs, Figma, Trello, etc.), real-time businesses (e.g., collaborative condition monitoring, real-time cross-organizational workflows, etc.), decentralized data ecosystems (e.g., for processing data owned by different stakeholders), etc.

Today, distributed applications often rely on centralized solutions for consistency management. However, centralized management is not a good fit for massively distributed applications regarding offline availability, low latency, or user-controlled data privacy. Decentralized architectures are a better match, but in this setting applications developers must consider partial failures and need to trade-off between availability and strong consistency, ideally employing different consistency levels for different application parts. While there are storage systems that support hybrid consistency, the difficult and error-prone decision about selecting the right consistency levels is left to application developers.

In this talk, I argue for language-based solutions to automate consistency decisions. With such solutions, it is the responsibility of the language machinery to reason about consistency levels and to make use of hybrid consistency as needed by the application semantics. As a result, such languages offer developers well-defined and formally-proven consistency guarantees “out-of-the-box”. I will briefly overview some language-based solutions and will elaborate more on the effectiveness of reactive programming in enabling automated concurrency control and fault-tolerance with clear consistency guarantees. I will present the ideas in the context of REScala (rescala-lang.com) - a library-based extension to Scala - that we have designed and implemented in my lab. In REScala, applications are modeled as compositions of reactive abstractions, which denote time-changing values resulting from computations with reactive application semantics (i.e., computations get executed whenever their inputs change). We have reinterpreted and extended this programming model, thereby adopting multi-version consistency control, conflict-free replicated data types, and invariant-based reasoning to enable language-integrated handling of consistency in concurrent and distributed settings with well-defined guarantees.
# Contents

## Tutorial

<table><tr><td>Modeling and Analyzing Resource-Sensitive Actors:<br/>A Tutorial Introduction</td><td>3</td></tr><tr><td>Rudolf Schlatte, Einar Broch Johnsen, Eduard Kamburjan,<br/>and Silvia Lizeth Tapia Tarifa</td><td></td></tr></table>

## Communications: Types and Implementations

<table><tr><td>Manifestly Phased Communication via Shared Session Types</td><td>23</td></tr><tr><td>Chuta Sano, Stephanie Balzer, and Frank Pfenning</td><td></td></tr><tr><td>Deconfined Global Types for Asynchronous Sessions</td><td>41</td></tr><tr><td>Francesco Dagnino, Paola Giannini,<br/>and Mariangiola Dezani-Ciancaglini</td><td></td></tr><tr><td>Relating Functional and Imperative Session Types</td><td>61</td></tr><tr><td>Hannes Saffrich and Peter Thiemann</td><td></td></tr><tr><td>Safe Session-Based Asynchronous Coordination in Rust</td><td>80</td></tr><tr><td>Zak Cutner and Nobuko Yoshida</td><td></td></tr><tr><td>A Session Subtyping Tool</td><td>90</td></tr><tr><td>Lorenzo Bacchiani, Mario Bravetti, Julien Lange,<br/>and Gianluigi Zavattaro</td><td></td></tr><tr><td>Towards Probabilistic Session-Type Monitoring</td><td>106</td></tr><tr><td>Christian Bartolo Burlò, Adrian Francalanza, Alceste Calas,<br/>Catia Trubiani, and Emilio Tuosto</td><td></td></tr><tr><td>Java Typestate Checker</td><td>121</td></tr><tr><td>João Mota, Marco Giunti, and António Ravara</td><td></td></tr><tr><td>Asynchronous Global Types in Co-logic Programming</td><td>134</td></tr><tr><td>Riccardo Bianchini and Francesco Dagnino</td><td></td></tr></table>

## Large-Scale Decentralised Systems

<table><tr><td>Tuple-Based Coordination in Large-Scale Situated Systems</td><td>149</td></tr><tr><td>Roberto Casadei, Mirko Viroli, Alessandro Ricci, and Giorgio Audrito</td><td></td></tr></table>
A Theory of Automated Market Makers in DeFi. 168
Massimo Bartoletti, James Hsin-yu Chiang, and Alberto Lluch-Lafuente

ReGraDa: Reactive Graph Data. 188
Leandro Galrinho, João Costa Seco, Søren Debois, Thomas Hildebrandt, Håkon Norman, and Tijs Slaats

Modelling: Structures and Implementations

The Structure of Concurrent Process Histories 209
Chad Nester

A Clean and Efficient Implementation of Choreography Synthesis for Behavioural Contracts. 225
Davide Basile and Maurice H. ter Beek

A Practical Tool-Chain for the Development of Coordination Scenarios: Graphical Modeler, DSL, Code Generators and Automaton-Based Simulator. 239
Eva Maria Kuehn

Microservices

Microservice Dynamic Architecture-Level Deployment Orchestration. 257
Lorenzo Bacchiani, Mario Bravetti, Saverio Giallorenzo, Jacopo Mauro, Iacopo Talevi, and Gianluigi Zavattaro

Jolie and LEMMA: Model-Driven Engineering and Programming Languages Meet on Microservices. 276
Saverio Giallorenzo, Fabrizio Montesi, Marco Peressotti, Florian Rademacher, and Sabine Sachweh

SCAFI-WEB: A Web-Based Application for Field-Based Coordination Programming. 285
Gianluca Aguzzi, Roberto Casadei, Niccolò Maltoni, Danilo Pianini, and Mirko Viroli

Author Index 301