Browse Prior Art Database

AN ABSTRACTION OF TIMED PREEMPTION

IP.com Disclosure Number: IPCOM000148949D
Original Publication Date: 1985-Aug-31
Included in the Prior Art Database: 2007-Mar-30
Document File: 32 page(s) / 1M

Publishing Venue

Software Patent Institute

Related People

Friedman, D.P.: AUTHOR [+3]

Abstract

Chriiopher T. Haynea and Daniel P. Fkiedman Computer Science Department Indiana University Bloomington, IN 47405 TECHNICAL REPORT NO. 178 AN ABSTRACTION OF TNl3D PREEMFTION by D. P. Friedman and C. T. Haynes August, 1985 This material is based on work supported by the National Science Foundation under grant numbers MCS 83-04567 and MCS 83-03325. An Abstraction of Timed Preemption* August, 1985 Christopher T. IHaynea Daniel P. fiedman Computer Science Department Indiana University Lindley Hall 101 Bloomington, Indiana 47405 USA Abstract The need for a programming language abstraction for timed preemption ia argued, and several possibilities for such an abstraction are presented. One, called engines, is adopted. In conjunction with first class continuations, engines allow a language to be extended with a time-sharing implementation of procem abstraction facilities. We present a direct implementation of facilities such as hiaton streams using engines. Engine nesting refers to the initiation of an engine computation by an already running engine. We consider the need for engine nesting and show how it may be accomplished in a manner that charges a parent engine for the computation of its offspring. Finally, we provide an operational semantics for engines in the form of an interpreter, which is similar in style to a denotational semantics. The importance of simple and general abstractions such as engines is discussed. Categories and Subject Descriptors: D.1.1 [Prornamming Techniques] Applicative (hnct ional) Programming; D. 1.3 [Rograrnming Techniqaee] Concurrent Program- ming; D.3.2 [Programming Languageat] Language Classification~eztcnsible languages; D.4.3 [Programming Languagea] Language Conetructs-concum nt pmgmmming struc- turns; contml structures; D.4.1 [Operating Syetemr] Process Management-concumncy; schedding;

This text was extracted from a PDF file.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 7% of the total text.

Page 1 of 32

An Abstraction of Timed Preemption

  Chriiopher T. Haynea and
Daniel
P. Fkiedman Computer Science Department

 Indiana University Bloomington, IN 47405

TECHNICAL REPORT NO. 178


AN ABSTRACTION OF TNl3D PREEMFTION

by
D. P. Friedman and C. T. Haynes August, 1985

This material is based on work supported by the National Science Foundation under grant numbers

MCS 83-04567 and MCS 83-03325.

[This page contains 1 picture or other non-text object]

Page 2 of 32

[This page contains 1 picture or other non-text object]

Page 3 of 32

An Abstraction of Timed Preemption*

August, 1985

  Christopher T. IHaynea
Daniel P. fiedman
Computer Science Department

    Indiana University Lindley Hall 101 Bloomington, Indiana 47405 USA

Abstract

The need for a programming language abstraction for timed preemption ia argued, and several possibilities for such an abstraction are presented. One, called engines, is adopted. In conjunction with first class continuations, engines allow a language to be extended with a time-sharing implementation of procem abstraction facilities. We present a direct implementation of facilities such as hiaton streams using engines. Engine nesting refers to the initiation of an engine computation by an already running engine. We consider the need for engine nesting and show how it may be accomplished in a manner that charges a parent engine for the computation of its offspring. Finally, we provide an operational semantics for engines in the form of an interpreter, which is similar in style to a denotational semantics. The importance of simple and general abstractions such as engines is discussed. Categories and Subject Descriptors: D.1.1 [Prornamming Techniques] Applicative (hnct ional) Programming; D. 1.3 [Rograrnming Techniqaee] Concurrent Program- ming; D.3.2 [Programming Languageat] Language Classification~eztcnsible languages; D.4.3 [Programming Languagea] Language Conetructs-concum nt pmgmmming struc- turns; contml structures; D.4.1 [Operating Syetemr] Process Management-concumncy; schedding;

General Tern: Languagea
Additional Key Worda and Phrases: Engines, first class objects, pmmption, continuationa, hiatons

 * Thii material is based on work supported by the National Science Foundation under grant numbers MCS 83-04567 and MCS 83-03325.

[This page contains 1 picture or other non-text object]

Page 4 of 32

1. Introduction

In this paper we introduce an enginc facility that abstracts the notion of timed preemp- tion. In conjunction with the abiity to maintain multiple control environments, engines allow a language to be extended with a variety of procesa abstraction facilities. Engines are represented as functional objectlr, which embody some computation. In this respect they resemble thunb (functions of no arguments), which are sometimes called futures, for engines embody a computation that may be performed at some future t...