Process Calculi for Coordination: From Linda to JavaSpaces

We present a collection of process calculi featuring coordination primitives for the shared dataspace coordination model (inspired by Linda, JavaSpaces and TSpaces), some of which have never been formally defined before. The operational semantics of the calculi is used to clarify possible ambiguities of the informal definitions of these languages, to discuss possible implementation choices, to compare the expressive power of the new primitives and, finally, to support formal reasoning about programs written with these primitives.