Semantics of Parallel Programming Languages

Wolfgang Schreiner
315.507, Mo 8'30-10'00, KG 712

This course is self-contained and does not depend on other courses in parallel computation.

A concurrent system consists of a set of objects that execute simultaneously and that may communicate and synchronize with each other. Examples of concurrent systems are parallel programs that describe sets of collaborating processes.

Concurrent systems have a complex nature; a merely intuitive understanding is not sufficient to draw definite conclusions about their behavior. For the specification and design of concurrent systems and parallel programs, a professional engineer therefore needs tools that allow to unambiguously describe the system/program and to conclusively reason about its behavior.

This course presents four such tools:

  1. The UNITY model of parallel program design by Chandy and Misra [1].
  2. The Temporal Logic of Actions (TLA) by Lamport [2], [3].
  3. The Calculus of Communicating Systems by Milner [4], [5].
  4. The pi-Calculus by Milner [6], [7].
Each tool has its domain of applicability, its advantages and its llimitations. Together they represent an illustrative cross-section of the existing models of concurrency.

Slide copies will be handed out in class; electronic online material will be available on the World Wide Web.

  • Slides and Online Material
  • References

  • Wolfgang.Schreiner@risc.uni-linz.ac.at
    Id: parsem.tex,v 1.10 1996/06/05 15:13:54 schreine Exp