Advertisement

Quantitative temporal reasoning

  • E. Allen Emerson
  • A. K. Mok
  • A. P. Sistla
  • Jai Srinivasan
I. Tools And Computation
Part of the Lecture Notes in Computer Science book series (LNCS, volume 531)

Abstract

A substantially large class of programs operate in distributed and real-time environments, and an integral part of their correctness specification requires the expression of time-critical properties that relate the occurrence of events of the system. We focus on the formal specification and reasoning about the correctness of such programs. We popose a system of temporal logic, RTCTL (Real-Time Computation Tree Logic), that allows the melding of qualitative temporal assertions together with real-time constraints to permit specification and reasoning at the twin levels of abstraction: qualitative and quantitative. We show that several practically useful correctness properties of temporal systems, which need to express timing as an essential part of their functionality requirements, can be expressed in RTCTL. We also develop a model-checking algorithm for RTCTL whose complexity is linear in the size of the RTCTL specification formula and in the size of the global state-space graph. Finally, we present an optimal, exponential time tableau-based decision procedure for the satisfiability of RTCTL formulae, which can be used as the basis of a technique to automate the synthesis of real-time programs from specifications.

References

  1. [Ab80]
    Abrahamson, K., Decidability and Expressiveness of Logics of Processes, Ph.D. Thesis, Univ. of Washington, 1980.Google Scholar
  2. [Br86]
    Browne, M.C., An Improved Algorithm for the Automatic Verification of Finite State Systems Using Temporal Logic, Proc. Symp. on Logic in Computer Science, Cambridge, pp. 260–266, 1986.Google Scholar
  3. [BHP81]
    Ben-Ari, M., J.Y. Halpern, A. Pnueli, Finite Models for Deterministic Propositional Dynamic Logic, Proc. 8th Annual International Colloquium on Automata, Languages and Programming, LNCS#115, Springer-Verlag, pp. 249–263, 1981; a revised version entitled Deterministic Propositional Dynamic Logic: Finite Models, Complexity, and Completeness, appears in Journal of Computer and System Sciences, vol 25, no. 3, pp. 402–417, 1982.Google Scholar
  4. [BMP81]
    Ben-Ari, M., Z. Manna, A. Pnueli, The Temporal Logic of Branching Time, Proc. 8th Annual ACM Symp. on Principles of Programming Languages, Williamsburg, pp. 164–176, 1981; also appeared in Acta Informatica, vol. 20, no. 3, pp. 207–226, 1983.Google Scholar
  5. [CES83]
    Clarke, E.M., E.A. Emerson, A.P. Sistla, Automatic Verification of Finite State Concurrent Systems Using Temporal Logic Specifications: A Practical Approach, Proc. 10th Annual ACM Symp. on Principles of Programming Languages, Austin, pp. 117–126, 1983; also appeared in ACM Transactions on Programming Languages and Systems, vol. 8, no. 2, pp. 244–263, 1986.Google Scholar
  6. [CG87]
    Clarke, E.M., O. Grumberg, Avoiding the State Explosion Problem in Temporal Model Checking Algorithms, Proc. of the 6th Annual ACM Symp. on Principles of Distributed Computing, Vancouver, pp. 294–303, 1987.Google Scholar
  7. [Di76]
    Dijkstra, E.W., A Discipline of Programming, Prentice-Hall, 1976.Google Scholar
  8. [Em85]
    Emerson, E.A., Automata, Tableaux, and Temporal Logics, Proc. Conf. on Logics of Programs, Brooklyn, R. Parikh, editor, LNCS#193, Springer-Verlag, pp. 79–88, 1985.Google Scholar
  9. [EC82]
    Emerson, E.A., E.M. Clarke, Using Branching Time Logic to Synthesize Synchronization Skeletons, Science of Computer Programming, vol. 2, pp. 241–266, 1982.Google Scholar
  10. [EH82]
    Emerson, E.A., J.Y. Halpern, Decision Procedures and Expressiveness in the Temporal Logic of Branching Time, Proc. of the 14th Annual ACM Symp. on Theory of Computing, San Francisco, pp. 169–180, 1982; also appeared in Journal of Computer and System Sciences, vol 30, no. 1, pp. 1–24, 1985.Google Scholar
  11. [EH83]
    Emerson, E.A., J.Y. Halpern, “Sometimes” and “Not Never” Revisited: On Branching versus Linear Time, Proc. 10th Annual ACM Symp. on Principles of Programming Languages, Austin, pp. 127–140, 1983; also appeared in Journal ACM, vol 33, no. 1, pp. 151–178, 1986.Google Scholar
  12. [EL85]
    Emerson, E.A., C.L. Lei, Modalities for Model Checking: Branching Time Logic Strikes Back, Proc. 12th Annual ACM Symp. on Principles of Programming Languages, New Orleans, pp. 84–96, 1985; also appeared in Science of Computer Programming, vol. 8, pp. 275–306, 1987.Google Scholar
  13. [EL88]
    Emerson, E.A., C.L. Lei, Model-Checking in the Propositional Mu-Calculus, unpublished manuscript, 1988.Google Scholar
  14. [ES84]
    Emerson, E.A., A.P. Sistla, Deciding Full Branching Time Logic, Information and Control, vol. 61, no. 3, pp. 175–201, 1984; also appeared in Proc. of the 16th Annual ACM Symp. on Theory of Computing, Washington D.C., pp. 14–24, 1984.Google Scholar
  15. [ESS89]
    Emerson, E.A., T.H. Sadler, J. Srinivasan, Efficient Temporal Reasoning, Proc. 16th Annual ACM Symp. on Principles of Programming Languages, Austin, pp. 166–178, 1989.Google Scholar
  16. [FL79]
    Fischer, M.J., R.E. Ladner, Propositional Dynamic Logic of Regular Programs, Journal of Computer and System Sciences, vol. 18, pp. 194–211, 1979.Google Scholar
  17. [GPSS80]
    Gabbay, D., A. Pnueli, S. Shelah, J. Stavi, On the Temporal Analysis of Fairness, Proc. 7th Annual ACM Symp. on Principles of Programming Languages, Las Vegas, pp. 163–173, 1980.Google Scholar
  18. [JM87]
    Jahanian, F., A.K. Mok, A Graph-Theoretic Approach for Timing Analysis and its Implementation, IEEE Transactions on Computers, vol. C-36, no. 8, pp. 961–975, 1987.Google Scholar
  19. [Ko82]
    Kozen, D., Results on the Propositional μ-Calculus, Proc. 9th Annual International Colloquium on Automata, Languages and Programming, LNCS#140, Springer-Verlag, pp. 348–359, 1982; also appeared in Theoretical Computer Science, vol. 27, no. 3, pp. 333–354, 1983.Google Scholar
  20. [LP85]
    Lichtenstein, O., A. Pnueli, Checking That Finite State Concurrent Programs Satisfy Their Linear Specification, Proc. 12th Annual ACM Symp. on Principles of Programming Languages, New Orleans, pp. 97–107, 1985.Google Scholar
  21. [LPZ85]
    Lichtenstein, O., A. Pnueli, L. Zuck, The Glory of The Past, Proc. Conf. on Logics of Programs, Brooklyn, R. Parikh, editor, LNCS#193, Springer-Verlag, pp. 196–218, 1985.Google Scholar
  22. [MW84]
    Manna, Z., P. Wolper, Synthesis of Communicating Processes from Temporal Logic Specifications, ACM Transactions on Programming Languages and Systems, vol. 6, no. 1, pp. 68–93, 1984.Google Scholar
  23. [OL82]
    Owicki, S., L. Lamport, Proving Liveness Properties of Concurrent Programs, ACM Transactions on Programming Languages and Systems, vol. 4, no. 3, pp. 455–495, 1982.Google Scholar
  24. [Pn77]
    Pnueli, A., The Temporal Logic of Programs, 18th Annual Symp. on Foundations of Computer Science, Providence, pp. 46–57, 1977.Google Scholar
  25. [PR89]
    Pnueli, A., R. Rosner, On the Synthesis of a Reactive Module, Proc. 16th Annual ACM Symp. on Principles of Programming Languages, Austin, pp. 179–190, 1989.Google Scholar
  26. [Pr80]
    Pratt, V., A Near-Optimal Method For Reasoning About Action, Journal of Computer and System Sciences, vol 20, no. 2, pp. 231–254, 1980.Google Scholar
  27. [Sif87]
    J. Sifakis, personal communication, 1987.Google Scholar
  28. [SC82]
    Sistla, A.P., E.M. Clarke, The Complexity of Propositional Linear Temporal Logics, Proc. of the 14th Annual ACM Symp. on Theory of Computing, San Francisco, pp. 159–168, 1982; also appeared in Journal ACM, vol. 32, no. 3, pp. 733–749, 1985.Google Scholar
  29. [SG87]
    Sistla, A.P., S.M. German, Reasoning With Many Processes, Proc. 2nd Annual Symp. on Logic in Computer Science, Ithaca, pp. 138–152, 1987.Google Scholar
  30. [St81]
    Streett, R.S., Propositional Dynamic Logic of Looping and Converse, Ph.D. Thesis, MIT LCS Technical Report TR-263, 1981; alternatively, see: Propositional Dynamic Logic of Looping and Converse is Elementarily Decidable, Information and Control, vol. 54, pp. 121–141, 1982.Google Scholar
  31. [VW84]
    Vardi M., P. Wolper, Automata Theoretic Techniques for Modal Logics of Programs, Proc. of the 16th Annual ACM Symp. on Theory of Computing, Washington D.C., pp. 446–456, 1984; also appeared in Journal of Computer and System Sciences, vol 32, no. 2, pp. 183–221, 1984.Google Scholar
  32. [Wo81]
    Wolper, P., Temporal Logic Can Be More Expressive, 22nd Annual Symp. on Foundations of Computer Science, Nashville, pp. 340–348, 1981; also appeared in Information and Control, vol. 56, pp. 72–99, 1983.Google Scholar
  33. [WVS83]
    Wolper, P., M. Vardi, A.P. Sistla, Reasoning about Infinite Computation Paths, 24th Annual Symp. on Foundations of Computer Science, Tucson, pp. 185–194, 1983.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1991

Authors and Affiliations

  • E. Allen Emerson
    • 1
  • A. K. Mok
    • 1
  • A. P. Sistla
    • 2
  • Jai Srinivasan
    • 1
  1. 1.Department of Computer SciencesThe University of Texas at AustinAustin
  2. 2.GTE Research LaboratoriesWaltham

Personalised recommendations