Skip to main content

Abstracting interactions based on message sets

  • Conference paper
  • First Online:
Object-Based Models and Languages for Concurrent Systems (ECOOP 1994)

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

Included in the following conference series:

Abstract

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.

The reported work was carried out while the first author was affiliated with the University of Illinois.

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

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 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. 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. 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. 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. G. Agha. Actors: A Model of Concurrent Computation in Distributed Systems. MIT Press, 1986.

    Google Scholar 

  6. G. Agha. Concurrent Object-Oriented Programming. Communications of the ACM, 33(9):125–141, September 1990.

    Google Scholar 

  7. 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. 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. 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. 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. N. Carriero, D. Gelernter, and J. Leichter. Distributed Data Structures in Linda. In POPL '86 Proceedings. ACM, 1986.

    Google Scholar 

  12. A. Charlesworth. The Multiway Rendezvous. ACM Transactions on Programming Languages and Systems, 9(2), July 1987.

    Google Scholar 

  13. 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. E. W. Dijkstra. Guarded Commands, Nondeterminacy and Formal Derivation of Programs. Communications of the ACM, 18(8), August 1975.

    Google Scholar 

  15. 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. 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. 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. 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. S. Gregory. Parallel Logic Programming in PARLOG. Addison-Wesley, first edition, 1987.

    Google Scholar 

  20. 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. 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. C. A. R. Hoare. Communicating Sequential Processes. Communications of the ACM, 21(8):666–677, August 1978.

    Article  Google Scholar 

  23. 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. Y. Joung and S. A. Smolka, Coordinating First-Order Multiparty Interactions. In POPL '91 Proceedings. ACM, 1991.

    Google Scholar 

  25. 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. 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. 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. 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. J. H. Reppy. Higher-Order Concurrency. PhD thesis, Cornell University, June 1992. Published as Technical Report 92-1285.

    Google Scholar 

  30. 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. 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. 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. A. Yonezawa, editor. ABCL An Object-Oriented Concurrent System. MIT Press, Cambridge, Mass., 1990.

    Google Scholar 

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

Download references

Author information

Authors and Affiliations

Authors

Editor information

Paolo Ciancarini Oscar Nierstrasz Akinori Yonezawa

Rights and permissions

Reprints and permissions

Copyright information

© 1995 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Frølund, S., Agha, G. (1995). Abstracting interactions based on message sets. In: Ciancarini, P., Nierstrasz, O., Yonezawa, A. (eds) Object-Based Models and Languages for Concurrent Systems. ECOOP 1994. Lecture Notes in Computer Science, vol 924. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-59450-7_7

Download citation

  • DOI: https://doi.org/10.1007/3-540-59450-7_7

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-59450-5

  • Online ISBN: 978-3-540-49269-6

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics