MetaCartSign in to MyCiteSeer

Include Citations | Advanced Search | Help

Include Citations | Advanced Search | Help

  Module Management As A System Service 1 (1993)

Download:
Download as a PDF | Download as a PS
by Gilad Bracha, Charles F. Clark, Douglas B. Orr
http://jerry.cs.uiuc.edu/reflection/washington/postscript/lindstrom.ps
Add To MetaCart

Abstract:

A new approach to program modularity is presented, based on three key ideas: (i) elevating data type, and (iii) representing modules as objects for programmed manipulation and retention. The result is an innovative system architecture for program construction, with flexible capabilities for name space management, inter-process sharing, and incremental loading and relinking. The necessary reflective powers are provided by a permanently running system process exporting a wide repertory of module manipulation and delivery services. This approach draws on insights from both programming languages and system architecture. From programming languages, we have taken inspiration from the power of inheritance in object-oriented programming languages, and the importance of types as a basis for secure, evolvable module interfaces. From system architecture, we have profited from the server process approach to system organization, and respect for the crucial role of module binding as a system flexibility governor. A case study applying this architecture to C++ is presented, as well as a brief assessment of its role in a more comprehensive architecture for persistent object management.

Citations

1127 SmallTalk 80: The Language and its Implementation – Goldberg, Robson - 1983
695 The Art of the Metaobject Protocol – Kiczales, Rivires, et al. - 1991
331 Mixin-based inheritance, in – Bracha, Cook - 1990
167 Modules for Standard ML – MacQueen
154 Operations on records – Cardelli, Mitchell - 1989
147 Reflection and Semantics in a Procedural Language – Smith - 1982
131 The Programming Language Jigsaw: Mixins, Modularity and Multiple Inheritance – Bracha - 1992
119 Working with persistent objects: To swizzle or not to swizzle – Moss - 1992
87 Modularity meets inheritance, in – Bracha, Lindstrom - 1992
83 The programming language oberon – Wirth - 1988
65 Reusing object-oriented designs – Johnson, Russo - 1991
62 A record calculus based on symmetric concatenation – Harper, Pierce - 1991
53 Type theories and object-oriented programming – Danforth, Tomlinson - 1988
46 Combination of Inheritance Hierarchies – Ossher, Harrison - 1992
45 The Oberon System – Wirth, Gutknecht - 1989
35 Safe type checking in a statically typed object-oriented programming language – Bruce - 1993
29 OMOS --- An object server for program execution – Orr, Mecklenburg - 1992
19 Dynamic Program Monitoring and Transformation Using the OMOS Object Server – Orr, Mecklenburg, et al. - 1994
18 PCLOS: A Flexible Implementation of CLOS Persistence – Paepcke - 1988
16 Runtime access to type information in C – Interrante, Linton - 1990
14 Two Extensions to C++: A Dynamic Link Editor and Inner Data – Gautron, Shapiro - 1987
14 Fast and Flexible Shared Libraries – Orr, Bonn, et al. - 1993
13 Adding new code to a running C++ program – Dorward, Sethi, et al. - 1990
13 Shared libraries – Gingell - 1989
13 Shared libraries as objects – Seeley - 1990
5 Instantiation of C++ objects in shared memory – Jordan - 1991
5 The persistent object system MetaStore: Persistence via metaprogramming – Lee - 1992
5 Shared Objects – Mach - 1992
5 Object Oberon — a modest object-oriented language – Mossenbock, Templ - 1989
3 Modules as values in a persistent object store – Bracha, Clark, et al. - 1993
3 A framework for module-based language processors – Banavar, Lindstrom - 1993
2 Remote procedure call specialization with the OMOS object server – Ford, Lepreau, et al. - 1993
1 Ravindra Kuramkote. Strange bedfellows: Issues in object naming under Unix. Unpublished note – Orr, Mecklenburg - 1993