GEM: A tool for concurrency specification and verification

The GEM model of concurrent computation is presented. Each GEM computation consists of a set of partially ordered events, and represents a particular concurrent execution. Language primitives for concurrency, code segments, as well as concurrency problems may be described as logic formulae (restrictions) on the domain of possible GEM computations. An event-oriented method of program verification is also presented. GEM is unique in its ability to easily describe and reason about synchronization properties.

[1]  T. Bloom SYNCHRONIZATION MECHANISMS FOR MODULAR PROGRAMMING LANGUAGE , 1979 .

[2]  Charles Antony Richard Hoare,et al.  An Operating System Structuring Concept , 1974 .

[3]  Vaughan R. Pratt,et al.  On the composition of processes , 1982, POPL '82.

[4]  Amy Linda Lansky,et al.  Specification and analysis of concurrency , 1984 .

[5]  Clarence A. Ellis,et al.  Consistency and correctness of duplicate database systems , 1977, SOSP '77.

[6]  Russell Roger Atkinson Automatic Verification of Serializers. , 1980 .

[7]  Roy H. Campbell,et al.  The specification of process synchronization by path expressions , 1974, Symposium on Operating Systems.

[8]  Gilles Kahn,et al.  The Semantics of a Simple Language for Parallel Programming , 1974, IFIP Congress.

[9]  Michael B. Smyth Power Domains , 1978, J. Comput. Syst. Sci..

[10]  LamportLeslie Time, clocks, and the ordering of events in a distributed system , 1978 .

[11]  Jean D. etc. Ichbiah Reference Manual for the ADA Programming Language , 1983 .

[12]  Carl Hewitt,et al.  Laws for Communicating Parallel Processes , 1977, IFIP Congress.

[13]  Brent Hailpern Verifying Concurrent Processes Using Temporal Logic , 1982, Lecture Notes in Computer Science.

[14]  Loretta Guarino Reid Control and communication in programmed systems , 1980 .

[15]  Robin Milner,et al.  Concurrent Processes and Their Syntax , 1979, JACM.

[16]  Gilles Kahn,et al.  Coroutines and Networks of Parallel Processes , 1977, IFIP Congress.

[17]  Leslie Lamport A New Approach to Proving the Correctness of Multiprocess Programs , 1979, TOPL.

[18]  James L. Peterson,et al.  Petri Nets , 1977, CSUR.

[19]  Leslie Lamport,et al.  Proving Liveness Properties of Concurrent Programs , 1982, TOPL.

[20]  Leslie Lamport,et al.  Time, clocks, and the ordering of events in a distributed system , 1978, CACM.

[21]  C. A. R. Hoare,et al.  Monitors: an operating system structuring concept , 1974, CACM.

[22]  Per Brinch Hansen,et al.  Operating System Principles , 1973 .

[23]  Gordon D. Plotkin,et al.  A Powerdomain Construction , 1976, SIAM J. Comput..

[24]  Joseph E. Stoy,et al.  Denotational Semantics: The Scott-Strachey Approach to Programming Language Theory , 1981 .

[25]  C. A. R. Hoare,et al.  Communicating sequential processes , 1978, CACM.

[26]  Amir Pnueli,et al.  The temporal logic of programs , 1977, 18th Annual Symposium on Foundations of Computer Science (sfcs 1977).

[27]  Irene Greif,et al.  Semantics of communicating parallel processes , 1975 .