Temporal logics for real-time system specification

The specification of reactive and real-time systems must be supported by formal, mathematically-founded methods in order to be satisfactory and reliable. Temporal logics have been used to this end for several years. Temporal logics allow the specification of system behavior in terms of logical formulas, including temporal constraints, events, and the relationships between the two. In the last ten years, temporal logics have reached a high degree of expressiveness. Most of the temporal logics proposed in the last few years can be used for specifying reactive systems, although not all are suitable for specifying real-time systems. In this paper we present a series of criteria for assessing the capabilities of temporal logics for the specification, validation, and verification of real-time systems. Among the criteria are the logic's expressiveness, the logic's order, presence of a metric for time, the type of temporal operators, the fundamental time entity, and the structure of time. We examine a selection of temporal logics proposed in the literature. To make the comparison clearer, a set of typical specifications is identified and used with most of the temporal logics considered, thus presenting the reader with a number of real examples.

[1]  James F. Allen,et al.  Actions and Events in Interval Temporal Logic , 1994 .

[2]  J.A. Stankovic,et al.  Misconceptions about real-time computing: a serious problem for next-generation systems , 1988, Computer.

[3]  Stephan Merz,et al.  Efficiently Executable Temporal Logic Programs , 1993, Executable Modal and Temporal Logics.

[4]  Jonathan S. Ostroff,et al.  Temporal logic for real-time systems , 1989 .

[5]  P. M. Melliar-Smith Extending Interval Logic to Real Time Systems , 1987, Temporal Logic in Specification.

[6]  Dov M. Gabbay,et al.  The imperative future: principles of executable temporal logic , 1996 .

[7]  Samson Abramsky,et al.  Handbook of logic in computer science (vol. 1): background: mathematical structures , 1993 .

[8]  T. Clement,et al.  Object-Oriented Specification Case Studies , 1995 .

[9]  Ben C. Moszkowski,et al.  A Temporal Logic for Multilevel Reasoning about Hardware , 1985, Computer.

[10]  Jonathan S. Ostroff Verification of Safety Critical Systems Using TTM/RTTL , 1991, REX Workshop.

[11]  Ben C. Moszkowski,et al.  Executing temporal logic programs , 1986, Seminar on Concurrency.

[12]  Paolo Nesi,et al.  An Interval Logic for Real-Time System Specification , 2001, IEEE Trans. Software Eng..

[13]  Peter B. Ladkin,et al.  Models of Axioms for Time Intervals , 1987, AAAI.

[14]  Lawrence Charles Paulson,et al.  Isabelle: A Generic Theorem Prover , 1994 .

[15]  VilaLluís,et al.  A survey on temporal reasoning in artificial intelligence , 1994 .

[16]  Michael M. Gorlick,et al.  Real-time interval logic for reasoning about executions of real-time programs , 1989 .

[17]  Dov M. Gabbay,et al.  Handbook of logic in computer science. Volume 3. Semantic Structures , 1995 .

[18]  Reinhard Gotzhein,et al.  Temporal Logic and Applications-A Tutorial , 1992, Comput. Networks ISDN Syst..

[19]  Dov M. Gabbay,et al.  METATEM: A Framework for Programming in Temporal Logic , 1989, REX Workshop.

[20]  Thomas A. Henzinger,et al.  A really temporal logic , 1994, JACM.

[21]  W. M. Wonham,et al.  A framework for real-time discrete event control , 1990 .

[22]  Bernhard Josko MCTL - An Extension of CTL for Modular Verification of Concurrent Systems , 1987, Temporal Logic in Specification.

[23]  Thomas A. Henzinger,et al.  Logics and Models of Real Time: A Survey , 1991, REX Workshop.

[24]  Peter B. Andrews An introduction to mathematical logic and type theory - to truth through proof , 1986, Computer science and applied mathematics.

[25]  Zohar Manna,et al.  Proving Precedence Properties: The Temporal Way , 1983, ICALP.

[26]  Mordechai Ben-Ari,et al.  The temporal logic of branching time , 1981, POPL '81.

[27]  Michael M. Gorlick,et al.  Real-time interval logic for reasoning about executions of real-time programs , 1989, TAV3.

[28]  Daniel DeMenthon,et al.  Rambo-vision and planning on the connection machine , 1989 .

[29]  Michael Fisher,et al.  An Introduction to Executable Modal and Temporal Logics , 1993, Executable Modal and Temporal Logics.

[30]  Kevin Lano Z++, An Object-orientated Extension to Z , 1990, Z User Workshop.

[31]  Louise E. Moser,et al.  A graphical environment for the design of concurrent real-time systems , 1997, TSEM.

[32]  共立出版株式会社 コンピュータ・サイエンス : ACM computing surveys , 1978 .

[33]  Thomas A. Henzinger,et al.  Real-time logics: complexity and expressiveness , 1990, [1990] Proceedings. Fifth Annual IEEE Symposium on Logic in Computer Science.

[34]  Zohar Manna,et al.  Reasoning in Interval Temporal Logic , 1983, Logic of Programs.

