An Interval Logic for Real-Time System Specification

Formal techniques for the specification of real time systems must be capable of describing system behavior as a set of relationships expressing the temporal constraints among events and actions, including properties of invariance, precedence, periodicity, liveness, and safety conditions. The paper describes a Temporal-Interval Logic with Compositional Operators (TILCO) designed expressly for the specification of real time systems. TILCO is a generalization of classical temporal logics based on the operators, eventually and henceforth; it allows both qualitative and quantitative specification of time relationships. TILCO is based on time intervals and can concisely express temporal constraints with time bounds, such as those needed to specify real time systems. This approach can be used to verify the completeness and consistency of specifications, as well as to validate system behavior against its requirements and general properties. TILCO has been formalized by using the theorem prover Isabelle/HOL. TILCO specifications satisfying certain properties are executable by using a modified version of the Tableaux algorithm. The paper defines TILCO and its axiomatization, highlights the tools available for proving properties of specifications and for their execution, and provides an example of system specification and validation.

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

[2]  Paolo Nesi,et al.  Metric framework for object-oriented real-time systems specification languages , 1996, J. Syst. Softw..

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

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

[5]  Lawrence Charles Paulson,et al.  ML for the working programmer , 1991 .

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

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

[8]  Jonathan P. Bowen,et al.  A shallow embedding of Z in HOL , 1995, Inf. Softw. Technol..

[9]  Angelo Morzenti,et al.  Object-oriented logical specification of time-critical systems , 1994, TSEM.

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

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

[12]  Brian Henderson-Sellers,et al.  A conceptual model of cognitive complexity of elements of the programming process , 1995, Inf. Softw. Technol..

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

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

[15]  Horst Zuse,et al.  Software complexity: Measures and methods , 1990 .

[16]  Jonathan P. Bowen,et al.  Z and HOL , 1994, Z User Workshop.

[17]  Sandro Morasca,et al.  FUNCTIONAL TEST CASE GENERATION FOR REAL-TIME SYSTEMS , 1993 .

[18]  Dino Mandrioli,et al.  Proving Properties of Real-Time Systems Through Logical Specifications and Petri Net Models , 1994, IEEE Trans. Software Eng..

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

[20]  H. E. Dunsmore,et al.  Software engineering metrics and models , 1986 .

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

[22]  Alonzo Church,et al.  A formulation of the simple theory of types , 1940, Journal of Symbolic Logic.

[23]  Miguel Felder,et al.  Validating real-time systems by history-checking TRIO specifications , 1992, ICSE '92.

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

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

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

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

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

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

[30]  Pierfrancesco Bellini,et al.  TILCO Temporal Logic for Real-Time Systems Implementation in C++ , 2003, SEKE.

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

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

[33]  Herbert B. Enderton,et al.  A mathematical introduction to logic , 1972 .

[34]  W. M. Wonham,et al.  Control problems in a temporal logic framework , 1986 .

[35]  Ron Koymans,et al.  Specifying Message Passing and Time-Critical Systems with Temporal Logic , 1992, Lecture Notes in Computer Science.

[36]  Sandro Morasca,et al.  Generating test cases for real-time systems from logic specifications , 1995, TOCS.

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

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

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

[40]  John Harrison,et al.  Constructing the real numbers in HOL , 1992, Formal Methods Syst. Des..

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

[42]  Paolo Nesi,et al.  An object-oriented dual language for specifying reactive systems , 1994, Proceedings of IEEE International Conference on Requirements Engineering.

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

[44]  Pierfrancesco Bellini,et al.  Communicating TILCO: a model for real-time system specification , 2001, Proceedings Seventh IEEE International Conference on Engineering of Complex Computer Systems.

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

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

[47]  Matteo Pradella,et al.  Model-Checking TRIO Specifications in SPIN , 2003, FME.

[48]  Lawrence C. Paulson,et al.  Isabelle: The Next 700 Theorem Provers , 2000, ArXiv.

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

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

[51]  Robert E. Shostak,et al.  A Practical Decision Procedure for Arithmetic with Function Symbols , 1979, JACM.

[52]  W. Bledsoe A new method for proving certain Presburger formulas , 1975, IJCAI 1975.

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

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

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

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

[57]  Jonathan S. Ostroff,et al.  Modelling, Specifying, and Verifying Real-Time Embedded Computer Systems , 1987, IEEE Real-Time Systems Symposium.

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

[59]  Pierfrancesco Bellini,et al.  TILCO-X, an extension of TILCO temporal logic , 2001, Proceedings Seventh IEEE International Conference on Engineering of Complex Computer Systems.

[60]  Ichiro Suzuki,et al.  Formal Analysis of the Alternating Bit Protocol by Temporal Petri Nets , 1990, IEEE Trans. Software Eng..

[61]  NesiPaolo,et al.  An Interval Logic for Real-Time System Specification , 2001 .

[62]  Thomas A. Henzinger,et al.  Temporal proof methodologies for real-time systems , 1991, POPL '91.

[63]  Angelo Gargantini,et al.  Specifying, validating, and testing a traffic management system in the TRIO environment , 1996, Proceedings of 11th Annual Conference on Computer Assurance. COMPASS '96.

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