Advertisement

Coordination requirements expressed in types for active objects

  • Franz Puntigam
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1241)

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.

Keywords

Type model concurrency active objects 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Gul Agha. Actors: A Model of Concurrent Computation in Distributed Systems. The MIT Press, 1986.Google Scholar
  2. 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. 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. 4.
    Luca Cardelli and Peter Wegner. On understanding types, data abstraction, and polymorphism. ACM Computing Surveys, 17(4):471–522, 1985.CrossRefGoogle Scholar
  5. 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. 6.
    Matthew Hennessy. Algebraic Theory of Processes. The MIT Press, 1988.Google Scholar
  7. 7.
    Carl Hewitt. Viewing control structures as patterns of passing messages. Journal of Artificial Intelligence, 8(3), 1977.Google Scholar
  8. 8.
    C. A. R. Hoare. Communicating sequential processes. Communications of the ACM, 21(8):666–677, August 1978.MATHMathSciNetCrossRefGoogle Scholar
  9. 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. 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.CrossRefGoogle Scholar
  11. 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.CrossRefGoogle Scholar
  12. 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. 13.
    Bertrand Meyer. Systematic concurrent object-oriented programming. Communications of the ACM, 36(9):56–80, September 1993.CrossRefGoogle Scholar
  14. 14.
    Bertrand Meyer. Reusable Software: The Base Object-Oriented Component Libraries. Prentice-Hall, Englewood Cliffs, NJ, 1994.Google Scholar
  15. 15.
    R. Milner, J. Parrow, and D. Walker. A calculus of mobile processes (parts I and II). Information and Computation, 100:1–77, 1992.MathSciNetCrossRefGoogle Scholar
  16. 16.
    Robin Milner. Communication and Concurrency. Prentice-Hall, New York, 1989.Google Scholar
  17. 17.
    Robin Milner. The polyadic π-calculus: A tutorial. Technical Report ECS-LFCS-91-180, Dept. of Comp. Sci., Edinburgh University, 1991.Google Scholar
  18. 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. 19.
    Oscar Nierstrasz. Regular types for active objects. ACM SIGPLAN Notices, 28(10):l–15, October 1993. Proceedings OOPSLA'93.CrossRefGoogle Scholar
  20. 20.
    Benjamin Pierce and Davide Sangiorgi. Typing and subtyping for mobile processes. In Proceedings LICS'93, 1993.Google Scholar
  21. 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. 22.
    Franz Puntigam. Type specifications with processes. In Proceedings FORTE'95. IFIP WG 6.1, October 1995.Google Scholar
  23. 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. 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. 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. 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.CrossRefGoogle Scholar
  27. 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. 28.
    Vasco T. Vasconcelos and Kohei Honda. Principal typing schemes in a polyadic pi-calculus. In Proceedings CONCUR'93, July 1993.Google Scholar
  29. 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

Copyright information

© Springer-Verlag Berlin Heidelberg 1997

Authors and Affiliations

  • Franz Puntigam
    • 1
  1. 1.Institut für ComputersprachenTechnische Universität WienViennaAustria

Personalised recommendations