Hierarchical ordering of sequential processes

  title={Hierarchical ordering of sequential processes},
  author={Edsger W. Dijkstra},
  journal={Acta Informatica},
  • E. Dijkstra
  • Published 1 June 1971
  • Business
  • Acta Informatica
SummaryOne of the primary functions of an operating system is to rebuild a machine that must be regarded as non-deterministic (on account of cycle stealing and interrupts) into a more or less deterministic automaton. Taming the degree of indeterminacy in steps will lead to a layered operating system. A bottom layer will be discussed and so will the adequacy of the interface it presents. An analysis of the requirements of the correctness proofs will give us an insight into the logical issues at… 
The synchronization of independent processes
An algorithm is given which implements a powerful synchronizing primitive under very weak assumptions about the nature of interprocess communication, and a careful informal proof of its correctness is given.
Operating Systems a Large Semaphore Based Operating System
The internal structure of a large operating system is described as a set of cooperating sequential processes as an alternative to Dijkstra's hierarchical structuring of operating systems and is proved to be free of "deadly embrace".
Application of TLRO to refute an incorrect mutual exclusion algorithm
In this paper a Temporal Logic Related to Observation (TLRO)-based modeling of iterative commands in a concurrent process is considered and it is shown that the construct may be described by a set of three state transition rules.
A proof method for cyclic programs
The input-output based concept of correctness traditionally applied to functional programs is replaced by another, based on the concept of eventual behaviour, which reduces the proof complexity and achieves greater readability in cyclic programs.
Functional behavior in data spaces
If the nondeterministic sequential program is derived from a set of interacting parallel processes then the functional behavior of the former can be expressed in terms of two weaker complementary properties of the latter: weak functional behavior and input/output liveness.
From Monitors to Monitors: an Early History of Concurrency Primitives
This story shows the effects of grappling with the power brought by concurrency while trying to manage greater conceptual (and textual) complexity.
An approach to automating the verification of compact parallel coordination programs. I
A reachability set description (RSD) is introduced, in which all reachable states of a program (exponential function of N) are collapsed into a fixed number of metastates and the transitions between these metastates are then specified.
BTSL* Model Checking with Fairness for Reo
This thesis introduces Full Branching Time Stream Logic (BTSL*), a combination of CTL and Dynamic LTL which offers the ability to reason about states and actions in a Reo circuit.
A Semantics for Concurrent Separation Logic
A resource-sensitive logic for partial correctness, based on a recent proposal of O'Hearn, adapting separation logic to the concurrent setting is introduced, using a novel ''local'' interpretation of traces which allows accurate reasoning about ownership.
Encapsulating Concurrency as an Approach to Unification
We extend traditional techniques for sequential specification and verification to systems involving intrinsically concurrent activities. Our approach uses careful design of component specifications


The Sciences of the Artificial
Continuing his exploration of the organization of complexity and the science of design, this new edition of Herbert Simon's classic work on artificial intelligence adds a chapter that sorts out the
The Act of Creation
While the study of psychology has offered little in the way of explaining the creative process, Koestler examines the idea that we are at our most creative when rational thought is suspended--for
The sciences of artifical
  • 1969