Published: 29th July 2011
DOI: 10.4204/EPTCS.58
ISSN: 2075-2180


Proceedings 10th International Workshop on the
Foundations of Coordination Languages and Software Architectures
Aachen, Germany, 10th September, 2011

Edited by: Mohammad Reza Mousavi and Antonio Ravara

Mohammad Reza Mousavi and Antonio Ravara
Invited Presentation: How Erlang views the world and what we have learned in the last 25 years of programming distributed systems.
Joe Armstrong
Modelling and Simulation of Asynchronous Real-Time Systems using Timed Rebeca
Luca Aceto, Matteo Cimini, Anna Ingolfsdottir, Arni Hermann Reynisson, Steinar Hugi Sigurdarson and Marjan Sirjani
A Verified Algebra for Linked Data
Ross Horne and Vladimiro Sassone
A State-Based Characterisation of the Conflict Preorder
Simon Ware and Robi Malik
Predicting global usages of resources endowed with local policies
Chiara Bodei, Viet Dung Dinh and Gian Luigi Ferrari
Decoupled execution of synchronous coordination models via behavioural automata
José Proença, Dave Clarke, Erik de Vink and Farhad Arbab


Welcome to the proceedings of FOCLASA 2011, the 10th International Workshop on the Foundations of Coordination Languages and Software Architectures. FOCLASA 2011 was held in Aachen, Germany on September 10th, 2011 as a satellite event of CONCUR 2011, the 22nd International Conference on Concurrency Theory.

The workshop provides a venue where researchers and practitioners could meet, exchange ideas, identify common problems, determine some of the key and fundamental issues related to coordination languages and software architectures, and explore together and disseminate solutions. Indeed, a number of hot research topics are currently sharing the common problem of combining concurrent, distributed, mobile and heterogeneous components, trying to harness the intrinsic complexity of the resulting systems. These include coordination, peer-to-peer systems, grid computing, web services, multi-agent systems, and component-based systems. Coordination languages and software architectures are recognized as fundamental approaches to tackle these issues, improving software productivity, enhancing maintainability, advocating modularity, promoting reusability, and leading to systems more tractable and more amenable to verification and global analysis.

This year, we received 10 submissions involving 33 authors from 12 different countries. Papers underwent a rigorous review process, and all accepted papers received 4 review reports. After the review process, the international Program Committee of FOCLASA 2010 decided to select five papers for presentation during the workshop and inclusion in these proceedings. These papers tackle different issues that are currently central to our community, specification and reasoning frameworks parallel and concurrent systems, systems with linked data, resource-constrained and timed systems and data-flow coordination models. The workshop features an invited speech by Joe Armstrong from Ericsson, Sweden. The best papers of the workshop will be invited for a special issue in Science of Computer Programming (Elsevier). We would like to thank all the members of the program committee for their great work during the review process, the external reviewers for providing insightful review reports, the authors for submitting papers to the workshop, and the participants for attending the workshop in Aachen. All these people contribute to the success of the 2011 edition of FOCLASA.

Mohammad Reza Mousavi
Antonio Ravara

Program Committee

External Reviewers

Steering Committee

How Erlang views the world and what we have learned in the last 25 years of programming distributed systems.

Joe Armstrong (Ericsson)

Erlang views the world as a large collection of isolated communicating processes. These processes have no shared memory. During normal operation processes communicate by exchanging messages. Abnormal situations are handled through the exchange of signals. Signals and messages are fundamentally different. Erlang was originally designed for building "fault tolerant systems that run forever" which is the main reason for our insistence on process isolation. Erlang was invented long before the advent of cheap massive distributed systems and long before the multicore chip emerged. The first Erlang applications were in their nature distributed and built to run on clusters. Multicores are essentially "clusters on a chip" so what we learned from programming clusters carries naturally over to the world of multicores. This talk is about the lessons and pitfalls of building distributed systems in Erlang. What works and what doesn't work and the possible reasons for this.


Joe Armstrong is the principle inventor of the Erlang programming Language and coined the term "Concurrency Oriented Programming". He works for Ericsson where he developed Erlang and was chief architect of the Erlang/OTP system. Joe has a PhD in computer science from the Royal Institute of Technology in Stockholm (KTH), Sweden and is an expert in the construction of fault tolerant systems. He is the author of several books on Erlang.