Choices, frameworks and refinement

Roy H. Campbell, Nayeem Islam, Peter Madany

Research output: Contribution to journalArticlepeer-review


We present a method for designing operating systems as an object-oriented framework of generalized, abstract components. The framework is specialized into further subframeworks to implement subsystems of the operating system. Each subframework introduces constraints and relationships between the abstract classes of the components. The constraints are inherited by the instantiations of the framework. Choices is an object-oriented operating system designed and implemented using frameworks. In this paper, we explain the application of our design approach to Choices. We describe the following subsystems and their subframeworks: virtual memory, persistent storage, process management, message passing and device management subframeworks. We discuss the advantages and disadvantages of using frameworks to design and implement object-oriented systems.

Original languageEnglish (US)
Pages (from-to)217-257
Number of pages41
JournalComputing systems
Issue number3
StatePublished - Jun 1992

ASJC Scopus subject areas

  • Engineering(all)


Dive into the research topics of 'Choices, frameworks and refinement'. Together they form a unique fingerprint.

Cite this