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.
Preview
Unable to display preview. Download preview PDF.
References
Gul Agha. Actors: A Model of Concurrent Computation in Distributed Systems. The MIT Press, 1986.
J. C. M. Baeten and W. P. Weijland. Process Algebra, volume 18 of Cambridge Tracts in Theoretical Computer Science. Cambridge University Press, 1990.
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.
Luca Cardelli and Peter Wegner. On understanding types, data abstraction, and polymorphism. ACM Computing Surveys, 17(4):471–522, 1985.
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.
Matthew Hennessy. Algebraic Theory of Processes. The MIT Press, 1988.
Carl Hewitt. Viewing control structures as patterns of passing messages. Journal of Artificial Intelligence, 8(3), 1977.
C. A. R. Hoare. Communicating sequential processes. Communications of the ACM, 21(8):666–677, August 1978.
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.
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.
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.
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.
Bertrand Meyer. Systematic concurrent object-oriented programming. Communications of the ACM, 36(9):56–80, September 1993.
Bertrand Meyer. Reusable Software: The Base Object-Oriented Component Libraries. Prentice-Hall, Englewood Cliffs, NJ, 1994.
R. Milner, J. Parrow, and D. Walker. A calculus of mobile processes (parts I and II). Information and Computation, 100:1–77, 1992.
Robin Milner. Communication and Concurrency. Prentice-Hall, New York, 1989.
Robin Milner. The polyadic π-calculus: A tutorial. Technical Report ECS-LFCS-91-180, Dept. of Comp. Sci., Edinburgh University, 1991.
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.
Oscar Nierstrasz. Regular types for active objects. ACM SIGPLAN Notices, 28(10):l–15, October 1993. Proceedings OOPSLA'93.
Benjamin Pierce and Davide Sangiorgi. Typing and subtyping for mobile processes. In Proceedings LICS'93, 1993.
Franz Puntigam. Flexible types for a concurrent model. In Proceedings of the Workshop on Object-Oriented Programming and Models of Concurrency, Torino, June 1995.
Franz Puntigam. Type specifications with processes. In Proceedings FORTE'95. IFIP WG 6.1, October 1995.
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.
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.
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.
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.
Vasco T. Vasconcelos. Typed concurrent objects. In Proceedings ECOOP'94, volume 821 of Lecture Notes in Computer Science, pages 100–117. Springer-Verlag, 1994.
Vasco T. Vasconcelos and Kohei Honda. Principal typing schemes in a polyadic pi-calculus. In Proceedings CONCUR'93, July 1993.
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.
Author information
Authors and Affiliations
Editor information
Rights 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