Microsoft Research Blog

English

  1. A Sophisticate’s Introduction to Database Normalization Theory 

    September 1, 1978 | Catriel Beeri, Phil Bernstein, and Nathan Goodman

    Formal database semantics has concentrated on  dependency constraints, such as functional and multivalued dependencies, and on normal forms for relations. Unfortunately, much of this work has been inaccessible to researchers outside this field, due to the unfamiliar formalism in which the work is couched. In…

  2. An Asynchronous Garbage Collector for the Cap Filing System 

    April 1, 1978 | Andrew Birrell

    The CAP filing system [Needham and Birrell 1977] is able to produce garbage or 'lost objects' on disc, because its directory structure is a general naming network containing, in principle, cyclic substructures. Such substructures may become inaccessible as a result of deletion of capabilities or…

  3. Simulation of Wrinkled Surfaces 

    January 1, 1978 | Jim Blinn

    Computer generated shaded images have reached an impressive degree of realism with the current state of the art. They are not so realistic, however, that they would fool many people into believing they are real. One problem is that the surfaces tend to look artificial…

  4. A Scan Line Algorithm for Displaying Parametrically Defined Surfaces 

    January 1, 1978 | Jim Blinn

    This paper presents a scan line algorithm for drawing pictures of parametrically defined surfaces. A scan line algorithm is characterized by the order in which it generates the picture elements of the image. These are generated left to right, top to bottom in much the…

  5. Clipping Using Homogeneous Coordinates 

    January 1, 1978 | Jim Blinn and Martin Newell

    Clipping is the process of determining how much of a given line segment lies within the boundaries of the display screen. Homogeneous coordinates are a convenient mathematical device for representing and transforming objects. The space represented by homogeneous coordinates is not, however, a simple Euclidean…

  6. System Programming in a High Level Language 

    December 1, 1977 | Andrew Birrell

    This thesis is concerned with the construction of a high level language system suitable for the implementation of a general purpose operating system for a computer. There are three aspects to this task: firstly, a suitable high level language must be chosen or designed; secondly,…

  7. On Concurrent Reading and Writing 

    November 5, 1977 | Leslie Lamport

    This paper came out of my study of the bakery algorithm of [12]. The problem with that algorithm is that it requires unbounded state. To allow the state to be bounded in practice, I needed an algorithm for reading and writing multidigit numbers, one digit…

  8. The Cap Filing System 

    November 1, 1977 | R. M. Needham and Andrew Birrell

    The filing system for the CAP is based on the idea of preservation of capabilities: if a program has been able to obtain some capability then it has an absolute right to preserve it for subsequent use. The pursuit of this principle, using capability-oriented mechanisms…