August 1976 - Vol. 19 No. 8

August 1976 issue cover image

Features

Research and Advances

Tools and philosophy for software education

This paper describes a set of tools and a philosophy for teaching software that have been found very useful in courses at MIT over the past seven years. The tools include programs such as simulators, graders, compilers, and monitors. These allow the instructor to augment the basic concepts with relevant, exciting, and economical student project activities.
Research and Advances

The denotational semantics of programming languages

This paper is a tutorial introduction to the theory of programming language semantics developed by D. Scott and C. Strachey. The application of the theory to formal language specification is demonstrated and other applications are surveyed. The first language considered, LOOP, is very elementary and its definition merely introduces the notation and methodology of the approach. Then the semantic concepts of environments, stores, and continuations are introduced to model classes of programming language features and the underlying mathematical theory of computation due to Scott is motivated and outlined. Finally, the paper presents a formal definition of the language GEDANKEN.
Research and Advances

Designing surfaces in 3-D

An experimental system for computer-aided design of free-form surfaces in three dimensions is described. The surfaces are represented in the system as parametric basis splines. The principal features of the system are: (1) the surfaces are rendered as isoparametric line drawings on a head-mounted display, and they are designed with the aid of a three-dimensional “wand,” which allows 3-D movements of the points controlling the shapes of the surfaces, (2) all of the interactions with the surfaces are in real-time, and (3) the mathematical formulations used assume no knowledge of them by the user of the system. Also examined are some of the features that should be part of a practical 3-D system for designing space-forms.
Research and Advances

Protection in operating systems

A model of protection mechanisms in computing systems is presented and its appropriateness is argued. The “safety” problem for protection systems under this model is to determine in a given situation whether a subject can acquire a particular right to an object. In restricted cases, it can be shown that this problem is decidable, i.e. there is an algorithm to determine whether a system in a particular configuration is safe. In general, and under surprisingly weak assumptions, it cannot be decided if a situation is safe. Various implications of this fact are discussed.

Recent Issues

  1. July 2024 CACM cover
    July 2024 Vol. 67 No. 7
  2. June 2024 Vol. 67 No. 6
  3. May 2024 CACM cover
    May 2024 Vol. 67 No. 5
  4. April 2024 CACM cover with text
    April 2024 Vol. 67 No. 4