Skip to main content

A Hierarchical Model for Coordination of Concurrent Activities

  • Conference paper
  • First Online:
Coordinatio Languages and Models (COORDINATION 1999)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1594))

Included in the following conference series:

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. G. Agha. Actors: A Model of Concurrent Computation in Distributed Systems. MIT Press, 1986.

    Google Scholar 

  2. 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.

  3. 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.

    Google Scholar 

  4. 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.

    Google Scholar 

  5. 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.

    Google Scholar 

  6. 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.

    Article  MATH  MathSciNet  Google Scholar 

  7. R. Allen and D. Garlan. Formalizing architectural connection. In International Conference on Software Enginnering, pages 71–80. IEEE Computer Society, 1994.

    Google Scholar 

  8. 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.

    Google Scholar 

  9. C. Callsen and G. Agha. Open Heterogeneous Computing in ActorSpace. Journal of Parallel and Distributed Computing, pages 289–300, 1994.

    Google Scholar 

  10. N. Carriero and D. Gelernter. How to Write Parallel Programs. MIT Press, 1990.

    Google Scholar 

  11. P. Ciancarini and C. Hankin, editors. First International Conference on Coordination Languages and Models (COORDINATION’ 96), number 1061 in LNCS, Berlin, 1996. Springer-Verlag.

    Google Scholar 

  12. R. Fagin, J. Halpern, Y. Moses, and M. Vardi. Reasoning about Knowledge. MIT Press, 1995.

    Google Scholar 

  13. 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.

    Google Scholar 

  14. S. Frølund. Coordinating Distributed Objects: An Actor-Based Approach to Synchronization. MIT Press, 1996.

    Google Scholar 

  15. S. Frølund and G. Agha. A language framework for multi-object coordination. In Proceedings of ECOOP 1993. Springer Verlag, 1993. LNCS 707.

    Google Scholar 

  16. M. Fukuda, L. F. Bic, M. B. Dillencourt, and F. Merchant. Intra-and inter-object coordination with messengers. In Ciancarini and Hankin [11].

    Google Scholar 

  17. 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.

    Google Scholar 

  18. J. Gosling, B. Joy, and G. Steele. The Java Language Specification. Addison Wesley, 1996.

    Google Scholar 

  19. C. Hewitt. Viewing control structures as patterns of passing messages. Journal of Artificial Intelligence, 8–3:323–364, June 1977.

    Article  Google Scholar 

  20. 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.

    Google Scholar 

  21. S. Jagannathan. Communication-passing style for coordinated languages. In Garlan and Metayer [17], pages 131–149.

    Google Scholar 

  22. JavaSoft. Remote Method Invocation Specification, 1996. Work in progress. http://www.javasoft.com/products/jdk/rmi/.

  23. JavaSoft. JavaSpaces, 1998. Work in progress. http://www.javasoft.com/products/javaspaces/.

  24. G. Kiczales, J. des Riviéres, and D. G. Bobrow. The Art of the Metaobject Protocol. MIT Press, 1991.

    Google Scholar 

  25. T. Kielmann. Designing a coordination model for open systems. In Ciancarini and Hankin [11], pages 267–284.

    Google Scholar 

  26. W. Kim and G. Agha. Efficient Support of Location Transparency in Concurrent Object-Oriented Programming Languages. In Proceedings of Supercomputing’95, 1995.

    Google Scholar 

  27. W. A. Kornfeld and C. Hewitt. The scientific community metaphor. IEEE Transactions on Systems, Man, and Cybernetics, SMC-11(1), January 1981.

    Google Scholar 

  28. D. Lea. Concurrent Programming in Java: Design Principles and Patterns. Addison Wesley, 1997.

    Google Scholar 

  29. T. Lindholm and F. Yellin. The Java Virtual Machine Specification. Addison Wesley, 1997.

    Google Scholar 

  30. 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.

    Article  Google Scholar 

  31. 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.

    Google Scholar 

  32. 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.

    Chapter  Google Scholar 

  33. Object Management Group. CORBA services: Common object services specification version 2. Technical report, Object Management Group, June 1997. http://www.omg.org/corba/.

  34. Open Systems Lab. The Actor Foundry: A Java-based Actor Programming Environment. Work in Progress. http://osl.cs.uiuc.edu/foundry/.

  35. R. Panwar and G. Agha. A methodology for programming scalable architectures. Journal of Parallel and Distributed Computing, 22(3):479–487, September 1994.

    Article  Google Scholar 

  36. 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.

    Article  Google Scholar 

  37. H. A. Simon. The Sciences of the Artificial, chapter The Architecture of Complexity: Hierarchic Systems. MIT Press, 3rd edition, 1996.

    Google Scholar 

  38. 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.

    Google Scholar 

  39. 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.

    Article  Google Scholar 

  40. 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/.

    Google Scholar 

  41. J. Waldo. JINI Architecture Overview, 1998. Work in progress. http://www.javasoft.com/products/jini/.

  42. 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.

    Chapter  Google Scholar 

  43. P. Wegner. Coordination as constrained interaction. In Ciancarini and Hankin [11], pages 28–33.

    Google Scholar 

  44. A. Yonezawa, editor. ABCL An Object-Oriented Concurrent System. MIT Press, Cambridge, Mass., 1990.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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

Publish with us

Policies and ethics