Vincent F. Russo

Learn More
C++ uses inheritance as a substitute for subtype polymorphism. We give examples where this makes the type system too innexible. We then describe a conservative language extension that allows a programmer to deene an abstract type hierarchy independent of any implementation hierarchies, to retroactively abstract over an implementation, and to decouple(More)
1. I n t r o d u c t i o n This paper describes the design for an operating system family called Choices being built for the Embedded Operating System (EOS) project at the University of Illinois at Urbana-Champaign. Choices embodies the notion of customized operating systems that are tailored for particular hardware configurations or for particular(More)
In Java, an interface specifies public abstract methods and associated public constants. Conformance of a class to an interface is by name. We propose to allow structural conformance to interfaces as well: Any class that provides an implementation for each method in an interface conforms structurally to the interface, and any instance of the class can be(More)
Design patterns are distilled from many real systems to catalog common programming practice. We have analyzed several published design patterns and looked for patterns of working around constraints of the implementation language. Some object-oriented design patterns are distorted or overly complicated because of the lack of supporting language constructs or(More)
This paper describes the object-oriented design and implementation of a family of stream-oriented le systems under UNIX and under an object-oriented operating system called Choices. A class hierarchy provides an object-oriented taxonomy of the algorithms and data structures used in the design of this family. The family includes the System V le system, the(More)