Skip to main content
Log in

Quantitative temporal reasoning

  • Published:
Real-Time Systems Aims and scope Submit manuscript

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 propose 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 argue that many 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 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 structure. We also present an essentially optimal, exponential time tableau-based decision procedure for the satisfiability of RTCTL formulae. Finally, we consider several variants and extensions of RTCTL for real-time reasoning.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Similar content being viewed by others

References

  • Abrahamson, K. 1980. Decidability and expressiveness of logics of processes, Ph.D. Thesis, Univ. of Washington.

  • Alur, R. 1991. Techniques for automatic verification of real-time systems, Ph.D. Thesis, Computer Science Department, Stanford University, August, Technical Report STAN-CS-91-1378.

  • Alur, R., Courcoubetis, C., and Dill, D. 1990. Model-checking for real-time systems. Proc of the 5th IEEE Symp. on Logic in Computer Science (LICS), pp. 414–425.

  • Alur, R., and Dill, D. 1990. Automata for modeling real-time systems. In 17th Inter. Conf. on Automata, Languages, and Programming (ICALP90), (M. Paterson, ed.), Lecture Notes in Computer Science 443, Berlin/New York: Springer-Verlag, pp. 322–335.

    Google Scholar 

  • Alur, R., Feder, T., and Henzinger, T. 1991. The benefits of relaxing punctuality. Proc. 10th Ann. ACM Symp. on Principles of Distributed Computing (PODC), pp. 139–152.

  • Alur, R., and Henzinger, T. 1989. A really temporal logic. Proc. of the 30th IEEE Symp. on Found. of Comp. Sci. (FOCS), pp. 164–169.

  • Alur, R., and Henzinger, T. 1990. Real-time logics: Complexity and expressiveness. Proc. of 5th Ann. Symp. on Logic in Comp. Sci. (LICS), pp. 390–401.

  • Browne, M.C. 1986. 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.

  • Burgess, J. 1984. Basic tense logic. In Handbook of Philosophical Logic, (D. Gabbay and F. Guenthner, eds.), D. Reidel Pub. Co., Dordrecht/Boston/Lancaster.

    Google Scholar 

  • Chandra, A., Kozen, D., and Stockmever, L., 1981. Alternation. JACM, 28(1): 114–133.

    Google Scholar 

  • Clarke, E.M., and Emerson, E.A. 1981. Design and synthesis of synchronization skeletons using branching time temporal logic. Proc. of the Workshop on Logics of Programs, Yorktown Heights, (D. Kozen, ed.), Lecture Notes in Computer Science 131, Berlin/New York: Springer-Verlag, pp. 52–71.

    Google Scholar 

  • Clarke, E.M., Emerson, E.A., and Sistla, A.P. 1983. Automatic verification of finite state concurrent systems using temporal logic specifications. Proc. 10th Annual ACM Symp. on Principles of Programming Languages, Austin, pp. 117–126; Journal version appeared in ACM Transactions on Programming Languages and Systems, 8(2): 244–263, 1986.

  • Clarke, E., and Grumberg, O., 1987. Research on automatic verification of finite state concurrent systems, Ann. Rev. Comp. Sci., 2: 269–290.

    Google Scholar 

  • Clarke, E.M., Bose, S., Browne, M., and Grumberg, O. 1987. The design and verification of finite state hardware controllers. Technical Report CMU-CS-87-145, Carnegie-Mellon Univ.

  • de Bakker, J.W., Huizing, C., de Roever, W.P. and Rozenberg, G. 1992. Real-Time: Theory in Practice. Berlin/New York: Springer-Verlag, Lecture Notes in Computer Science 600.

    Google Scholar 

  • de Roever, W.P. 1976. Recursive Program Schemes: Semantics and Proof Theory. Mathematical Centre Tracts 70, Mathematisch Centrum, Amsterdam.

    Google Scholar 

  • Dijkstra, E.W. 1976. A Discipline of Programming, Englewood Cliffs, NJ: Prentice-Hall.

    Google Scholar 

  • Emerson, E.A. 1990. Temporal and modal logic. In Handbook of Theoretical Computer Science, vol. B. (J.van Leeuwen, ed.), Amsterdam: North-Holland, pp. 995–1072.

    Google Scholar 

  • Emerson, E.A., and Clarke, E.M. 1980. Characterizing correctness properties of parallel programs using fixpoints. Proc. 7th Annual International Colloquium on Automata, Languages and Programming, Lecture Notes in Computer Science 85, Berlin/New York: Springer-Verlag, pp. 169–181.

    Google Scholar 

  • Emerson, E.A., and Clarke, E.M. 1982. Using branching time logic to synthesize synchronization skeletons, Science of Computer Programming, 2: 241–266.

    Google Scholar 

  • Emerson, E.A., and Halpern, J.Y. 1982. 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–189; also appeared in Journal of Computer and System Sciences, 30(1): 1–24, 1985.

  • Emerson, E.A., and Halpern, J.Y. 1983. Sometimes and not never revisited: On branching versus linear time temporal logic, Proc. 10th Annual ACM Symp. on Principles of Programming Languages, Austin, pp. 127–140; journal version appeared in Journal of the ACM, 33(1): 151–178.

  • Emerson, E.A., and Lei, C.-L. 1985. Modalities for model checking: Branching time logic strikes back, Proc. 12th Annual ACM Symp. on Principles of Programming Languages, New Orleans, pp. 84–96; also appeared in Science of Computer Programming, 8: 275–306, 1987.

  • Emerson, E.A., and Lei, C.-L. 1986. Efficient model checking in fragments of the Mu-Calculus, IEEE Symp. on Logic in Computer Science, pp. 267–278.

  • Emerson, E.A., and Lei, C.-L. 1987. New results on model-checking in the propositional Mu-Calculus. Presented at the Coloquium on Temporal Logic and Specification, Altrincham, England, April 1987.

  • Emerson, E.A., Mok, A.K., Sistla, A.P., and Srinivasan, J. 1989. Quantitative temporal reasoning. Proceedings of the Workshop on Automatic Verification for Finite State Systems (Participants Version), C-cube, the French National Concurrency Project, June 12–14.

  • Fischer, M., and Ladner, R. 1979. Propositional dynamic logic of regular programs, Journal of Computer and System Sciences, 18(2): 194–211.

    Google Scholar 

  • Gerth, R., and Boucher, A. 1987. A timed failures model for extending communicating processes. In Proc. of the 14th Ann. Int. Conf. on automata, Languages, and Programming, Berlin/New York: Springer, Lecture Notes in Computer Science 267, pp. 95–114.

    Google Scholar 

  • Hansson, H., and Jonsson, B. 1989. A framework for reasoning about time and realiability. Proc. of 10th Annual IEEE Real Time Systems Symp., Santa Monica, Ca., December 5–7, pp. 102–111.

  • Hansson, H. 1991. Time and probability in formal design of distributed systems. Ph.D. Dissertation, Uppsala University, Sweden, DoCS91/27, September 1991.

  • Henzinger, T. 1990. Half-order modal logic: How to prove real-time properties. Proc. of the 9th. Ann. ACM Symp. on Princ. of Distr. Comp. (PODC), pp. 281–296.

  • Henzinger, T. 1991. The temporal specification and verification of real time systems. Ph.D. Thesis, Computer Science Department, Stanford University, August 1991, Technical Report STAN-CS-91-1380.

  • Hooman, J. 1991. Specification and compositional verification of real time systems. Ph.D. Thesis, Eindhoven University of Technology.

  • Jahanian, F., and Mok, A.K. 1986. Safety analysis of timing properties in real time systems. IEEE Trans. Software Eng., SE-12(9): 890–904.

    Google Scholar 

  • Jahanian, F., and Mok, A.K. 1987. A graph-theoretic approach for timing analysis and its implementation, IEEE Transactions on computers, C-36(8): 961–975.

    Google Scholar 

  • Jahanian, F., and Mok, A.K. 1988. A method for verifying properties of modechart specifications. Proc. of the 9th IEEE Real-Time Systems Symposium, pp. 12–21.

  • Koymans, R. 1989. Specifying message passing and time critical systems with temporal logic. Ph.D. Thesis, Eindhoven University of Technology.

  • Koymans, R. 1990. Specifying real time properties with metric temporal logic. Real Time Systems, 2(4): 255–299.

    Google Scholar 

  • Koymans, R., Vytopil, J., and de Roever, W.-P. 1983. Real time programming and asynchronous message passing. Proc. of the 2nd Annual ACM Symp. on Principles of Distributed Computing (PODC), pp. 187–197.

  • Lewis, H.R. 1990. A logic of concrete time intervals. Proc. of the 5th Annual Symposium on Logic in Computer Science (LICS), IEEE Press, pp. 380–399, Philadelphia.

    Google Scholar 

  • Lichtenstein, O., and Pnueli, A. 1985. 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.

  • Lichtenstein, O., Pnueli, A., and Zuck, L. 1985. The glory of the past. Proc. Conf. on Logics of Programs, Brooklyn, (R. Parikh, ed.), Lecture Notes in Computer Science 193, Berlin/New York: Springer-Verlag, pp. 196–218.

    Google Scholar 

  • Manna, Z., and Wolper, P. 1984. Synthesis of communicating processes from temporal logic specifications. ACM Transactions on Programming Languages and Systems, 6(1): 68–93.

    Google Scholar 

  • Melliar-Smith, P.M. 1987. Extending interval logic to real time systems. Temporal Logic in Specification, (B. Banieqbal, H. Barringer, A. Pnueli, eds.), pp. 224–242, Berlin/New York: Springer-Verlag, Lecture Notes in Computer Science 398, April 1987.

    Google Scholar 

  • Narayana, K.T., and Aaby, A.A. 1988. Specification of real-time systems in real-time temporal interval logic. Proc. of IEEE Real-Time Systems Symp., December, pp. 86–95.

  • Ostroff, J. 1990. Deciding properties of timed transition models. IEEE Transactions on Parallel and Distributed Systems, 1(2): 170–183, April.

    Google Scholar 

  • Ostroff, J. 1990b. Temporal Logic of Real-Time Systems, London: Wiley, 1990.

    Google Scholar 

  • Ostroff, J. 1991. Survey of formal methods for the specification and design of real-time systems. Manuscript, Computer Science Department, York University, Ontario, Canada, to appear in Tutorial on Specification of Time, IEEE Press, forthcoming.

    Google Scholar 

  • Pnueli, A. 1977. The temporal logic of programs. 18th Annual Symp. on Foundations of Computer Science, Providence, pp. 46–57.

  • Pnueli, A., and Harel, E. 1988. Application of temporal logic to the specification of real-time systems. In Formal Techniques in Real-Time and Fault Tolerant Systems. (M. Joseph, ed.), Berlin/New York: Springer-Verlag, Lecture Notes in Computer Science 331.

    Google Scholar 

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

  • Prior, A. 1957. Time and Modality, Oxford University Press, Oxford.

    Google Scholar 

  • Prior, A. 1967. Past, Present, and Future. Oxford University Press, Oxford.

    Google Scholar 

  • Queille, J.P., and Sifakis, J. 1981. Specification and verification of concurrent systems in CESAR. Proc. of the 5th International Symposium on Programming, Lecture Notes in Computer Science 137, Berlin/New York: Springer-Verlag, pp. 337–350.

    Google Scholar 

  • Sistla, A.P., and Clarke, E.M. 1985. 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 of the ACM, 32(3): 733–749.

  • van Benthem, J. 1983. The Logic of Time. D. Reidel Pub. Co., Dordrecht/Boston/London.

    Google Scholar 

  • Yodaiken, V., and Ramamritham, K. 1990. Specifying and verifying a real-time priority queue with modal algebra. Proc. 11th IEEE Symp. on Real-Time Systems. pp. 300–311, December 5–7.

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Emerson, E.A., Mok, A.K., Sistla, A.P. et al. Quantitative temporal reasoning. Real-Time Syst 4, 331–352 (1992). https://doi.org/10.1007/BF00355298

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF00355298

Keywords

Navigation