Information hiding or encapsulation is a protection mechanism which prevents users from directly accessing certain fields of an object. In many cases particularly in persistent systems, it may be desirable to provide varying degrees of encapsulation of an object. The paper presents the mechanisms for controlling the encapsulation of objects in the Mozzie programming language. Encapsulation is modelled using the language's structural subtyping mechanism and may be enforced by use of the language's capability mechanism. Capabilities allow for the dynamic control of encapsulation, including the ability to increase or decrease the amount of encapsulation enforced via a certain object reference.
['Michael Hollins', 'John Rosenberg', 'Michael Hitchens']
Subtyping and protection in persistent programming languages