Go up to Appendix: Technologies for Distributed Systems
Go forward to WWW-Related Technologies
Coordination languages express coordination among entities which have to cooperate or to synchronize to perform some set of tasks or achieve some common goal. This notion was elaborated in the context of the programming model Linda [GC89] [GC92] which divided a parallel programming language into two (ideally) orthogonal components: the computation model and the coordination model where the later is in charge for the creation and interaction of concurrent activities.
Linda coordinates parallel processes via a common tuple store and has been implemented for a large set of language bindings. Consequently various coordination languages based on logic [FT89b],[FT94] functional [Col89] [D+93] [Sch96b] and object-oriented models [CCR96] have been developed. Also the Gamma model based on the simulation of chemical reactions has been extensively studied for this purpose [AHLM96]. [Cia96a] provides an overview over coordination models and languages; [Cia96b] contains bibliography on this topic. [Adl95] investigates the more technical oriented site of coordination models for client/server applications.
Unfortunately there is no empirical evidence that any of the coordination languages proposed in the past has a clear advantage over the other ones. Most actual distributed systems therefore concentrate on the underlying architectural, interfacing, portability and compatibility issues (see the next sections) rather than on high-level coordination models.