Microsoft Research Blog

English

  1. 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…

  2. 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,…

  3. 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…

  4. 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…

  5. The Multics kernel design project 

    November 1, 1977 | Mike Schroeder

    We describe a plan to create an auditable version of Multics. The engineering experiments of that plan are now complete. Type extension as a design discipline has been demonstrated feasible, even for the internal workings of an operating system, where many subtle intermodule dependencies were…

  6. A terminal-oriented communication system 

    July 1, 1977 | Paul Heckel and Butler Lampson

    This paper describes a system for full-duplex communication between a time-shared computer and its terminals. The system consists of a communications computer directly connected to the time-shared system, a number of small remote computers to which the terminals are attached, and connecting medium speed telephone…

  7. A Homogeneous Formulation for Lines in 2 Space 

    July 1, 1977 | Jim Blinn

    Homogeneous coordinates have long been a standard tool of computer graphics. They afford a convenient representation for various geometric quantities in two and three dimensions. The representation of lines in three dimensions has, however, never been fully described. This paper presents a homogeneous formulation for…

  8. Storage Management for Algol68 

    June 1, 1977 | Andrew Birrell

    This paper describes some of the techniques which can be used for managing the run time storage required for an ALGOL68 program. The emphasis is on stack storage, since garbage collection techniques would require another paper. The Frcblems caused by some ALGOL68 constructs are described:…

  9. Intuitionistic Logic with Strong Negation 

    May 6, 1977 | Yuri Gurevich

    Classical logic is symmetric with respect to True and False but intuitionistic logic is not. We introduce and study a conservative extension of first-order intuitionistic logic that is symmetric with respect to True and False.

  10. Expanded Theory of Ordered Abelian Groups 

    May 5, 1977 | Yuri Gurevich

    The first-order theory of ordered abelian groups was analyzed in 3. However, algebraic results on ordered abelian groups in the literature usually cannot be stated in first-order logic. Typically they involve so-called convex subgroups. Here we introduce an expanded theory of ordered abelian groups that…

  11. Monadic Theory of Order and Topology, I 

    April 8, 1977 | Yuri Gurevich

    We disprove two Shelah's conjectures and prove some more results on the monadic theory of linearly orderings and topological spaces. In particular, if the Continuum Hypothesis holds then there exist monadic formulae expressing the predicates ``X is countable'' and ``X is meager'' over the real…

  12. Proving the Correctness of Multiprocess Programs 

    March 5, 1977 | Leslie Lamport

    When I first learned about the mutual exclusion problem, it seemed easy and the published algorithms seemed needlessly complicated. So, I dashed off a simple algorithm and submitted it to CACM. I soon received a referee's report pointing out the error. This had two effects.…