Coordination Models and Languages

   page       BibTeX_logo.png   
George A. Papadopoulos, Farhad Arbab
Marvin V. Zelkowitz (eds.)
The Engineering of Large Systems, pages 329-400
Advances in Computers 46
Academic Press

A new class of models, formalisms and mechanisms has recently evolved for describing concurrent and distributed computations based on the concept of "coordination".
The purpose of a coordination model and associated language is to provide a means of integrating a number of possibly heterogeneous components together, by interfacing with each component in such a way that the collective set forms a single application that can execute on and take advantage of parallel and distributed systems.
In this chapter we initially define and present in sufficient detail the fundamental concepts of what constitutes a coordination model or language.
We then go on to classify these models and languages as either "data-driven" or "control-driven" (also called "process-" or "task-oriented").
In the process, the main existing coordination models and languages are described in sufficient detail to let the reader appreciate their features and put them into perspective with respect to each other.
The chapter ends with a discussion comparing the various models and some conclusions.