An Abstraction Technique for Real-Time Verification

In real-time systems, correctness depends on the time at which events occur. Examples of real-time systems include timed protocols and many embedded system controllers. Timed automata are an extension of finite-state automata that include real-valued clock variables used to measure time. Given a timed automaton, an equivalent finite-state region automaton can be constructed, which guarantees decidability. Timed model checking tools like Uppal, Kronos, and Red use specialized data structures to represent the real-valued clock variables. A different approach, called integer-discretization, is to define clock variables that can assume only integer values, but, in general, this does not preserve continuous-time semantics. This paper describes an implicit representation of the region automaton to which ordinary model checking tools can be applied directly. This approach differs from integer discretization because it is able to handle real-valued clock variables using a finite representation and preserves the continuous-time semantics of timed automata. In this framework, we introduce the GoAbstraction, a technique to reduce the size of the state space. Based on a conservative approximation of the region automaton, GoAbstraction makes it possible to verify larger systems. In order to make the abstraction precise enough to prove meaningful properties, we introduce auxiliary variables, called Go variables, that limit the drifting of clock variables in the abstract system. The paper includes preliminary experimental results showing the effectiveness of our technique using both symbolic and bounded model checking tools.

[1]  Thomas A. Henzinger,et al.  What Good Are Digital Clocks? , 1992, ICALP.

[2]  Farn Wang,et al.  Region Encoding Diagram for fully symbolic verification of real-time systems , 2000, Proceedings 24th Annual International Computer Software and Applications Conference. COMPSAC2000.

[3]  Sriram K. Rajamani,et al.  Automatically validating temporal safety properties of interfaces , 2001, SPIN '01.

[4]  Thomas A. Henzinger,et al.  From Quantity to Quality , 1997, HART.

[5]  David L. Dill,et al.  Timing Assumptions and Verification of Finite-State Concurrent Systems , 1989, Automatic Verification Methods for Finite State Systems.

[6]  Henrik Reif Andersen,et al.  Symbolic model checking of timed guarded commands using difference decision diagrams , 2002, J. Log. Algebraic Methods Program..

[7]  Stavros Tripakis,et al.  Efficient Verification of Timed Automata Using Dense and Discrete Time Semantics , 1999, CHARME.

[8]  Farn Wang,et al.  Symbolic Verification of Complex Real-Time Systems with Clock-Restriction Diagram , 2001, FORTE.

[9]  P. Varaiya,et al.  Discretization of timed automata , 1994, Proceedings of 1994 33rd IEEE Conference on Decision and Control.

[10]  Harald Ruess,et al.  Predicate Abstraction for Dense Real-Time Systems , 2001 .

[11]  Leslie Lamport,et al.  Real-Time Model Checking Is Really Simple , 2005, CHARME.

[12]  Stavros Tripakis,et al.  Analysis of Timed Systems Using Time-Abstracting Bisimulations , 2001, Formal Methods Syst. Des..

[13]  Farn Wang,et al.  Efficient Data Structure for Fully Symbolic Verification of Real-Time Software Systems , 2000, TACAS.

[14]  Dirk Beyer,et al.  Rabbit: A Tool for BDD-Based Verification of Real-Time Systems , 2003, CAV.

[15]  Rajeev Alur,et al.  A Theory of Timed Automata , 1994, Theor. Comput. Sci..

[16]  Wang Yi,et al.  Compositional and Symbolic Model-Checking of Real-Time Systems , 1996 .

[17]  Maria Sorea,et al.  Verification of real-time systems through lazy approximations , 2004 .

[18]  Sergio Yovine,et al.  KRONOS: a verification tool for real-time systems , 1997, International Journal on Software Tools for Technology Transfer.