Skip to main content

Fair simulation

  • Contributions
  • Conference paper
  • First Online:
Book cover CONCUR '97: Concurrency Theory (CONCUR 1997)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1243))

Included in the following conference series:

Abstract

The simulation preorder for labeled transition systems is defined locally as a game that relates states with their immediate successor states. Liveness assumptions about transition systems are typically modeled using fairness constraints. Existing notions of simulation for fair transition systems, however, are not local, and as a result, many appealing properties of the simulation preorder are lost. We extend the local definition of simulation to account for fairness: system S fairly simulates system I iff in the simulation game, there is a strategy that matches with each fair computation of I a fair computation of S. Our definition enjoys a fully abstract semantics and has a logical characterization: S fairly simulates I iff every fair computation tree embedded in the unrolling of I can be embedded also in the unrolling of S or, equivalently, iff every Fair-∀AFMC formula satisfied by I is satisfied also by S (∀AFMC is the universal fragment of the alternation-free μ-calculus). The locality of the definition leads us to a polynomial-time algorithm for checking fair simulation for finite-state systems with weak and strong fairness constraints. Finally, fair simulation implies fair trace-containment, and is therefore useful as an efficientlycomputable local criterion for proving linear-time abstraction hierarchies.

This research was supported in part by the ONR YIP award N00014-95-1-0520, by the NSF CAREER award CCR-9501708, by the NSF grant CCR-9504469, by the AFOSR contract F49620-93-1-0056, by the ARO MURI grant DAAH-04-96-1-0341, by the ARPA grant NAG2-892, and by the SRC contract 95-DC-324.036.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. M. Abadi and L. Lamport. The existence of refinement mappings. Theoretical Computer Science, 82:253–284, 1991.

    Article  Google Scholar 

  2. A. Aziz, V. Singhal, F. Balarin, R.K. Brayton, and A.L. Sangiovanni-Vincentelli. Equivalences for fair Kripke structures. In Proc. 21st ICALP, Springer LNCS 820, pp. 364–375, 1994.

    Google Scholar 

  3. S. Bensalem, A. Bouajjani, C. Loiseaux, and J. Sifakis. Property-preserving simulations. In Proc. 4th CAV, Springer LNCS 663, pp. 260–273, 1992.

    Google Scholar 

  4. J.A. Bergstra, J.W. Klop, and E.R. Olderog. Failures without chaos: a new process semantics for fair abstraction. In Proc. 3rd IFIP FDPC, Elsevier, pp. 77–103, 1987.

    Google Scholar 

  5. B. Bloom and R. Paige. Transformational design and implementation of a new efficient solution to the ready simulation problem. Science of Computer Programming, 24:189–220, 1996.

    Google Scholar 

  6. E. Brinksma, A. Rensink, and W. Vogler. Fair testing. In Proc. 6th CONCUR, Springer LNCS 962, pp. 313–327, 1995.

    Google Scholar 

  7. O. Bernholtz, M.Y. Vardi, and P. Wolper. An automata-theoretic approach to branching-time model checking. In Proc. 6th CAV, Springer LNCS 818, pp. 142–155, 1994.

    Google Scholar 

  8. E.M. Clarke, E.A. Emerson, and A.P. Sistla. Automatic verification of finite-state concurrent systems using temporal-logic specifications. ACM Transactions on Programming Languages and Systems, 8:244–263, 1986.

    Article  Google Scholar 

  9. R.J. Cleaveland, J. Parrow, and B. Steffen. The Concurrency Workbench: a semantics-based tool for the verification of finite-state systems. ACM Transactions on Programming Languages and Systems, 15:36–72, 1993.

    Google Scholar 

  10. D. Dill, A.J. Hu, and H. Wong-Toi. Checking for language inclusion using simulation relations. In Proc. 3rd CAV, Springer LNCS 575, pp. 255–265, 1991.

    Google Scholar 

  11. E.A. Emerson and C. Jutla. The complexity of tree automata and logics of programs. In Proc. 29th FOCS, IEEE Computer Society, pp. 368–377, 1988.

    Google Scholar 

  12. O. Grumberg and D.E. Long. Model checking and modular verification. ACM Transactions on Programming Languages and Systems, 16:843–871, 1994.

    Google Scholar 

  13. M.C.B. Hennessy. An algebraic theory of fair asynchronous communicating processes. Theoretical Computer Science, 49:121–143, 1987.

    Google Scholar 

  14. M.R. Henzinger, T.A. Henzinger, and P.W. Kopke. Computing simulations on finite and infinite graphs. In Proc. S6th FOCS, IEEE Computer Society, pp. 453–462, 1995.

    Google Scholar 

  15. R. Hojati. A BDD-based Environment for Formal Verification of Hardware Systems. PhD thesis, EECS Department, University of California, Berkeley, 1996.

    Google Scholar 

  16. O. Kupferman and M.Y. Vardi. Verification of fair transition systems. In Proc. 8th CAV, Springer LNCS 1102, pp. 372–382, 1996.

    Google Scholar 

  17. L. Lamport. Specifying concurrent program modules. ACM Transactions on Programming Languages and Systems, 5:190–222, 1983.

    Article  Google Scholar 

  18. N.A. Lynch and R. Segala. A comparison of simulation techniques and algebraic techniques for verifying concurrent systems. Technical Report MIT/LCS/TM-499, Laboratory for Computer Science, MIT, 1993.

    Google Scholar 

  19. N.A. Lynch and M.R. Tuttle. Hierarchical correctness proofs for distributed algorithms. In Proc. 6th PODC, ACM, pp. 137–151, 1987.

    Google Scholar 

  20. N.A. Lynch. Distributed Algorithms. Morgan-Kaufmann, 1996.

    Google Scholar 

  21. R. Milner. An algebraic definition of simulation between programs. In Proc. 2nd IJCAI, British Computer Society, pp. 481–489, 1971.

    Google Scholar 

  22. V. Natarajan and R.J. Cleaveland. Divergence and fair testing. In Proc. 22nd ICALP, Springer LNCS 944, pp. 648–659, 1995.

    Google Scholar 

  23. A. Pnueli. Linear and branching structures in the semantics and logics of reactive systems. In Proc. 12th ICALP, Springer LNCS 194, pp. 15–32, 1985.

    Google Scholar 

  24. A. Pnueli and R. Rosner. On the synthesis of a reactive module. In Proc. 16th POPL, ACM, pp. 179–190, 1989.

    Google Scholar 

  25. M.O. Rabin. Weakly definable relations and special automata. In Proc. Mathematical Logic and Foundations of Set Theory, Elsevier, pp. 1–23, 1970.

    Google Scholar 

  26. S. Safra. On the complexity of ω-automata. In Proc. 29th FOCS, IEEE Computer Society, pp. 319–327, 1988.

    Google Scholar 

  27. L.J. Stockmeyer and A.R. Meyer. Word problems requiring exponential time. In Proc. 5th STOC, ACM, pp. 1–9, 1973.

    Google Scholar 

  28. A.P. Sistla, M.Y. Vardi, and P. Wolper. The complementation problem for Buchi automata with applications to temporal logic. Theoretical Computer Science, 49:217–237, 1987.

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Antoni Mazurkiewicz Józef Winkowski

Rights and permissions

Reprints and permissions

Copyright information

© 1997 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Henzinger, T.A., Kupferman, O., Rajamani, S.K. (1997). Fair simulation. In: Mazurkiewicz, A., Winkowski, J. (eds) CONCUR '97: Concurrency Theory. CONCUR 1997. Lecture Notes in Computer Science, vol 1243. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-63141-0_19

Download citation

  • DOI: https://doi.org/10.1007/3-540-63141-0_19

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-63141-5

  • Online ISBN: 978-3-540-69188-4

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics