Forward and Backward Simulations Part I : Untimed Systems

A uni ed, comprehensive presentation of simulation techniques for veri cation of concurrent systems is given, in terms of a simple untimed automaton model. In particular, (1) re nements, (2) forward and backward simulations, (3) hybrid forward-backward and backward-forward simulations, and (4) history and prophecy relations are de ned. History and prophecy relations are abstract versions of the history and prophecy variables of Abadi and Lamport, as well as the auxiliary variables of Owicki and Gries. Relationships between the di erent types of simulations, as well as soundness and completeness results, are stated and proved. Finally, it is shown how invariants can be incorporated into all the simulations. The development for untimed automata is designed to support a similar development for timed automata. In Part II of this paper, it is shown how the results of this paper can be carried over to the setting of timed automata. 1991 Mathematics Subject Classi cation: 68Q60, 68Q68. 1991 CR Categories: F.1.1, F.3.1.

[1]  J Von Wright The Lattice of Data Reenement , 1994 .

[2]  Frits W. Vaandrager,et al.  Proof-Checking a Data Link Protocol , 1994, TYPES.

[3]  Fred B. Schneider,et al.  Proving Nondeterministically Specified Safety Properties Using Progress Measures , 1993, Inf. Comput..

[4]  Nancy A. Lynch,et al.  Correctness of At-Most-Once Message Delivery Protocols , 1993, FORTE.

[5]  Nancy A. Lynch,et al.  Forward and backward simulations, part II: timing-based systems , 1993 .

[6]  R. V. Glabbeek The Linear Time - Branching Time Spectrum II: The Semantics of Sequential Systems with Silent Moves , 1993 .

[7]  A. Prasad Sistla,et al.  Proving Correctness with Respect to Nondeterministic Safety Specifications , 1991, Information Processing Letters.

[8]  R. J. vanGlabbeek The linear time - branching time spectrum , 1990 .

[9]  Rocco De Nicola,et al.  Three Logics for Branching Bisimulation (Extended Abstract) , 1990, LICS 1990.

[10]  Michael Merritt,et al.  Completeness Theorems for Automata , 1990, REX Workshop.

[11]  Nancy A. Lynch Multivalued Possibilities Mappings , 1989, REX Workshop.

[12]  Ralph-Johan Back,et al.  Refinement Calculus, Part I: Sequential Nondeterministic Programs , 1989, REX Workshop.

[13]  Robin Milner,et al.  Communication and concurrency , 1989, PHI Series in computer science.

[14]  Nancy A. Lynch,et al.  Hierarchical correctness proofs for distributed algorithms , 1987, PODC '87.

[15]  Cliff B. Jones,et al.  Systematic software development using VDM , 1986, Prentice Hall International Series in Computer Science.

[16]  Eugene W. Stark Proving Entailment Between Conceptual State Specifications , 1988, Theor. Comput. Sci..

[17]  Leslie Lamport,et al.  Specifying Concurrent Program Modules , 1983, TOPL.

[18]  Nancy A. Lynch,et al.  Concurrency control for resilient nested transactions , 1983, PODS '83.

[19]  David Park,et al.  Concurrency and Automata on Infinite Sequences , 1981, Theoretical Computer Science.

[20]  M. Dal Cin,et al.  The Algebraic Theory of Automata , 1980 .

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

[22]  Edsger W. Dijkstra,et al.  A Discipline of Programming , 1976 .

[23]  Robin Milner,et al.  An Algebraic Definition of Simulation Between Programs , 1971, IJCAI.

[24]  Donald E. Knuth,et al.  fundamental algorithms , 1969 .