Browse Prior Art Database

Original Publication Date: 1899-Dec-30
Included in the Prior Art Database: 2007-Apr-12
Document File: 18 page(s) / 1M

Publishing Venue

Software Patent Institute

Related People

Schneider, F.B.: AUTHOR [+3]


F. 8. Schneider A. J. Bernstefn

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 9% of the total text.

Page 1 of 18

F. B. Schneider and

A. J. Bernstein

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

Page 2 of 18

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

Page 3 of 18


F. B. Schneider?

A. J. Bernstein

Jan. 8, 1979


     Ex tensions t o concur rent prog rarnrn f ng languages are presented which allow control of scheduling policies previously defined by the run-time support system. It is shown that the use of these mechanisms simplifies t h e solutions of concurrent programming problems. In addition, the p r o p s e d extensions allow easy identification of those aspects of a program concerned with perfor- mance, thereby making programs easier t o read and understand.


Keywords: ,.Concurrent Paszal, Monitors, Cc .ilnunicat-

ing Sequential Processes, Operating Systems, Scheduling Algorithms.

* T h i s work is partially supported b y NSF grant NCS
76-fl4828 and MCS 76-223Gfl.
1. Computer Science Department, Upson .Hall, Cornell Univer- sity, Ithaca, New York 14853.
2. Department of Computer Science, S.U.N.Y. a t Stony Brook, Stony Brook, New York 11?94.

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

Page 4 of 18

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

Page 5 of 18

help t a enforce, various correctness criteria. For example, fn Concurrent Pascal access to variables declared wlthin a monitor is guaranteed to be eutually exclusive. It follows from this and certain syntactic constraints of the language that a l l shared data in a Concurrent Pascal program i s pro- tected from simultaneous access fBecn781 fBr in751.

    The guarded command language proposal of Dijkstra fDijk761 provides another illustration of the trend to make explicit various correctness crlterla. Central to this

     It is wsfl known that the construction of software is language proposal is the enumeration of the logical precvn- made considerably easier by the use of high level languages. ditions necessary before the execution of a cornman+ can Prograins written in htgh level languages are easier to proceed. A guarded command has the form:
understand, modify (hence malntainl and formally verify than
their assrz~tly Ianquage Counterparts. Consequently, a 4006
d e ~ l OF research has been devoted to the definition of high where GI the guard, is a boolean expression, and C Is a com- level languages suitable for various environments and appli- mand list. C is only executed provided G is true. GuardeC cations. Of particular interest hare are those languages commands may be combined into an alternative command having and language proposals intended for writing asynchronous the form (the notation in [Hoar781 is used)
systems. Notable examples of such languages are Concurrent
Pascal rBrin751 and ~odulo [Wirt771, which are based on the
mcnitor construct IBrin77l IHoar741, and the language p...