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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
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)
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)
Bracha, G., Cook, W.: Mixin-Based Inheritance. In: Proceedings of OOPSLA. ECOOP 1990, pp. 303–311. ACM press, New York (1990)
Cardelli, L.: Obliq: A language with distributed scope. Computing Systems 8(1), 27–59 (1995)
Chen, G., Odersky, M., Zenger, C., Zenger, M.: A functional view of join. Technical Report ACRC-99-016, University of South Australia (1999)
Flatt, M., Krishnamurthi, S., Felleisen, M.: Classes and mixins. In: Proceedings of POPL 1998, pp. 171–183. ACM Press, New York (1998)
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)
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)
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
Gordon, D.A., Hankin, P.D.: A concurrent object calculus: reduction and typing. In: Proceedings of HLCL 1998. ENTCS, vol. 16(3) (1998)
James Gosling, B.J., Steele, G.: The Java Language Specification. Addison Wesley Longman Inc., Reading (1996)
KoBayashi, N.: Type systems for concurrent programs. In: Proceedings of UNU/IIST 10th Anniversary Colloquium, Lisbon, Portugal (2002) (to appear)
Le Fessant, F.: The JoCaml system prototype. Software and documentation (1998), available from http://pauillac.inria.fr/jocaml
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
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)
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)
Rémy, D.: Extension of ML type system with a sorted equation theory on types. Rapport de recherche 1766, INRIA-Rocquencourt (1992)
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)
Vasconcelos, V.T.: Typed concurrent objects. In: Tokoro, M., Pareschi, R. (eds.) ECOOP 1994. LNCS, vol. 821, pp. 100–117. Springer, Heidelberg (1994)
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)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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