Local liveness for compositional modeling of fair reactive systems

  • Rajeev Alur
  • Thomas A. Henzinger
Session 6: Invited Titorial
Part of the Lecture Notes in Computer Science book series (LNCS, volume 939)

Abstract

We argue that the standard constraints on liveness conditions in nonblocking trace models—machine closure for closed systems, and receptiveness for open systems—are unnecessarily weak and complex, and that liveness should, instead, be specified by augmenting transition systems with acceptance conditions that satisfy a locality constraint. First, locality implies machine closure and receptiveness, and thus permits the composition and modular verification of live transition systems. Second, while machine closure and receptiveness are based on infinite games, locality is based on repeated finite games, and thus easier to check. Third, no expressive power is lost by the restriction to local liveness conditions. We illustrate the appeal of local liveness using the model of Fair Reactive Systems, a nonblocking trace model of communicating processes.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. [1]
    M. Abadi, L. Lamport. Composing specifications. ACM TOPLAS, 15(1):73–132, 1993.Google Scholar
  2. [2]
    M. Abadi, L. Lamport. Conjoining Specifications. Technical Report 118, DEC-SRC, 1993.Google Scholar
  3. [3]
    M. Abadi, L. Lamport, P. Wolper. Realizable and unrealizable specifications of reactive systems. Automata, Languages, and Programming, LNCS 372, pp. 1–17. Springer, 1989.Google Scholar
  4. [4]
    R. Alur, T.A. Henzinger. Fair Reactive Systems. Technical Report, Computer Science Department, Cornell University, 1995.Google Scholar
  5. [5]
    K. Apt, N. Francez, S. Katz. Appraising fairness in languages for distributed programming. Distributed Computing, 2(4):226–241, 1988.Google Scholar
  6. [6]
    D. Dill. Trace Theory for Automatic Hierarchical Verification of Speed-independent Circuits. MIT Press, 1989.Google Scholar
  7. [7]
    E.A. Emerson, C. Lei. Modalities for model checking: branching time strikes back. Symp. Principles of Programming Languages, pp. 84–95. ACM, 1985.Google Scholar
  8. [8]
    R. Gawlick, R. Segala, J. Sogaard-Andersen, N. Lynch. Liveness in timed and untimed systems. Technical Report MIT/LCS/TR-587, MIT, 1993.Google Scholar
  9. [9]
    O. Grumberg, D. Long. Model checking and modular verification. ACM TOPLAS, 16(3):843–871, 1994.Google Scholar
  10. [10]
    R. Kurshan. Computer-aided Verification: The Automata-theoretic Approach. Princeton University Press, 1994.Google Scholar
  11. [11]
    L. Lamport. The Temporal Logic of Actions. Technical Report 79, DEC-SRC, 1991.Google Scholar
  12. [12]
    H. Lescow. On polynomial-size programs winning finite-state games. Computer-aided Verification, LNCS. Springer, 1995.Google Scholar
  13. [13]
    N. Lynch, M. Tuttle. Hierarchical correctness proofs for distributed algorithms. Symp. Principles of Distributed Computing, pp. 137–151. ACM, 1987.Google Scholar
  14. [14]
    Z. Manna and A. Pnueli. The Temporal Logic of Reactive and Concurrent Systems. Springer, 1991.Google Scholar
  15. [15]
    J. Misra, K. Chandy. Proofs of networks of processes. IEEE Trans. Software Engineering, 7(4):417–426, 1981.Google Scholar
  16. [16]
    P. Pandya, M. Joseph. P-A logic—a compositional proof system for distributed programs. Distributed Computing, 5(1):37–54, 1991.Google Scholar
  17. [17]
    A. Pnueli. In transition from global to modular temporal reasoning about programs. Logics and Models of Concurrent Systems. pp. 123–144. Springer, 1984.Google Scholar

Copyright information

© Springer-Verlag 1995

Authors and Affiliations

  • Rajeev Alur
    • 1
  • Thomas A. Henzinger
    • 2
  1. 1.AT&T Bell LaboratoriesMurray Hill
  2. 2.Department of Computer ScienceCornell UniversityIthaca

Personalised recommendations