Information Hiding, Inheritance and Concurrency
Abstract
We aim to provide information hiding support in concurrent object-oriented programming languages. We study the issue of information hiding at the object level and class level, in the context of an object-oriented extension of the Join calculus a process calculus in the tradition of the Pi-calculus. At the object level, we improve a privacy mechanism proposed in prior work by defining a simpler chemical semantics for privacy control. At the class level, we propose a hiding mechanism by designing a new operation on classes. We define its formal semantics in terms of alpha-converting hidden names to fresh names, and its typing in terms of eliminating hidden names from class types. We study the standard soundness property of the type system, as well as specific properties concerning hiding. Some, if not most, of our choices in designing our system are motivated by implementation. As an evidence of practical significance, we implement our model in a prototyping system. From that experience we draw guidelines for a full-scale implementation.