Extending Objects to Support Multiple Interfaces and Access Control
Abstract
Object-oriented languages hide the details of objects from their users; ail interaction with an object must be through the operations it supports. Objects must therefore support a collection of operations sufficient to satisfy all users. The requirements of different users can differ widely. It is therefore desirable to provide restricted subsets of the supported operations to specific users or kinds of users, rather than make all supported operations universally available. This paper describes a mechanism called views that allows programmers to specify multiple interfaces for objects, and to control explicitly access to each interface. This mechanism provides a simple and flexible means of specifying enforceable access restrictions at many levels of granularity. It also results in system organization that supports browsing based on a number of different criteria. The paper motivates and defines views, gives some examples of uses of views, discusses the impact of views on system organization, and outlines five approaches to implementing views. © 1990 IEEE