ABSTRACT
A number of attempts have been made to obtain type systems for object-oriented programming. The view that lies common is “object-oriented programming = λ-calculus + record.” Based on an analogous view “concurrent object-oriented programming = concurrent calculus + record,” we develop a static type system for concurrent object-oriented programming. We choose our own Higher-Order ACL as a basic concurrent calculus, and show that a concurrent object-oriented language can be easily encoded in the Higher-Order ACL extended with record operations. Since Higher-Order ACL has a strong type system with a polymorphic type inference mechanism, programs of the concurrent object-oriented language can be automatically type-checked by the encoding in Higher-Order ACL. Our approach can give clear accounts for complex mechanisms such as inheritance and method overriding within a simple framework.
- 1.Agha, G., Actors: A Model o/ Concurrent Computation in Distributed Systems. MIT Press, 1986. Google ScholarDigital Library
- 2.Andreoli, J.-M., and R. Pareschi, "Linear Objects: Logical processes with built-in inheritance," New Generation Computing, vol. 9, pp. 445-473, 1991.Google Scholar
- 3.Andreoli, J.-M., and R. Pareschi, "Communication as Fair Distribution of Knowledge," in Proceedings o/OOPSLA '91, pp. 212-229, 1991. Google ScholarDigital Library
- 4.Bruce, K. B., "Safe Type Checking in a Statically- Typed Object-Oriented Programming Language," in Proceedings of POPL, pp. 285-298, 1993. Google ScholarDigital Library
- 5.Girard, J.-Y., "Linear Logic," Theoretical Computer Science, vol. 50, pp. 1-102, 1987. Google ScholarDigital Library
- 6.Kahn, K., E. D. Tribble, and M. S. Miller, "Vulcan: Logical Concurrent Objects," in Concurrent Prolog: Collected Papers (E. Y. Shapiro, ed.), vol. 2, ch. 30, pp. 274-303, 1987. Google ScholarDigital Library
- 7.Kobayashi, N., and A. Yonezawa, "Asynchronous Communication Model Based on Linear Logic." to appear in Journal of Formal Aspects of Computing, Springer-Verlag.Google Scholar
- 8.Kobayashi, N., and A. Yonezawa, "ACL- A Concurrent Linear Logic Programming Paradigm," in Logic Programming: Proceedings of the 1993 International Symposium, pp. 279-294, MIT Press, 1993. Google ScholarDigital Library
- 9.Kobayashi, N., and A. Yonezawa, "Typed Higher- Order Concurrent Linear Logic Programming," Tech. Rep. 94-12, Department of Information Science, University of Tokyo, 1994. to be presented at Theory and Practice of Parallel Programming (TPPP'94), Sendai, Japan. Google ScholarDigital Library
- 10.Ohori, A., "A Compilation Method for ML-Style Polymorphic Record Calculi," in Proceedings of POPL, pp. 154-165, 1992. Google ScholarDigital Library
- 11.Pierce, B., and D. Sangiorgi, "Typing and Subtyping for Mobile Processes," in Proceedings of LICS, pp. 376-385, 1993.Google Scholar
- 12.Pierce, B. C., "Programming in the Pi-Calculus: An Experiment in Programming Language Design." Lecture notes for a course at the LFCS, University of Edinburgh., 1993.Google Scholar
- 13.Pierce, B. C., "Simple Type-Theoretic Foundations For Object-Oriented Programming," Journal of Functional Programming, 1993.Google Scholar
- 14.Taura, K., S. Matsuoka, and A. Yonezawa, "An Efficient Implementation Scheme of Concurrent Object-Oriented Language on Stock Multicomputers," in Proceedings of PPOPP, 1993. Google ScholarDigital Library
- 15.Vasconcelos, V. T., "Typed Concurrent Objects," in Proceedings of ECOOP'94, vol. 821 of LNCS, pp. 100-117, Springer Verlag, 1994. Google ScholarDigital Library
- 16.Vasconcelos, V. T., and K. Honda, "Principal typing schemes in a polyadic r-calculus," in Proceedings of CONCUR'93, Lecture Notes in Computer Science, pp. 524-538, Springer Verlag, 1993. Google ScholarDigital Library
- 17.Vasconcelos, V. T., and M. Tokoro, "A Typing System for ~ Calculus of Objects," in Proceedings of the International Symposium on Object Technologies for Advanced Software, vol. 742 of LNCS, pp. 460-474, Springer Verlag, 1993. Google ScholarDigital Library
- 18.Yonezawa, A., ABCL: An Object-Oriented Concurrent System. MIT Press, 1990. Google ScholarDigital Library
- 19.Yonezawa, A., S. Matsuoka, M. Yasugi, and K. Taura, "Implementing Concurrent Object- Oriented Languages on Multicomputers," IEEE Parallel ~ Distributed Technology, vol. 1, pp. 49- 61, 1993. Google ScholarDigital Library
Index Terms
- Type-theoretic foundations for concurrent object-oriented programing
Recommendations
Type-theoretic foundations for concurrent object-oriented programing
A number of attempts have been made to obtain type systems for object-oriented programming. The view that lies common is “object-oriented programming = λ-calculus + record.” Based on an analogous view “concurrent object-oriented programming = concurrent ...
Concurrent object-oriented programming in Classic-Ada
Although Ada supports concurrency and can thus be used as a concurrent programming language, it is not generally considered to be an object-oriented programming language. Classic-Ada is a preprocessor which adds the concepts of classes, inheritance, and ...
A Domain-Theoretic Model Of Nominally-Typed Object-Oriented Programming
The majority of contemporary mainstream object-oriented (OO) software is written using nominally-typed OO programming languages. Extant domain-theoretic models of OOP developed to analyze OO type systems miss crucial features of these mainstream OO ...
Comments