In this paper, we present a method for designing operating systems using object-oriented frameworks. A framework can be re ned into subframeworks. Constraints specify the interactions between the subframeworks. We describe how we used object-oriented frameworks to design Choices, an object-oriented operating system. 1 Frameworks in an Object-Oriented