Skip to main content

Concurrent objects in a process calculus

  • Invited Talk 4
  • Conference paper
  • First Online:
Book cover Theory and Practice of Parallel Programming (TPPP 1994)

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

Included in the following conference series:

Abstract

A programming style based on concurrent objects arises almost inevitably in languages where processes communicate by exchanging data on channels. Using the pict language as an experimental testbed, we introduce a simple object-based programming style and compare three techniques for controlling concurrency between methods in this setting: explicit locking, a standard choice operator, and a more refined replicated choice operator.

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

    Google Scholar 

  2. Gérard Boudol. Asynchrony and the π-calculus (note). Rapporte de Recherche 1702, INRIA Sofia-Antipolis, May 1992.

    Google Scholar 

  3. C. Hewitt. Viewing control structures as patterns of passing messages. Artificial Intelligence, 8:323–364, 1977. Influential description of a method for implementing distributed control structures: the ACTOR paradigm.

    Article  Google Scholar 

  4. Kohei Honda and Mario Tokoro. An object calculus for asynchronous communication. In Pierre America, editor, Proceedings of the European Conference on Object-Oriented Programming (ECOOP), volume 512 of Lecture Notes in Computer Science, Geneva CH, 1991. Springer-Verlag, Berlin, Heidelberg, New York, Tokyo.

    Google Scholar 

  5. Cliff B. Jones. A pi-calculus semantics for an object-based design notation. In E. Best, editor, Proceedings of CONCUR'93, LNCS 715, pages 158–172. Springer-Verlag, 1993.

    Google Scholar 

  6. Naoki Kobayashi and Aki Yonezawa. Towards foundations for concurrent object-oriented programming — Types and language design. Submitted for publication, 1994.

    Google Scholar 

  7. Robin Milner. Functions as processes. Research Report 1154, INRIA, Sofia Antipolis, 1990. Final version in Journal of Mathematical Structures in Computer Science 2(2):119–141, 1992.

    Google Scholar 

  8. Robin Milner. The polyadic π-calculus: a tutorial. Technical Report ECS-LFCS-91-180, Laboratory for Foundations of Computer Science, University of Edinburgh, October 1991. Proceedings of the International Summer School on Logic and Algebra of Specification, Marktoberdorf, August 1991.

    Google Scholar 

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

    Article  Google Scholar 

  10. Robin Milner and Mads Tofte. Commentary on Standard ML. The MIT Press, Cambridge, Massachusetts, 1991.

    Google Scholar 

  11. Robin Milner, Mads Tofte, and Robert Harper. The Definition of Standard ML. The MIT Press, 1990.

    Google Scholar 

  12. Oscar Nierstrasz. Towards an object calculus. In M. Tokoro, O. Nierstrasz, and P. Wegner, editors, Proceedings of the ECOOP '91 Workshop on Object-Based Concurrent Computing, Lecture Notes in Computer Science number 612, pages 1–20. Springer-Verlag, 1992.

    Google Scholar 

  13. Michael Papathomas. A unifying framework for process calculus semantics of concurrent object-oriented languages. In M. Tokoro, O. Nierstrasz, and P. Wegner, editors, Proceedings of the ECOOP '91 Workshop on Object-Based Concurrent Computing, LNCS 612, pages 53–79. Springer-Verlag, 1992.

    Google Scholar 

  14. Benjamin C. Pierce. Programming in the pi-calculus: An experiment in programming language design. Tutorial notes on the Pict language. Available electronically, 1994.

    Google Scholar 

  15. Benjamin C. Pierce and David N. Turner. Pict user manual. Available electronically, 1994.

    Google Scholar 

  16. Benjamin C. Pierce and David N. Turner. Simple type-theoretic foundations for object-oriented programming. Journal of Functional Programming, 4(2):207–247, April 1994. A preliminary version appeared in Principles of Programming Languages, 1993, and as University of Edinburgh technical report ECS-LFCS-92-225, under the title “Object-Oriented Programming Without Recursive Types”.

    Google Scholar 

  17. John Reppy. Synchronous operations as first-class values. In Programming Language Design and Implementation, pages 250–259. SIGPLAN, ACM, 1988.

    Google Scholar 

  18. John Reppy. CML: A higher-order concurrent language. In Programming Language Design and Implementation, pages 293–259. SIGPLAN, ACM, June 1991.

    Google Scholar 

  19. John Reppy. Higher-Order Concurrency. PhD thesis, Cornell University, June 1992. Technical Report TR 92-1285.

    Google Scholar 

  20. Davide Sangiorgi. Expressing Mobility in Process Algebras; First-Order and Higher-Order Paradigms. PhD thesis, Department of Computer Science, University of Edinburgh, 1992.

    Google Scholar 

  21. Gert Smolka. A Foundation for Concurrent Constraint Programming. In Constraints in Computational Logics, volume 845 of Lecture Notes in Computer Science, Munich, Germany, September 1994. Invited Talk.

    Google Scholar 

  22. Vasco T. Vasconcelos. Typed concurrent objects. In Proceedings of the Eighth European Conference on Object-Oriented Programming (ECOOP), volume 821 of Lecture Notes in Computer Science, pages 100–117. Springer-Verlag, July 1994.

    Google Scholar 

  23. Vasco T. Vasconcelos and Mario Tokoro. A Typing System for a Calculus of Objects. In First International Symposium on Object Technologies for Advanced Software, volume 742 of Lecture Notes in Computer Science, pages 460–474, November 1993.

    Google Scholar 

  24. David Walker. Algebraic proofs of properties of objects. In Proceedings of European Symposium on Programming. Springer-Verlag, 1994.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Takayasu Ito Akinori Yonezawa

Rights and permissions

Reprints and permissions

Copyright information

© 1995 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Pierce, B.C., Turner, D.N. (1995). Concurrent objects in a process calculus. In: Ito, T., Yonezawa, A. (eds) Theory and Practice of Parallel Programming. TPPP 1994. Lecture Notes in Computer Science, vol 907. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0026570

Download citation

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

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-59172-6

  • Online ISBN: 978-3-540-49218-4

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics