Coordination Models and Languages

Recent work in the area of coordination models and collective adaptive systems promotes a view of distributed computations as functional blocks manipulating data structures spread over space and evolving over time. In this paper, we address expressiveness issues of such computations, and specifically focus on the field calculus, a prominent emerging language in this context. Based on the classical notion of event structure, we introduce the cone Turing machine as a ground for studying computability issues, and first use it to prove that field calculus is space-time universal. We then observe that, in the most general case, field calculus computations can be rather inefficient in the size of messages exchanged, but this can be remedied by an encoding to nearly similar computations with slower information speed. We capture this concept by a notion of delayed space-time universality, which we prove to hold for the set of message-efficient algorithms expressible by field calculus. As a corollary, it is derived that field calculus can implement with message-size efficiency all self-stabilising distributed algorithms.


Foreword
The 15th International Federated Conference on Distributed Computing Techniques (DisCoTec 2020) took place during June 15-19, 2020. It was organized 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). It comprises three conferences: 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, that gathered attendants from the three conferences. These included joint invited speaker sessions and a joint session for the best papers from the respective three conferences.
Associated with the federated event, two satellite events took place: - 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 their conferences for their guidance and support. The organization of DisCoTec 2020 was only possible thanks to the dedicated work of the Organizing Committee, including Davide Basile and Francisco "Kiko" Fernández Reyes (publicity chairs), Antonis Achilleos, Duncan Paul Attard, and Ornela Dardha (workshop chairs), Lucienne Bugeja (logistics and finances), as well as all the students and colleagues who volunteered their time to help. Finally, I would like to thank IFIP WG6.1 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.

Preface
This volume contains the papers presented at COORDINATION 2020, the 22nd International Conference on Coordination Models and Languages, organized online by the University of Malta in Valletta during June 15-19, 2020, 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. COORDINATION 2020 had two dedicated sessions for special topics: Microservices (in collaboration with the Microservices Community) and Techniques to reason about interacting digital contracts.
For the second year in a row, COORDINATION 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 2020 comprised 27 researchers from 13 countries. We received 21 full paper submissions, 4 short paper submissions, and 5 tool paper submissions. Each paper was evaluated by at least 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 comprised 12 full papers, 6 short papers, and 4 tool papers. The program also included two invited tutorials and one invited talk. The invited talk was given by Peter Kriens from aQute and the OSGi Alliance. A short abstract of this talk is included in this volume under the title "Formal Specifications to Increase Understanding." We are grateful to all authors who have submitted their work, to the members of the Program Committees 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 Hugo Torres Vieira and Omar Inverso, the chairs of the Tool Track, to Stephanie Balzer and Anastasia Mavridou, the organizers of the special topic on digital contracts, and Ivan Lanese and Alberto Lluch Lafuente, 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.
DisCoTec 2020the federated conference whereof COORDINATION is parttook place during the Covid-19 pandemics with many countries having imposed travel restrictions and some of the participants being in lock-down. The decision to maintain the dates and hold the conference online imposed radical changes in the required infrastructure. In the name of all COORDINATION participants, we thank the Organizing Committee chaired by Adrian Francalanza for having quickly and efficiently adapted to the new circumstances and allowing the conference to proceed smoothly despite the inherent difficulties of holding it online. Personal thanks go to Kiko Fernández-Reyes and Davide Basile for their help with the conference publicity and running the website.
Simon Bliudze thanks the Hauts-de-France region for the financial support provided in the framework of the Soutiens aux Talents de la Recherche Scientifique program.
Finally, we would like to thank the International Federation for Information Processing (IFIP) WG6.1 for the financial support, to Springer Nature for their sponsorship and personally Anna Kramer 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 for the additional publicity they provided.

Formal Specifications to Increase Understanding (Invited Talk)
Peter Kriens aQute and OSGi Alliance peter.kriens@aqute.biz Abstract. I've been active in the Alloy (MIT, Daniel Jackson) community for the last few years. Alloy is an interactive formal specification tool using SAT and SMT to find counterexamples. However, despite my enthusiasm, I am also quite frustrated with how the focus is on the least interesting aspects for me: 'proving' the correctness of a specification. It is for me the least interesting because it requires the spec to be correct, which is very hard. However, even harder, it requires the implementation to follow the spec exactly. The people involved in this area seem to leave these all-important aspects as a detail for the practitioners. Instead, they focus on the more and more esoteric things like beating the combinatorial explosion in the proving aspects. I think 'something' like Alloy could be eminently useful if it is used to define the semantics of APIs. Today, we define those semantics in comments or, worse, some external Word document. Formally defining service APIs seems a low hanging fruit that would boost development productivity significantly. As a developer you spend most of your time trying to understand the domain and testing (the tool could generate test case data). Using the service API as an anchor point of such a tool would make it modular, allowing larger specifications that could still be proven. This presentation will explore how such a tool could look like.