This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
Extending Objects to Support Multiple Interfaces and Access Control
November 1990 (vol. 16 no. 11)
pp. 1247-1257

A mechanism, called views, that allows programmers to specify multiple interfaces for objects and to control explicitly access to each interface is described. 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. Views is defined, some examples of its uses are given, the impact of views on system organization is discussed, and five approaches to implementing views are outlined.

[1] D. L. Parnas, "Information distribution aspects of design methodology," inInformation Processing 71: Proc. IFIP Congr. 71. Vol. 1: Foundations and Systems, C. R. Freeman, Ed., IFIP, Aug. 1971, pp. 339-344.
[2] A. Snyder, "Encapsulation and inheritance in object-oriented programming languages," inProc. ACM Conf. OOPSLA, pp. 38-45, Sept. 1986.
[3] A. Snyder, "Inheritance and the development of encapsulated software components," inProc. Twentieth Hawaii Int. Conf. System Sciences, vol. 2, Kona, HI. Western Periodicals, Jan. 1987, pp. 227-237.
[4] C. Schaffert, T. Cooper, and C. Wilpolt, "Trellis object-based environment: Language reference manual," Eastern Research Lab, Digital Equipment Corp., Hudson, MA, Tech, Rep. DEC-TR-372, Nov. 1985.
[5] D. Ungar and R. Smith, "SELF: The power of simplicity," inProc. ACM Conf. OOPSLA, pp. 227-241, Oct. 1987.
[6] A. Black, N. Hutchinson, E. Jul, and H. Levy, "Object structure in the Emerald system," inProc. Conf. Object-Oriented Programming Systems, Languages, and Applications, Portland, OR, ACM, Sept. 1986, pp. 78-86.
[7] Black et al., "Distribution and Abstract Types in Emerald,"IEEE Trans. Software Eng., Vol. SE-13, No. 1, 1987, pp. 65-76.
[8] I. P. Goldstein and D. G. Bobrow, "A layered approach to software design," Xerox Palo Alto Research Center, Tech. Rep. CSL-80-5, Dec. 1980.
[9] I. P. Goldstein and D. G. Bobrow, "An experimental description-based programming environment: Four reports," Xerox Palo Alto Research Center, Tech. Rep. CSL-81-3, Mar. 1981.
[10] S. K. Abdali, G. W. Cherry, and N. Soiffer, "A Smalltalk system for algebraic manipulation," inProc. ACM Conf. Object-Oriented Programming Systems, Languages, and Applications, Portland, OR, ACM, Sept. 1986, pp. 277-283.
[11] S. M. Watt, R. D. Jenks, R. S. Sutor, and B. M. Trager, "The Scratchpad II type system: Domains and subdomains," inComputing Tools for Scientific Problem Solving, A.M. Miola, Ed. New York: Academic, 1990, pp. 63-82.
[12] D. Garlan,Views for Tools in Integrated Environments, PhD dissertation, Computer Science Dept., Carnegie Mellon Univ., Pittsburgh, May 1988.
[13] H. F. Korth and A. Silberschatz,Database System Concepts. New York: McGraw-Hill, 1986.
[14] A. N. Habermann, C. Krueger, B. Pierce, B. Staudt, and J. Wenn, "Programming with views," Dep. Comput. Sci., Carnegie-Mellon Univ., Pittsburgh, PA, Tech. Rep. CMU-CS-87-177, Jan. 1988.
[15] N. H. Minsky and D. Rozenshtein, "Law-based approach to object-oriented programming," inProc. OOPSLA '87 Conf., Oct. 1987, pp. 482-493.
[16] A. Goldberg and D. Robson,Smalltalk80: The Language and Its Implementation. Reading, MA: Addison-Wesley, May 1983.
[17] B. Stroustrup,The C++ Programming Language. Reading, MA: Addison-Wesley, 1986.
[18] H. L. Ossher, "Grids: A new program structuring mechanism based on layered graphs," inProc. ACM Symp. Principles of Programming Languages, Jan. 1984, pp. 11-22.
[19] H. L. Ossher, "A mechanism for specifying the structure of large, layered systems," inResearch Directions in Object-Oriented Programming, B. Shriver and P. Wegner, Eds. Cambrige, MA: The MIT Press Series in Computer Systems, 1987, pp. 219-252.
[20] H. L. Ossher, "A new program structuring mechanism based on layered graphs," Ph.D. dissertation, Stanford Univ., Jan. 1985; available as Tech. Rep. STAN-CS-85-1078, Dep. Comput. Sci., Stanford Univ., Dec. 1984.
[21] H. L. Ossher, "A case study in structure specification: A Grid description of Scribe,"IEEE Trans. Software Eng., vol. 15, pp. 1397-1416, Nov. 1989.
[22] L. Adams, "Integrating a structuring mechanism with a program editor," Ph.D. dissertation, Stanford Univ., Jan. 1989.
[23] B. Hailpern and V. Nguyen, "A model for object-based inheritance," inResearch Directions in Object-Oriented Programming, B. Shriver and P. Wegner, Eds. Cambridge, MA: The MIT Press Series in Computer Systems, 1987, pp. 147-164.
[24] B.K. Reid,Scribe: A Document Specification Language and Its Compiler, PhD thesis, Carnegie Mellon Univ., Pittsburgh, Oct. 1980. (Also available as Tech. Report CMU-CS-81-100, Computer Science Dept., Carnegie Mellon Univ., Pittsburgh, 1981.)
[25] W. Harrison, "RPDE3: A framework for integrating tool fragments,"IEEE Software, vol. 4, pp. 46-56, Nov. 1987.
[26] W. Harrison and H. Ossher, "Checking evolving interfaces in the presence of persistent objects," IBM T.J. Watson Research Center, Yorktown Heights, NY, Res. Rep. RC 15520, Mar. 1990.
[27] J. J. Shilling and P. F. Sweeney, "Three steps to logical views: Extending the object-oriented paradigm," inConf. Object-Oriented Programming Systems, Languages, and Applications, New Orleans, LA, ACM, Sept. 1989, pp. 353-361.

Index Terms:
multiple interfaces; access control; views; objects; enforceable access restrictions; granularity; system organization; browsing; data structures; object-oriented programming
Citation:
B. Hailpern, H. Ossher, "Extending Objects to Support Multiple Interfaces and Access Control," IEEE Transactions on Software Engineering, vol. 16, no. 11, pp. 1247-1257, Nov. 1990, doi:10.1109/32.60313
Usage of this product signifies your acceptance of the Terms of Use.