Skip to main content

Verification of Open Systems

  • Chapter
  • 720 Accesses

Summary

In order to check whether an open system satisfies a desired property, we need to check the behavior of the system with respect to an arbitrary environment. In the most general setting, the environment is another open system. Given an open system M and a property ψ, we say that M robustly satisfies ψ iff for every open system M′, which serves as an environment to M, the composition M∥M′ satisfies ψ. The problem of robust model checking is then to decide, given M and ψ, whether M robustly satisfies ψ. In essence, robust model checking focuses on reasoning algorithmically about interaction. In this work we study the robust-model-checking problem. We consider systems modeled by nondeterministic Moore machines, and properties specified by branching temporal logic (for linear temporal logic, robust satisfaction coincides with usual satisfaction). We show that the complexity of the problem is EXPTIME-complete for CTL and the μ-calculus, and is 2EXPTIME-complete for CTL*. Thus, from a complexity-theoretic perspective, robust satisfaction behaves like satisfiability, rather than like model checking.

The chapter is based on our paper Robust Satisfaction, Proceedings of the 10th Conference on Concurrency Theory, volume 1664 of Lecture Notes in Computer Science, pages 383–398, Springer-Verlag, Berlin, 1999.

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

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   129.00
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   169.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD   169.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. M. Abadi and L. Lamport. Composing specifications. ACM Transactions on Programming Languages and Systems, 15(1):73–132, 1993.

    Article  Google Scholar 

  2. R. Alur, T.A. Henzinger, and O. Kupferman. Alternating-time temporal logic. Journal of the ACM, 49(5):672–713, September 2002.

    Article  MathSciNet  Google Scholar 

  3. M. Antoniotti. Synthesis and verification of discrete controllers for robotics and manufacturing devices with temporal logic and the Control-D system. PhD thesis, New York University, New York, 1995.

    Google Scholar 

  4. E.M. Clarke and E.A. Emerson. Design and synthesis of synchronization skeletons using branching time temporal logic. In Proc. Workshop on Logic of Programs, volume 131 of Lecture Notes in Computer Science, pages 52–71. Springer-Verlag, 1981.

    MathSciNet  Google Scholar 

  5. 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(2):244–263, January 1986.

    Article  MATH  Google Scholar 

  6. E.M. Clarke, O. Grumberg, and M.C. Browne. Reasoning about networks with many identical finite-state processes. In Proc. 5th ACM Symp. on Principles of Distributed Computing, pages 240–248, Calgary, Alberta, August 1986.

    Google Scholar 

  7. D.L. Dill. Trace theory for automatic hierarchical verification of speed independent circuits. MIT Press, 1989.

    Google Scholar 

  8. E.A. Emerson. Temporal and modal logic. In J. Van Leeuwen, editor, Handbook of Theoretical Computer Science, volume B, chapter 16, pages 997–1072. Elsevier, MIT Press, 1990.

    Google Scholar 

  9. E.A. Emerson and J.Y. Halpern. Sometimes and not never revisited: On branching versus linear time. Journal of the ACM, 33(1):151–178, 1986.

    Article  MATH  MathSciNet  Google Scholar 

  10. E.A. Emerson and C. Jutla. On simultaneously determinizing and complementing ω-automata. In Proc. 4th IEEE Symp. on Logic in Computer Science, pages 333–342, 1989.

    Google Scholar 

  11. E.A. Emerson and C. Jutla. Tree automata, μ-calculus and determinacy. In Proc. 32nd IEEE Symp. on Foundations of Computer Science, pages 368–377, San Juan, October 1991.

    Google Scholar 

  12. E.A. Emerson and C.-L. Lei. Modalities for model checking: Branching time logic strikes back. In Proc. 20th ACM Symp. on Principles of Programming Languages, pages 84–96, New Orleans, January 1985.

    Google Scholar 

  13. E.A. Emerson and C.-L. Lei. Temporal model checking under generalized fairness constraints. In Proc. 18th Hawaii International Conference on System Sciences, North Holywood, 1985. Western Periodicals Company.

    Google Scholar 

  14. E.A. Emerson and A. P. Sistla. Deciding branching time logic. In Proc. 16th ACM Symp. on Theory of Computing, Washington, April 1984.

    Google Scholar 

  15. M.J. Fischer and L.D. Zuck. Reasoning about uncertainty in fault-tolerant distributed systems. In M. Joseph, editor, Proc. Symp. on Formal Techniques in Real-Time and Fault-Tolerant Systems, volume 331 of Lecture Notes in Computer Science, pages 142–158. Springer-Verlag, 1988.

    Google Scholar 

  16. R. Gawlick, R. Segala, J. Sogaard-Andersen, and N. Lynch. Liveness in timed and untimed systems. In Automata, Languages, and Programming, Proc. 21st ICALP, volume 820 of Lecture Notes in Computer Science, pages 166–177. Springer-Verlag, 1994.

    MathSciNet  Google Scholar 

  17. E. Graedel and I. Walukiewicz. Guarded fixed point logic. In Proc. 14th Symp. on Logic in Computer Science, July 1999.

    Google Scholar 

  18. O. Grumberg and D.E. Long. Model checking and modular verification. In Proc. 2nd Conference on Concurrency Theory, volume 527 of Lecture Notes in Computer Science, pages 250–265. Springer-Verlag, 1991.

    MathSciNet  Google Scholar 

  19. O. Grumberg and D.E. Long. Model checking and modular verification. ACM Trans. on Programming Languages and Systems, 16(3):843–871, 1994.

    Article  Google Scholar 

  20. J.Y. Halpern and R. Fagin. Modelling knowladge and action in distributed systems. Distributed Computing, 3(4):159–179, 1989.

    Article  MATH  Google Scholar 

  21. D. Harel, O. Kupferman, and M.Y. Vardi. On the complexity of verifying concurrent transition systems. In Proc. 8th Conference on Concurrency Theory, volume 1243 of Lecture Notes in Computer Science, pages 258–272, Warsaw, July 1997. Springer-Verlag.

    MathSciNet  Google Scholar 

  22. D. Harel and A. Pnueli. On the development of reactive systems. In K. Apt, editor, Logics and Models of Concurrent Systems, volume F-13 of NATO Advanced Summer Institutes, pages 477–498. Springer-Verlag, 1985.

    Google Scholar 

  23. T.A. Henzinger, O. Kupferman, and S. Qadeer. From pre-historic to postmodern symbolic model checking. In Computer Aided Verification, Proc. 10th International Conference, volume 1427 of Lecture Notes in Computer Science. Springer-Verlag, 1998.

    Google Scholar 

  24. C.A.R. Hoare. Communicating Sequential Processes. Prentice-Hall, 1985.

    Google Scholar 

  25. B. Jonsson and Y.-K. Tsay. Assumption/guarantee specifications in linear-time temporal logic. In P.D. Mosses, M. Nielsen, and M.I. Schwartzbach, editors, TAPSOFT’ 95: Theory and Practice of Software Development, volume 915 of Lecture Notes in Computer Science, pages 262–276, Aarhus, Denmark, May 1995. Springer-Verlag.

    Google Scholar 

  26. D. Kozen. Results on the propositional μ-calculus. Theoretical Computer Science, 27:333–354, 1983.

    Article  MATH  MathSciNet  Google Scholar 

  27. O. Kupferman, P. Madhusudan, P.S. Thiagarajan, and M.Y. Vardi. Open systems in reactive environments: Control and synthesis. In Proc. 11th International Conference on Concurrency Theory, volume 1877 of Lecture Notes in Computer Science, pages 92–107. Springer-Verlag, 2000.

    MATH  MathSciNet  Google Scholar 

  28. O. Kupferman and M.Y. Vardi. On the complexity of branching modular model checking. In Proc. 6th Conference on Concurrency Theory, volume 962 of Lecture Notes in Computer Science, pages 408–422, Philadelphia, August 1995. Springer-Verlag.

    Google Scholar 

  29. O. Kupferman and M.Y. Vardi. Module checking. In Computer Aided Verification, Proc. 8th International Conference, volume 1102 of Lecture Notes in Computer Science, pages 75–86. Springer-Verlag, 1996.

    Google Scholar 

  30. O. Kupferman and M.Y. Vardi. Module checking revisited. In Computer Aided Verification, Proc. 9th International Conference, volume 1254 of Lecture Notes in Computer Science, pages 36–47. Springer-Verlag, 1997.

    Google Scholar 

  31. O. Kupferman and M.Y. Vardi. Weak alternating automata and tree automata emptiness. In Proc. 30th ACM Symp. on Theory of Computing, pages 224–233, Dallas, 1998.

    Google Scholar 

  32. O. Kupferman and M.Y. Vardi. Robust satisfaction. In Proc. 10th Conference on Concurrency Theory, volume 1664 of Lecture Notes in Computer Science, pages 383–398. Springer-Verlag, August 1999.

    MATH  MathSciNet  Google Scholar 

  33. O. Kupferman, M.Y. Vardi, and P. Wolper. An automata-theoretic approach to branching-time model checking. Journal of the ACM, 47(2):312–360, March 2000.

    Article  MathSciNet  Google Scholar 

  34. O. Kupferman, M.Y. Vardi, and P. Wolper. Module checking. Information and Computation, 164:322–344, 2001.

    Article  MATH  MathSciNet  Google Scholar 

  35. L. Lamport. Sometimes is sometimes “not never”-on the temporal logic of programs. In Proc. 7th ACM Symp. on Principles of Programming Languages, pages 174–185, January 1980.

    Google Scholar 

  36. Z. Manna and A. Pnueli. Temporal specification and verification of reactive modules. Technical report, Weizmann Institute, 1992.

    Google Scholar 

  37. A.K. McIver and C. Morgan. Demonic, angelic and unbounded probabilistic choices in sequential programs. Acta Informatica, 37(4–5):329–354, 2001.

    Article  MATH  MathSciNet  Google Scholar 

  38. R. Milner. An algebraic definition of simulation between programs. In Proc. 2nd International Joint Conference on Artificial Intelligence, pages 481–489. British Computer Society, September 1971.

    Google Scholar 

  39. D.E. Muller and P.E. Schupp. Alternating automata on infinite trees. Theoretical Computer Science, 54:267–276, 1987.

    Article  MATH  MathSciNet  Google Scholar 

  40. D.E. Muller and P.E. Schupp. Simulating alternating tree automata by nondeterministic automata: New results and new proofs of theorems of Rabin, Mc-Naughton and Safra. Theoretical Computer Science, 141:69–107, 1995.

    Article  MATH  MathSciNet  Google Scholar 

  41. A. Pnueli. In transition from global to modular temporal reasoning about programs. In K. Apt, editor, Logics and Models of Concurrent Systems, volume F-13 of NATO Advanced Summer Institutes, pages 123–144. Springer-Verlag, 1985.

    Google Scholar 

  42. A. Pnueli and R. Rosner. On the synthesis of a reactive module. In Proc. 16th ACM Symp. on Principles of Programming Languages, pages 179–190, Austin, January 1989.

    Google Scholar 

  43. J.P. Queille and J. Sifakis. Specification and verification of concurrent systems in Cesar. In Proc. 5th International Symp. on Programming, volume 137 of Lecture Notes in Computer Science, pages 337–351. Springer-Verlag, 1981.

    MathSciNet  Google Scholar 

  44. M.O. Rabin. Weakly definable relations and special automata. In Proc. Symp. Math. Logic and Foundations of Set Theory, pages 1–23. North Holland, 1970.

    Google Scholar 

  45. P.J.G. Ramadge and W.M. Wonham. The control of discrete event systems. IEEE Transactions on Control Theory, 77:81–98, 1989.

    Google Scholar 

  46. R.S. Streett and E.A. Emerson. An automata theoretic decision procedure for the propositional gm-calculus. Information and Computation, 81(3):249–264, 1989.

    Article  MATH  MathSciNet  Google Scholar 

  47. J.W. Thatcher. Tree automata: an informal survey. In A.V. Aho, editor, Currents in the theory of computing, pages 143–172. Prentice-Hall, Englewood Cliffs, 1973.

    Google Scholar 

  48. M.Y. Vardi and P. Wolper. Automata-theoretic techniques for modal logics of programs. Journal of Computer and System Science, 32(2):182–221, April 1986.

    MathSciNet  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2006 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Kupferman, O., Vardi, M.Y. (2006). Verification of Open Systems. In: Goldin, D., Smolka, S.A., Wegner, P. (eds) Interactive Computation. Springer, Berlin, Heidelberg . https://doi.org/10.1007/3-540-34874-3_5

Download citation

  • DOI: https://doi.org/10.1007/3-540-34874-3_5

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-34666-1

  • Online ISBN: 978-3-540-34874-0

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics