The Generation of Optimal Code for Arithmetic Expressions
Journal of the ACM (JACM)
The design of the Venus operating system
Communications of the ACM
On the criteria to be used in decomposing systems into modules
Communications of the ACM
Communications of the ACM
The structure of the “THE”-multiprogramming system
Communications of the ACM
Software Engineering, An Advanced Course, Reprint of the First Edition [February 21 - March 3, 1972]
Architecture of a real time operating system
SOSP '75 Proceedings of the fifth ACM symposium on Operating systems principles
Programming with abstract data types
Proceedings of the ACM SIGPLAN symposium on Very high level languages
Formal module level specifications
ACM '77 Proceedings of the 1977 annual conference
Hi-index | 0.00 |
Based upon experience gained through the development of a compiler, this paper recommends the software partitioning technique known as levels of abstraction as a practical strategy for organizing medium to large-scale software systems. How to identify levels of abstraction, specific properties possessed by levels of abstraction, and how to integrate the technique into the software design phase are the principal topics. Each concept is illustrated by examples from the compiler. Some parallels are drawn between levels of abstraction and the concepts of resource management, of data abstractions, and of information hiding.