[35]  Edmund M. Clarke,et al.  The Model Checking Problem for Concurrent Systems with Many Similar Processes , 1987, Temporal Logic in Specification.

[36]  Zohar Manna,et al.  A Hardware Semantics Based on Temporal Intervals , 1983, ICALP.

[37]  Kevin Lano,et al.  Object-oriented specification case studies , 1994 .

[38]  Dov M. Gabbay,et al.  Meta-Reasoning in Executable Temporal Logic , 1991, KR.

[39]  Zohar Manna,et al.  A hierarchy of temporal properties (invited paper, 1989) , 1990, PODC '90.

[40]  Paul W. H. Chung,et al.  Proceedings of the 6th international conference on Industrial and engineering applications of artificial intelligence and expert systems , 1993 .

[41]  Amir Pnueli,et al.  A Choppy Logic , 1986, LICS.

[42]  A. Prasad Sistla,et al.  Quantitative Temporal Reasoning , 1990, CAV.

[43]  Farn Wang,et al.  Distributed real-time system specification and verification in APTL , 1993, TSEM.

[44]  Miguel Felder,et al.  Validating Real-time Systems By History-checking TRIO Specifications , 1992, International Conference on Software Engineering.

[45]  Amir Pnueli The Temporal Semantics of Concurrent Programs , 1981, Theor. Comput. Sci..

[46]  Alexander D. Stoyenko,et al.  The evolution and state-of-the-art of real-time languages , 1992 .

[47]  Jonathan S. Ostroff,et al.  Formal methods for the specification and design of real-time safety critical systems , 1992, J. Syst. Softw..

[48]  J. van Katwijk,et al.  VDM++, a formal specification language for object-oriented designs , 1992, CompEuro 1992 Proceedings Computer Systems and Software Engineering.

[49]  Wanli Ma,et al.  An Overview of Temporal and Modal Logic Programming , 1994, ICTL.

[50]  Thomas A. Henzinger,et al.  A really temporal logic , 1989, 30th Annual Symposium on Foundations of Computer Science.

[51]  Marcelo Finger,et al.  Metatem at work: modelling reactive systems using executable temporal logic , 1993 .

[52]  James F. Allen Maintaining knowledge about temporal intervals , 1983, CACM.

[53]  Paolo Nesi,et al.  Using TILCO for specifying real-time systems , 1996, Proceedings of ICECCS '96: 2nd IEEE International Conference on Engineering of Complex Computer Systems (held jointly with 6th CSESAW and 4th IEEE RTAW).

[54]  Louise E. Moser,et al.  A graphical interval logic for specifying concurrent systems , 1994, TSEM.

[55]  Carlo Ghezzi,et al.  TRIO: A logic language for executable specifications of real-time systems , 1990, J. Syst. Softw..

[56]  James F. Allen,et al.  Actions and Events in Interval Temporal Logic , 1994, J. Log. Comput..

[57]  Ruth E. Davis Truth, deduction, and computation - logic and semantics for computer science , 1989, Principles of computer science series.

[58]  Colin Stirling,et al.  Comparing Linear and Branching Time Temporal Logics , 1987, Temporal Logic in Specification.

[59]  Amir Pnueli,et al.  Applications of Temporal Logic to the Specification and Verification of Reactive Systems: A Survey of Current Trends , 1986, Current Trends in Concurrency.

[60]  Amir Pnueli,et al.  The temporal logic of programs , 1977, 18th Annual Symposium on Foundations of Computer Science (sfcs 1977).

[61]  P. M. Melliar-Smith,et al.  From State Machines to Temporal Logic: Specification Methods for Protocol Standards , 1982, The Analysis of Concurrent Systems.

[62]  Joseph Y. Halpern,et al.  “Sometimes” and “not never” revisited: on branching versus linear time temporal logic , 1986, JACM.

[63]  Pamela Zave,et al.  An Operational Approach to Requirements Specification for Embedded Systems , 1982, IEEE Transactions on Software Engineering.

[64]  Fred Kröger,et al.  Temporal Logic of Programs , 1987, EATCS Monographs on Theoretical Computer Science.

[65]  P. M. Melliar-Smith,et al.  An interval logic for higher-level temporal reasoning , 1983, PODC '83.

[66]  Lluís Vila,et al.  A Survey on Temporal Reasoning in Artificial Intelligence , 1994, AI Communications.

[67]  Thomas A. Henzinger,et al.  Real-Time Logics: Complexity and Expressiveness , 1993, Inf. Comput..

[68]  A. Pnueli The Temporal Semantics of Concurrent Programs , 1979, Theor. Comput. Sci..

[69]  Aloysius K. Mok,et al.  Safety analysis of timing properties in real-time systems , 1986, IEEE Transactions on Software Engineering.

[70]  Yoav Shoham,et al.  A propositional modal logic of time intervals , 1991, JACM.

[71]  David A. Carrington,et al.  Object-Z: An Object-Oriented Extension to Z , 1989, FORTE.