Skip to main content

Coordination requirements expressed in types for active objects

  • Conference paper
  • First Online:
ECOOP'97 — Object-Oriented Programming (ECOOP 1997)

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

Included in the following conference series:

Abstract

An object's type is usually regarded as a contract between the object and each of its users. However, in concurrent (and sometimes also in sequential) systems it is more useful to regard a type as a contract between an object and the unity of all users: The users must be coordinated before sending messages to the object. Types in the proposed model express requirements on the coordination of users; objects must accept messages only in pre-specified orders. The model ensures statically that objects behave as specified by their types, and users are coordinated appropriately.

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

    Google Scholar 

  2. J. C. M. Baeten and W. P. Weijland. Process Algebra, volume 18 of Cambridge Tracts in Theoretical Computer Science. Cambridge University Press, 1990.

    Google Scholar 

  3. R. H. Campbell and A. N. Habermann. The specification of process synchronization by path expressions. In E. Gelenbe, editor, Proceedings of the International Symposium on Operating Systems, volume 16 of Lecture Notes in Computer Science, pages 89–102. Springer-Verlag, 1974.

    Google Scholar 

  4. Luca Cardelli and Peter Wegner. On understanding types, data abstraction, and polymorphism. ACM Computing Surveys, 17(4):471–522, 1985.

    Article  Google Scholar 

  5. Simon J. Gay. A sort inference algorithm for the polyadic π-calculus. In Conference Record of the 20th Symposium on Principles of Programming Languages, January 1993.

    Google Scholar 

  6. Matthew Hennessy. Algebraic Theory of Processes. The MIT Press, 1988.

    Google Scholar 

  7. Carl Hewitt. Viewing control structures as patterns of passing messages. Journal of Artificial Intelligence, 8(3), 1977.

    Google Scholar 

  8. C. A. R. Hoare. Communicating sequential processes. Communications of the ACM, 21(8):666–677, August 1978.

    Article  MATH  MathSciNet  Google Scholar 

  9. Kohei Honda and Mario Tokoro. An object calculus for asynchronous communication. In Pierre America, editor, Proceedings ECOOP'91, volume 512 of Lecture Notes in Computer Science, pages 141–162, Geneva, Switzerland, July 1991. Springer-Verlag.

    Google Scholar 

  10. Naoki Kobayashi and Akinori Yonezawa. Type-theoretic foundations for concurrent object-oriented programming. ACM SIGPLAN Notices, 29(10):31–45, October 1994. Proceedings OOPSLA'94.

    Article  Google Scholar 

  11. Barbara H. Liskov and Jeannette M. Wing. A behavioral notion of subtyping. ACM Transactions on Programming Languages and Systems, 16(6):1811–1841, November 1994.

    Article  Google Scholar 

  12. Satoshi Matsuoka and Akinori Yonezawa. Analysis of inheritance anomaly in object-oriented concurrent programming languages. In Gul Agha, Peter Wegner, and Akinori Yonezawa, editors, Research Directions in Concurrent Object-Oriented Programming. The MIT Press, 1993.

    Google Scholar 

  13. Bertrand Meyer. Systematic concurrent object-oriented programming. Communications of the ACM, 36(9):56–80, September 1993.

    Article  Google Scholar 

  14. Bertrand Meyer. Reusable Software: The Base Object-Oriented Component Libraries. Prentice-Hall, Englewood Cliffs, NJ, 1994.

    Google Scholar 

  15. R. Milner, J. Parrow, and D. Walker. A calculus of mobile processes (parts I and II). Information and Computation, 100:1–77, 1992.

    Article  MathSciNet  Google Scholar 

  16. Robin Milner. Communication and Concurrency. Prentice-Hall, New York, 1989.

    Google Scholar 

  17. Robin Milner. The polyadic π-calculus: A tutorial. Technical Report ECS-LFCS-91-180, Dept. of Comp. Sci., Edinburgh University, 1991.

    Google Scholar 

  18. Flemming Nielson and Hanne Riis Nielson. From CML to process algebras. In Proceedings CONCUR'93, volume 715 of Lecture Notes in Computer Science, pages 493–508. Springer-Verlag, 1993.

    Google Scholar 

  19. Oscar Nierstrasz. Regular types for active objects. ACM SIGPLAN Notices, 28(10):l–15, October 1993. Proceedings OOPSLA'93.

    Article  Google Scholar 

  20. Benjamin Pierce and Davide Sangiorgi. Typing and subtyping for mobile processes. In Proceedings LICS'93, 1993.

    Google Scholar 

  21. Franz Puntigam. Flexible types for a concurrent model. In Proceedings of the Workshop on Object-Oriented Programming and Models of Concurrency, Torino, June 1995.

    Google Scholar 

  22. Franz Puntigam. Type specifications with processes. In Proceedings FORTE'95. IFIP WG 6.1, October 1995.

    Google Scholar 

  23. Franz Puntigam. Types for active objects based on trace semantics. In Elie Najm et al., editor, Proceedings of the 1st IFIP Workshop on Formal Methods for Open Object-based Distributed Systems, Paris, France, March 1996. IFIP WG 6.1, Chapman & Hall.

    Google Scholar 

  24. Franz Puntigam. Coordination requirements expressed in types for active objects. Technical report, Institut für Computersprachen, Technische Universit ät Wien, Vienna, Austria, 1997. Electronically available under http://www.complang.tuwien.ac.at/franz/papers/ecoop97tr.ps.gz.

    Google Scholar 

  25. Franz Puntigam. Types that reflect changes of object usability. In Proceedings of the Joint Modular Languages Conference, volume 1204 of Lecture Notes in Computer Science, Linz, Austria, March 1997. Springer-Verlag.

    Google Scholar 

  26. Jan van den Bos, Rinus Plasmeijer, and Jan Stroet. Process communication based on input specifications. ACM Transactions on Programming Languages and Systems, 3(3):224–250, July 1981.

    Article  Google Scholar 

  27. Vasco T. Vasconcelos. Typed concurrent objects. In Proceedings ECOOP'94, volume 821 of Lecture Notes in Computer Science, pages 100–117. Springer-Verlag, 1994.

    Google Scholar 

  28. Vasco T. Vasconcelos and Kohei Honda. Principal typing schemes in a polyadic pi-calculus. In Proceedings CONCUR'93, July 1993.

    Google Scholar 

  29. Peter Wegner and Stanley B. Zdonik. Inheritance as an incremental modification mechanism or what like is and isn't like. In S. Gjessing and K. Nygaard, editors, Proceedings ECOOP'88, volume 322 of Lecture Notes in Computer Science, pages 55–77. Springer-Verlag, 1988.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Mehmet Akşit Satoshi Matsuoka

Rights and permissions

Reprints and permissions

Copyright information

© 1997 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Puntigam, F. (1997). Coordination requirements expressed in types for active objects. In: Akşit, M., Matsuoka, S. (eds) ECOOP'97 — Object-Oriented Programming. ECOOP 1997. Lecture Notes in Computer Science, vol 1241. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0053387

Download citation

  • DOI: https://doi.org/10.1007/BFb0053387

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-63089-0

  • Online ISBN: 978-3-540-69127-3

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics