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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
G. Agha. Actors: A Model of Concurrent Computation in Distributed Systems. MIT Press, 1986.
G. Agha, M. Astley, J. Sheikh, and C. Varela. Modular heterogeneous system development: A critical analysis of java. In J. Antonio, editor, Proceedings of the Seventh Heterogeneous Computing Workshop (HCW’ 98), pages 144–155. IEEE Computer Society, March 1998. http://osl.cs.uiuc.edu/Papers/HCW98.ps.
G. Agha, S. Frølund, W. Kim, R. Panwar, A. Patterson, and D. Sturman. Abstraction and modularity mechanisms for concurrent computing. IEEE Parallel and Distributed Technology, May 1993.
G. Agha, S. Frølund, R. Panwar, and D. Sturman. A linguistic framework for dynamic composition of dependability protocols. In Dependable Computing for Critical Applications III, pages 345–363. International Federation of Information Processing Societies (IFIP), Elsevier Scienc Publisher, 1993.
G. Agha and N. Jamali, Concurrent programming for distributed artificial intelligence. In G. Weiss, editor, Multi-agent Systems:A Modern Approach to DAI. MIT Press, 1999. To appear.
G. Agha, I. A. Mason, S. F. Smith, and C. L. Talcott. A foundation for actor computation. Journal of Functional Programming, 7:1–72, 1997.
R. Allen and D. Garlan. Formalizing architectural connection. In International Conference on Software Enginnering, pages 71–80. IEEE Computer Society, 1994.
M. Astley and G. A. Agha. Customization and composition of distributed objects: Middleware abstractions for policy management. In Sixth International Symposium on the Foundations of Software Engineering (FSE-6, SIGSOFT’ 98), November 1998.
C. Callsen and G. Agha. Open Heterogeneous Computing in ActorSpace. Journal of Parallel and Distributed Computing, pages 289–300, 1994.
N. Carriero and D. Gelernter. How to Write Parallel Programs. MIT Press, 1990.
P. Ciancarini and C. Hankin, editors. First International Conference on Coordination Languages and Models (COORDINATION’ 96), number 1061 in LNCS, Berlin, 1996. Springer-Verlag.
R. Fagin, J. Halpern, Y. Moses, and M. Vardi. Reasoning about Knowledge. MIT Press, 1995.
J. Ferber and J. Briot. Design of a concurrent language for distributed artificial intelligence. In Proceedings of the International Conference on Fifth Generation Computer Systems, volume 2, pages 755–762. Institute for New Generation Computer Technology, 1988.
S. Frølund. Coordinating Distributed Objects: An Actor-Based Approach to Synchronization. MIT Press, 1996.
S. Frølund and G. Agha. A language framework for multi-object coordination. In Proceedings of ECOOP 1993. Springer Verlag, 1993. LNCS 707.
M. Fukuda, L. F. Bic, M. B. Dillencourt, and F. Merchant. Intra-and inter-object coordination with messengers. In Ciancarini and Hankin [11].
D. Garlan and D. Le Metayer, editors. Second International Conference on Coordination Languages and Models (COORDINATION’ 97), number 1282 in LNCS, Berlin, 1997. Springer-Verlag.
J. Gosling, B. Joy, and G. Steele. The Java Language Specification. Addison Wesley, 1996.
C. Hewitt. Viewing control structures as patterns of passing messages. Journal of Artificial Intelligence, 8–3:323–364, June 1977.
S. Jagannathan. Customization of first-class tuple spaces in a higher-order language. In E.H.L. Arts, J. van Leeuwen, and M. Rem, editors, PARLE’ 91, volume 2, number 506 in LNCS. Springer-Verlag, 1991.
S. Jagannathan. Communication-passing style for coordinated languages. In Garlan and Metayer [17], pages 131–149.
JavaSoft. Remote Method Invocation Specification, 1996. Work in progress. http://www.javasoft.com/products/jdk/rmi/.
JavaSoft. JavaSpaces, 1998. Work in progress. http://www.javasoft.com/products/javaspaces/.
G. Kiczales, J. des Riviéres, and D. G. Bobrow. The Art of the Metaobject Protocol. MIT Press, 1991.
T. Kielmann. Designing a coordination model for open systems. In Ciancarini and Hankin [11], pages 267–284.
W. Kim and G. Agha. Efficient Support of Location Transparency in Concurrent Object-Oriented Programming Languages. In Proceedings of Supercomputing’95, 1995.
W. A. Kornfeld and C. Hewitt. The scientific community metaphor. IEEE Transactions on Systems, Man, and Cybernetics, SMC-11(1), January 1981.
D. Lea. Concurrent Programming in Java: Design Principles and Patterns. Addison Wesley, 1997.
T. Lindholm and F. Yellin. The Java Virtual Machine Specification. Addison Wesley, 1997.
D. C. Luckham, J. J. Kenney, L. M. Augustin, J. Vera, D. Bryan, and W. Mann. Specification and analysis of system architecture using rapide. IEEE Transactions on Software Engineering, 21(4):336–355, 1995. Special Issue on Software Architecture.
S. Matsuoka and S. Kawai. Using tuple space communication in distributed object-oriented languages. In ACM Conference Proceedings, Object Oriented Programming Languages, Systems and Applications, pages 276–284, San Diego, CA, 1988.
S. Matsuoka, T. Watanabe, and A. Yonezawa. Hybrid group reective architecture for object-oriented concurrent reflective programming. In Proceedings of the European Conference on Object-Oriented Programming, number 512 in LNCS, pages 231–250, 1991.
Object Management Group. CORBA services: Common object services specification version 2. Technical report, Object Management Group, June 1997. http://www.omg.org/corba/.
Open Systems Lab. The Actor Foundry: A Java-based Actor Programming Environment. Work in Progress. http://osl.cs.uiuc.edu/foundry/.
R. Panwar and G. Agha. A methodology for programming scalable architectures. Journal of Parallel and Distributed Computing, 22(3):479–487, September 1994.
S. Ren, G. A. Agha, and M. Saito. A modular approach for programming distributed real-time systems. Journal of Parallel and Distributed Computing, 36:4–12, 1996.
H. A. Simon. The Sciences of the Artificial, chapter The Architecture of Complexity: Hierarchic Systems. MIT Press, 3rd edition, 1996.
D. C. Sturman and G. Agha. A protocol description language for customizing failure semantics. In Proceedings of the 13th Symposium on Reliable Distributed Systems. IEEE Computer Society Press, October 1994.
C. Tomlinson, P. Cannata, G. Meredith, and D. Woelk. The extensible services switch in carnot. IEEE Parallel and Distributed Technology, 1(2):16–20, May 1993.
C. Varela and G. Agha. What after Java? From Objects to Actors. Computer Networks and ISDN Systems: The International J. of Computer Telecommunications and Networking, 30:573–577, Apr 1998. http://osl.cs.uiuc.edu/Papers/www7/.
J. Waldo. JINI Architecture Overview, 1998. Work in progress. http://www.javasoft.com/products/jini/.
T. Watanabe and A. Yonezawa. An actor-based meta-level architecture for group-wide reection. In J. W. deBakker, W.P. deRoever, and G. Rozenberg, editors, Foundations of Object-Oriented Languages, number 489 in LNCS, pages 405–425. Springer-Verlag, 1990.
P. Wegner. Coordination as constrained interaction. In Ciancarini and Hankin [11], pages 28–33.
A. Yonezawa, editor. ABCL An Object-Oriented Concurrent System. MIT Press, Cambridge, Mass., 1990.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1999 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Varela, C., Agha, G. (1999). A Hierarchical Model for Coordination of Concurrent Activities. In: Ciancarini, P., Wolf, A.L. (eds) Coordinatio Languages and Models. COORDINATION 1999. Lecture Notes in Computer Science, vol 1594. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-48919-3_13
Download citation
DOI: https://doi.org/10.1007/3-540-48919-3_13
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-65836-8
Online ISBN: 978-3-540-48919-1
eBook Packages: Springer Book Archive