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 = lambda-calculus + record." Based on an analogous view ``concurrent object-oriented programming = concurrent calculus + record," we aim to establish a foundation 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 various important mechanisms such as inheritance, method overriding and access control for methods within a simple framework.