In this paper we describe how object-oriented language design interacts with access control in extensible systems, based on our experience in building the SPIN extensible operating system. Several modern extensible systems, such as Java-enabled web browsers and SPIN, use object-oriented languages for extensibility. These systems allow extension programs written in their languages Java and Modula-3, respectively to be linked in at run time. This paper presents a case study of the object-oriented language design issues that we encountered in building SPIN. First, we describe how access control in SPIN is a ected by the language design choices made in Modula-3, and how we changed Modula-3 to satisfy our access control requirements. Second, we compare the access control mechanisms we chose in SPIN, which are mostly link-time, with those in Java, which are mostly compile-time.
Wilson C. Hsieh, Przemyslaw Pardyak, Marc E. Fiucz