Abstracting interactions based on message sets

  • Svend Frølund
  • Gul Agha
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 924)


An important requirement of programming languages for distributed systems is to provide abstractions for coordination. A common type of coordination requires reactivity in response to arbitrary communication patterns. We have developed a communication model in which concurrent objects can be activated by sets of messages. Specifically, our model allows direct and abstract expression of common interaction patterns found in concurrent systems. For example, the model captures multiple clients that collectively invoke shared servers as a single activation. Furthermore, it supports definition of individual clients that concurrently invoke multiple servers and wait for subsets of the returned reply messages. Message sets are dynamically defined using conjunctive and disjunctive combinators that may depend on the patterns of messages. The model subsumes existing models for multi-RPC and multi-party synchronization within a single, uniform activation framework.


Authentication Server Reply Message Tuple Space Graphic Device Input Message 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [AB83]
    S. Abramsky and R. Bornat. Pascal-M: A Language for Loosely Coupled Distributed Systems. In Y. Parker and J.-P. Verjus, editors, Distributed Computing Systems, pages 163–189. Academic Press, 1983.Google Scholar
  2. [ABG+92]
    J. S. Auerbach, D. F. Bacon, A. P. Goldberg, G. S. Goldszmidt, A. S. Gopal, M. T. Kennedy, A. R. Lowry, J. R. Russell, W. Silverman, R. E. Strom, D. M. Yellin, and S. A. Yemini. High-Level Language Support for Programming Distributed Systems. In In Proceedings of the 1992 International Conference on Computer Languages. IEEE, April 1992.Google Scholar
  3. [AFL90]
    P. C. Attie, I. R. Forman, and E. Levy. On Fairness as an Abstraction for the Design of Distributed Systems. In Tenth International Conference on Distributed Computing Systems. IEEE, 1990.Google Scholar
  4. [AFPS93]
    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. International Federation of Information Processing Societies (IFIP), Elsevier Scienc Publisher, 1993.Google Scholar
  5. [Agh86]
    G. Agha. Actors: A Model of Concurrent Computation in Distributed Systems. MIT Press, 1986.Google Scholar
  6. [Agh90]
    G. Agha. Concurrent Object-Oriented Programming. Communications of the ACM, 33(9):125–141, September 1990.Google Scholar
  7. [AP90]
    Jean-Marc Andreoli and Remo Pareschi. LO and Behold! Concurrent Structured Processes. In Proceedings OOPSLA/ECOOP '90, pages 44–56, October 1990. Published as ACM SIGPLAN Notices, volume 25, number 10.Google Scholar
  8. [AWB+93]
    M. Aksit, K. Wakita, J. Bosch, L. Bergmans, and A. Yonezawa. Abstracting Object Interactions Using Composition Filters. In ECOOP 1993, Lecture Notes in Computer Science. Springer Verlag, 1993. LNCS 791.Google Scholar
  9. [BBP86]
    J. P. Banatre, M. Banatre, and F. Ployette. The Concept of Multi-Function: A General Structuring Tool for Distributed Operating Systems. In Sixth International Conference on Distributed Computing Systems. IEEE, 1986.Google Scholar
  10. [BKS88]
    R. J. R. Back and R. Kurki-Suonio. Distributed Cooperation with Action Systems. ACM Transactions on Programming Languages and Systems, 10(4), 1988.Google Scholar
  11. [CGL86]
    N. Carriero, D. Gelernter, and J. Leichter. Distributed Data Structures in Linda. In POPL '86 Proceedings. ACM, 1986.Google Scholar
  12. [Cha87]
    A. Charlesworth. The Multiway Rendezvous. ACM Transactions on Programming Languages and Systems, 9(2), July 1987.Google Scholar
  13. [Coo90]
    E. Cooper. Programming Language Support for Multicast Communication in Distributed Systems. In Proceedings of the Tenth International Conference on Distributed Computing Systems.IEEE, 1990.Google Scholar
  14. [Dij75]
    E. W. Dijkstra. Guarded Commands, Nondeterminacy and Formal Derivation of Programs. Communications of the ACM, 18(8), August 1975.Google Scholar
  15. [DJRI78]
    R. E. Stearns, D. J. Rosenkrantz and P. M. Lewis II, System Level Concurrency Control for Distributed Database Systems. ACM Transactions on Database Systems, 3(2):178–198, June 1978.Google Scholar
  16. [EFK89]
    M. Evangelist, N. Francez, and S. Katz. Multiparty Interactions for Interprocess Communication and Synchronization. IEEE Transactions on Software Engineering, 15(11), 1989.Google Scholar
  17. [ESFG88]
    M. Evangelist, V. Y. Shen, I. R. Forman, and M. Graf. Using Raddle to Design Distributed Systems. In Proceedings of the Tenth International Conference on Software Engineering, Singapore. IEEE, 1988.Google Scholar
  18. [FHT86]
    N. Francez, B. Hailpern, and G. Taubenfeld. Script: A Communication Abstraction Mechanism and its Verification. Science of Computer Programming, 6:35–88, 1986.Google Scholar
  19. [Gre87]
    S. Gregory. Parallel Logic Programming in PARLOG. Addison-Wesley, first edition, 1987.Google Scholar
  20. [HA88]
    C. Hewitt and G. Agha. Guarded Horn Clause Languages: Are they Deductive and Logical. In Proceedings of Fifth Generation Computer Systems Conference, Dec. 1988.Google Scholar
  21. [Hal90]
    R. H. Halstead. New Ideas in Parallel Lisp: Language Design, Implementation, and Programming Tools. In Parallel Lisp: Languages and Systems. Springer-Verlag, 1990. LNCS 441.Google Scholar
  22. [Hoa78]
    C. A. R. Hoare. Communicating Sequential Processes. Communications of the ACM, 21(8):666–677, August 1978.CrossRefGoogle Scholar
  23. [Jag91]
    S. Jagannathan. Customization of First-Class Tuple-Spaces in a Higher-Order Language. In E. H. L. Aarts and J. van Leeuwen, editors, Proceedings of PARLE '91 Parallel Architectures and Languages Europe. Springer Verlag, June 1991. LNCS 506.Google Scholar
  24. [JS91]
    Y. Joung and S. A. Smolka, Coordinating First-Order Multiparty Interactions. In POPL '91 Proceedings. ACM, 1991.Google Scholar
  25. [KS90]
    Kenneth M. Kahn and Vijay A. Saraswat. Actors as a Special Case of Concurrent Constraint Programming. In Proceedings OOPSLA/ECOOP '90, pages 57–65, October 1990. Published as ACM SIGPLAN Notices, volume 25, number 10.Google Scholar
  26. [LS88]
    B. Liskov and L. Shrira. Promises: Linguistic Support for Efficient Asynchronous Procedure Calls in Distributed Systems. In Proceedings of the SIGPLAN '88 Conference on Programming Language Design and Implementation, June 1988.Google Scholar
  27. [MK88]
    Satoshi Matsuoka and Satoru Kawai. Using Tuple Space Communication in Distributed Object-Oriented Languages. In Proceedings OOPSLA '88, pages 276–284, November 1988. Published as ACM SIGPLAN Notices, volume 23, number 11.Google Scholar
  28. [MSK86]
    D. May, R. Shepherd, and C. Keane. Communicating Process Architecture: Transputer and Occam. In P. Treleaven and M. Vanneschi, editors, Future Parallel Architecture, pages 35–81. Springer-Verlag, 1986. LNCS 272.Google Scholar
  29. [Rep92]
    J. H. Reppy. Higher-Order Concurrency. PhD thesis, Cornell University, June 1992. Published as Technical Report 92-1285.Google Scholar
  30. [SKL80]
    V. Saraswat, K. Kahn, and J. Levy. JANUS: A Step Towards Distributed Constraint Programming. Technical Report SSL-90-51, Xerox Palo Alto Reseach Center (PARC), 1980.Google Scholar
  31. [WY88]
    Takuo Watanabe and Akinori Yonezawa. Reflection in an Object-Oriented Concurrent Language. In Proceedings OOPSLA '88, pages 306–315, November 1988. Published as ACM SIGPLAN Notices, volume 23, number 11.Google Scholar
  32. [YBS86]
    Akinori Yonezawa, Jean-Pierre Briot, and Etsuya Shibayama. Object-Oriented Concurrent Programming in ABCL/1. In Proceedings OOPSLA '86, pages 258–268, November 1986. Published as ACM SIGPLAN Notices, volume 21, number 11.Google Scholar
  33. [Yon90]
    A. Yonezawa, editor. ABCL An Object-Oriented Concurrent System. MIT Press, Cambridge, Mass., 1990.Google Scholar
  34. [YT86]
    Yasuhiko Yokote and Mario Tokoro. The Design and Implementation of ConcurrentSmalltalk. In Proceedings OOPSLA '86, pages 331–340, November 1986. Published as ACM SIGPLAN Notices, volume 21, number 11.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1995

Authors and Affiliations

  • Svend Frølund
    • 1
  • Gul Agha
    • 2
  1. 1.Hewlett-Packard LaboratoriesPalo Alto
  2. 2.University of IllinoisUrbana

Personalised recommendations