Today's state of the art parallel programming models used for
implementing general purpose distributed applications suffer from
limitations concerning a clean separation of the computational part
and the ``glue'' that coordinates the overall distributed
application. Especially these limitations make a distributed
implementation of autonomy-based multi-agent models, our concern, a
burdensome task. To study problems related to coordination, Malone
[Malone and Crowston1994] introduced a new theory called coordination
theory aimed at defining such a ``glue''. The key issue of
coordination is managing dependencies among activities. To
formalize and better describe these interdependencies it is necessary
to separate the computation and the coordination of a
parallel application [N. Carriero and D. Gelernter1992]. The research in this area has led to
the definition of several coordination models and corresponding
coordination languages, whose most prominent representative is Linda
[Gelernter1985]. Other models and languages are based on message
passing paradigms [Agha et al.1993], object-oriented
techniques [Kielmann1996], multi-set rewriting schemes
[Banâtre and
Métayer1993] or control-driven models [Arbab et al.
1993].