Coordination, considered abstractly, is an ubiquitous notion in computer science: for example, programming languages coordinate elementary instructions; operating systems coordinate accesses to hardware resources; database transaction schedulers coordinate accesses to shared data; etc. All these situations have some common features, which can be identified at the abstract level as "coordination mechanisms". This book focuses on a class of coordination models where multiple pieces of software coordinate their activities through some shared dataspace. The book has three parts. Part 1 presents the main coordination models studied in this book (Gamma, LO, TAO, LambdaN). Part 2 focuses on various semantics aspects of coordination, applied mainly to Gamma. Part 3 presents actual implementations of coordination models and an application.
Part 1 Coordination models: gamma and the chemical reaction model - ten years after, J.-P. Banatre and D. Le Metayer; coordination in LO, J.-M. Andreoli; truth and action osmosis (the TAO computation model), A. Porto and V.T. Vasconcelos; type inference and subtyping for higher-order generative communication, L. Dami. Part 2 Semantics: temporal semantics for gamma, M. Reynolds; a programme logic for gamma, S.J. Gay and C.L. Hankin; schedules for multiset transformer programmes, M. Chaudron and E. de Jong; composed reduction systems, D. Sands; an alternative semantics for the parallel operator of the calculas of gamma programmes, P. Ciancarini et al; a linear logic view of gamma style computations as proof searches, P. Bruscoli and A. Guglielmi. Part 3 Implementations, application: specifying a reflective and distributed implemenation of LO in higher order gamma, M. Bourgois; practical implications of reflection for coordination languages, M. Mourgois; Gammalog - a coordination language based on gamma and Godel, P. Ciancarini et al; coordination of distributed and parallel programmes in ConCoord, A.A. Holzbacher; gamma, chromatic typing and vegetation, H. McEvoy.