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.