# Quantitative temporal reasoning

## 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

- [Ab80]Abrahamson, K., Decidability and Expressiveness of Logics of Processes, Ph.D. Thesis, Univ. of Washington, 1980.Google Scholar
- [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 - [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 - [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 - [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 - [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 - [Di76]Dijkstra, E.W.,
*A Discipline of Programming,*Prentice-Hall, 1976.Google Scholar - [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 - [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 - [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 - [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 - [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 - [EL88]Emerson, E.A., C.L. Lei, Model-Checking in the Propositional Mu-Calculus,
*unpublished manuscript,*1988.Google Scholar - [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 - [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 - [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 - [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 - [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 - [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 - [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 - [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 - [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 - [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 - [Pn77]Pnueli, A., The Temporal Logic of Programs,
*18th Annual Symp. on Foundations of Computer Science,*Providence, pp. 46–57, 1977.Google Scholar - [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 - [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 - [Sif87]J. Sifakis,
*personal communication*, 1987.Google Scholar - [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 - [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 - [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 - [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 - [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 - [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