Skip to main content

Expressive Synchronization Types for Inheritance in the Join Calculus

  • Conference paper
Programming Languages and Systems (APLAS 2003)

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

Included in the following conference series:

Abstract

In prior work, Fournet et al. proposed an extension of the join calculus with class-based inheritance, aiming to provide a precise semantics for concurrent objects. However, as we show here, their system suffers from several limitations, which make it inadequate to form the basis of a practical implementation.

In this paper, we redesign the static semantics for inheritance in the join calculus, equipping class types with more precise information. Compared to previous work, the new type system is more powerful, more expressive and simpler. Additionally, one runtime check of the old system is suppressed in the new design. We also prove the soundness of the new system, and have implemented type inference.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Benton, N., Cardelli, L., Fournet, C.: Modern concurrency abstractions for C\({}^{\sharp}\). In: Magnusson, B. (ed.) ECOOP 2002. LNCS, vol. 2374, pp. 415–440. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  2. Blasio, P.D., Fisher, K.: A calculus for concurrent objects. In: Sassone, V., Montanari, U. (eds.) CONCUR 1996. LNCS, vol. 1119, pp. 655–670. Springer, Heidelberg (1996)

    Google Scholar 

  3. Bracha, G., Cook, W.: Mixin-Based Inheritance. In: Proceedings of OOPSLA. ECOOP 1990, pp. 303–311. ACM press, New York (1990)

    Google Scholar 

  4. Cardelli, L.: Obliq: A language with distributed scope. Computing Systems 8(1), 27–59 (1995)

    Google Scholar 

  5. Chen, G., Odersky, M., Zenger, C., Zenger, M.: A functional view of join. Technical Report ACRC-99-016, University of South Australia (1999)

    Google Scholar 

  6. Flatt, M., Krishnamurthi, S., Felleisen, M.: Classes and mixins. In: Proceedings of POPL 1998, pp. 171–183. ACM Press, New York (1998)

    Chapter  Google Scholar 

  7. Fournet, C., Gonthier, G.: The reflexive chemical abstract machine and the join-calculus. In: Proceedings of POPL 1996, pp. 372–385. ACM Press, New York (1996)

    Chapter  Google Scholar 

  8. Fournet, C., Laneve, C., Maranget, L., Rémy, D.: Implicit typing à la ML for the join-calculus. In: Mazurkiewicz, A., Winkowski, J. (eds.) CONCUR 1997. LNCS, vol. 1243, pp. 196–212. Springer, Heidelberg (1997)

    Google Scholar 

  9. Fournet, C., Maranget, L., Laneve, C., Rémy, D.: Inheritance in the join calculus. Journal of Logic and Algebraic Programming (to appear), http://pauillac.inria.fr/~maranget/papers/ojoin.ps.gz

  10. Gordon, D.A., Hankin, P.D.: A concurrent object calculus: reduction and typing. In: Proceedings of HLCL 1998. ENTCS, vol. 16(3) (1998)

    Google Scholar 

  11. James Gosling, B.J., Steele, G.: The Java Language Specification. Addison Wesley Longman Inc., Reading (1996)

    MATH  Google Scholar 

  12. KoBayashi, N.: Type systems for concurrent programs. In: Proceedings of UNU/IIST 10th Anniversary Colloquium, Lisbon, Portugal (2002) (to appear)

    Google Scholar 

  13. Le Fessant, F.: The JoCaml system prototype. Software and documentation (1998), available from http://pauillac.inria.fr/jocaml

  14. Ma, Q., Maranget, L.: Expressive synchronization types for inheritance in the join calculus. Rapport de recherche 4889, INRIA-Rocquencourt (2003), http://pauillac.inria.fr/~ma/papers/oojoin-tr.ps

  15. Matsuoka, S., Yonezawa, A.: Analysis of inheritance anomaly in object-oriented concurrent programming languages. In: Agha, G., Wegner, P., Yonezawa, A. (eds.) Research Directions in Concurrent Object-Oriented Programming, ch. 4, pp. 107–150. The MIT Press, Cambridge (1993)

    Google Scholar 

  16. Nierstrasz, O.: Towards an object calculus. In: Tokoro, M., Wegner, P., Nierstrasz, O. (eds.) ECOOP-WS 1991. LNCS, vol. 612, pp. 1–20. Springer, Heidelberg (1992)

    Google Scholar 

  17. Rémy, D.: Extension of ML type system with a sorted equation theory on types. Rapport de recherche 1766, INRIA-Rocquencourt (1992)

    Google Scholar 

  18. Rémy, D., Vouillon, J.: Objective ML: An effective object-oriented extension to ML. Theory And Practice of Object Systems 4(1), 27–50 (1998)

    Article  Google Scholar 

  19. Vasconcelos, V.T.: Typed concurrent objects. In: Tokoro, M., Pareschi, R. (eds.) ECOOP 1994. LNCS, vol. 821, pp. 100–117. Springer, Heidelberg (1994)

    Chapter  Google Scholar 

  20. Yonezawa, A., Briot, J.-P., Shibayama, E.: Object-oriented concurrent programming in ABCL/1. In: Proceedings of OOPSLA 1986. ACM SIGPLAN Notices, vol. 21(11), pp. 258–268 (1986)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2003 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Ma, Q., Maranget, L. (2003). Expressive Synchronization Types for Inheritance in the Join Calculus. In: Ohori, A. (eds) Programming Languages and Systems. APLAS 2003. Lecture Notes in Computer Science, vol 2895. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-40018-9_3

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-40018-9_3

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-20536-4

  • Online ISBN: 978-3-540-40018-9

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics