Open Systems Laboratory at Illinois

A hierarchical model for coordination of concurrent activities

By Carlos A. Varela and Gul Agha. In COORDINATION, volume 1594 of Lecture Notes in Computer Science, 166–182. Springer, 1999.

Full Text:
Download PDF
Publisher Link:
http://dx.doi.org/10.1007/3-540-48919-3_13

Abstract

We describe a hierarchical model for coordination of concurrent activities based on grouping actors into casts and coordinating casts by actors that are designated directors. The hierarchical model provides a simple, intuitive basis for actor communication and coordination. Casts serve as abstraction units for naming, migration, synchronization and load balancing. Messengers are actors used to send messages with special behaviour across casts. Moreover, an implementation of the hierarchical model does not require a reflective run-time architecture. We present the operational semantics for our model and illustrate the model by two sample applications: an atomic multicast protocol and a messenger carrying remote exception-handling code. These applications have been implemented in Java, leveraging the existence of cross-platform, safe virtual machine implementations.

BibTeX

@inproceedings{conf/coordination/VarelaA99,
    author = "Varela, Carlos A. and Agha, Gul",
    editor = "Ciancarini, Paolo and Wolf, Alexander L.",
    title = "A Hierarchical Model for Coordination of Concurrent
             Activities",
    booktitle = "COORDINATION",
    crossref = "conf/coordination/1999",
    ee = "http://dx.doi.org/10.1007/3-540-48919-3_13",
    keywords = "multi-agent systems",
    pages = "166-182",
    year = "1999",
}

@proceedings{conf/coordination/1999,
    editor = "Ciancarini, Paolo and Wolf, Alexander L.",
    title = "Coordination Languages and Models, Third International
             Conference, COORDINATION '99, Amsterdam, The Netherlands,
             April 26-28, 1999, Proceedings",
    isbn = "3-540-65836-X",
    publisher = "Springer",
    series = "Lecture Notes in Computer Science",
    volume = "1594",
    year = "1999",
}