Verification of Reactive Systems Using Temporal Logic with Clocks

Abstract This paper presents a framework for the specification and verification of timing properties of reactive systems using Temporal Logic with Clocks (TLC). Reactive systems usually contain a number of parallel processes, therefore, it is essential to study and analyse each process based on its own local time. TLC is a temporal logic extended with multiple clocks, and it is in particular suitable for the specification of reactive systems. In our framework, the behavior of a reactive system is described through a formal specification; its timing properties, including safety and liveness properties, are expressed by TLC formulas. We also propose several demonstration techniques, such as an application of local reasoning and deriving fixed-time rules from the proof system of TLC, for proving that a reactive system meets its temporal specification. Under the proposed framework, the timing properties of a reactive system can therefore be directly reasoned about from the formal specification of the system.

[1]  J. W. Lloyd,et al.  Foundations of logic programming; (2nd extended ed.) , 1987 .

[2]  Mehmet A. Orgun,et al.  Dealing with Multiple Granularity of Time in Temporal Logic Programming , 1996, J. Symb. Comput..

[3]  Willem P. de Roever,et al.  Real-time programming and asynchronous message passing , 1983, PODC '83.

[4]  Antony Galton,et al.  Temporal logics and their applications , 1987 .

[5]  Chuchang Liu Mehmet A. Orgun Clocked Temporal Logic Programming , 1996 .

[6]  Amir Pnueli,et al.  Applications of Temporal Logic to the Specification of Real-time Systems , 1988, FTRTFT.

[7]  Leslie Lamport,et al.  Specifying Concurrent Program Modules , 1983, TOPL.

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

[9]  Patrick Brézillon,et al.  Lecture Notes in Artificial Intelligence , 1999 .

[10]  Zohar Manna,et al.  The anchored version of the temporal framework , 1988, REX Workshop.

[11]  Dov M. Gabbay,et al.  Temporal Logic & Historical Databases , 1991, VLDB.

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

[13]  Zohar Manna,et al.  Verification of concurrent programs, Part I: The temporal framework , 1981 .

[14]  Mehmet A. Orgun,et al.  A Constraint Mechanism for Knowlege Specification of Simulation Systems Based on Temporal Logic , 1997, Australian Joint Conference on Artificial Intelligence.

[15]  Mehmet A. Orgun,et al.  A recursive temporal algebra and temporal completeness , 1996, Proceedings Third International Workshop on Temporal Representation and Reasoning (TIME '96).

[16]  Wojciech Penczek,et al.  A Temporal Logic for the Local Specification of Concurrent Systems , 1989, IFIP Congress.

[17]  Leslie Lamport,et al.  Artificial Intelligence and Language Processing ]acques Cohen Editor a Simple Approach to Specifying Concurrent Systems , 2022 .

[18]  Robin Milner,et al.  Communication and concurrency , 1989, PHI Series in computer science.

[19]  Zohar Manna,et al.  Temporal Verification of Reactive Systems , 1995, Springer New York.

[20]  Wojciech Penczek,et al.  A Temporal Logic for Event Structures , 1990 .

[21]  John Plaice,et al.  A Non-Standard Temporal Deductive Database System , 1996, J. Symb. Comput..

[22]  Marianne Baudinet,et al.  Temporal Deductive Databases , 1993, Temporal Databases.

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

[24]  Fred Krögr Temporal Logic Of Programs , 1987 .

[25]  J. M. Larrazabal,et al.  Reasoning about change , 1991 .

[26]  Madhavan Mukund,et al.  A Logical Characterization of Well Branching Event Structures , 1992, Theor. Comput. Sci..

[27]  Martín Abadi,et al.  Conjoining specifications , 1995, TOPL.

[28]  Gunter Saake,et al.  Deriving Liveness Goals from Temporal Logic Specifications , 1996, J. Symb. Comput..

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

[30]  Edmund M. Clarke,et al.  A Synthesis of Two Approaches for Verifying Finite State Concurrent Systems , 1989, J. Log. Comput..

[31]  Colin J. Fidge,et al.  Logical time in distributed computing systems , 1991, Computer.

[32]  Edmund M. Clarke,et al.  A Synthesis of Two Approaches for Verifying Finite State Concurrent Systems , 1989, J. Log. Comput..

[33]  Leslie Lamport,et al.  The temporal logic of actions , 1994, TOPL.

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

[35]  Sushil Jajodia,et al.  Temporal Databases: Theory, Design, and Implementation , 1993 .

[36]  Edmund M. Clarke,et al.  Design and Synthesis of Synchronization Skeletons Using Branching-Time Temporal Logic , 1981, Logic of Programs.

[37]  Faron Moller,et al.  A Temporal Calculus of Communicating Systems , 1990, CONCUR.

[38]  Zohar Manna,et al.  The Temporal Logic of Reactive and Concurrent Systems , 1991, Springer New York.

[39]  John Wylie Lloyd,et al.  Foundations of Logic Programming , 1987, Symbolic Computation.

[40]  Mehmet A. Orgun,et al.  BCTL: a branching clock temporal logic , 1997, Proceedings of TIME '97: 4th International Workshop on Temporal Representation and Reasoning.

[41]  Robert M. Keller,et al.  Formal verification of parallel programs , 1976, CACM.

[42]  Zohar Manna,et al.  Temporal verification of reactive systems - safety , 1995 .

[43]  Zohar Manna,et al.  A Temporal Proof Methodology for Reactive Systems , 1990, NATO ASI PDC.

[44]  Alexander Tuzhilin,et al.  SimTL: a simulation language based on temporal logic , 1992 .

[45]  Mehmet A. Orgun,et al.  Executing specifications of distributed computations with Chronolog(MC) , 1996, SAC '96.