A Language Extension for Expressing Constraints on Data Access Controlled sharing of information is needed and desirable for many applications and is supported in operating systems by access control mechanisms. This paper shows how to extend programming languages to provide controlled sharing. The extension permits expression of access constraints on shared data. Access constraints can apply both to simple objects, and to objects that are components of larger objects, such as bank account records in a bank's data base. The constraints are stated declaratively, and can be enforced by static checking similar to type checking. The approach can be used to extend any strongly-typed language, but is particularly suitable for extending languages that support the notion of abstract data types. CACM May, 1978 Jones, A. Liskov,B. Programming languages, access control, data types, abstract data types, type checking, capabilities 4.20 4.35 CA780502 DH February 26, 1979 3:19 PM 1458 4 3105 1523 4 3105 1603 4 3105 1698 4 3105 1747 4 3105 1748 4 3105 1854 4 3105 1877 4 3105 1960 4 3105 2377 4 3105 2378 4 3105 2497 4 3105 2558 4 3105 2625 4 3105 2626 4 3105 2632 4 3105 2840 4 3105 2868 4 3105 2868 4 3105 2870 4 3105 2876 4 3105 2941 4 3105 3031 4 3105 3105 4 3105 3105 4 3105 3105 4 3105 3105 4 3105 3105 4 3105 3105 4 3105 3144 4 3105 3144 4 3105 3144 4 3105 3148 4 3105 3150 4 3105 1471 5 3105 2625 5 3105 2632 5 3105 2868 5 3105 2939 5 3105 3068 5 3105 3105 5 3105 3105 5 3105 3105 5 3105