Communications of the ACM
Modularization and hierarchy in a family of operating systems
Communications of the ACM
On the criteria to be used in decomposing systems into modules
Communications of the ACM
Software Engineering, An Advanced Course, Reprint of the First Edition [February 21 - March 3, 1972]
Software Engineering, An Advanced Course, Reprint of the First Edition [February 21 - March 3, 1972]
Research directions in abstract data structures
Proceedings of the 1976 conference on Data : Abstraction, definition and structure
Abstract types defined as classes of variables
Proceedings of the 1976 conference on Data : Abstraction, definition and structure
Proceedings of the 1976 conference on Data : Abstraction, definition and structure
The design of data type specifications
ICSE '76 Proceedings of the 2nd international conference on Software engineering
How to design a system in which modules can be changed on the fly
ICSE '76 Proceedings of the 2nd international conference on Software engineering
Report on the programming language Euclid
ACM SIGPLAN Notices
Design and Specification of the Minimal Subset of an Operating System Family
IEEE Transactions on Software Engineering
OOPWORK '86 Proceedings of the 1986 SIGPLAN workshop on Object-oriented programming
EDMAS: A locally distributed mail system
ICSE '84 Proceedings of the 7th international conference on Software engineering
Providing dynamic update in an operating system
ATEC '05 Proceedings of the annual conference on USENIX Annual Technical Conference
Tranquility: A Low Disruptive Alternative to Quiescence for Ensuring Safe Dynamic Updates
IEEE Transactions on Software Engineering
Hi-index | 0.00 |
A well structured system can easily be understood and modified. Moreover, it may lend itself even to dynamic modification: under special conditions, the possibility of changing system parts while the system is running can be provided at little additional cost. Our approach to the design of dynamically modifiable systems is based on the principle of data abstraction applied to types and modules. It allows for dynamic replacement or restructuring of a module's implementation if this does not affect its specification (or if it leads to some kind of compatible specification). The fundamental principles of such "replugging" are exhibited, and the implementation of a replugging facility for an experimental operating system on a PDP-11/40E is described.