Compact Data Structures and State-Space Reduction for Model-Checking Real-Time Systems

During the past few years, a number of verification tools have been developed for real-time systems in the framework of timed automata. One of the major problems in applying these tools to industrial-sized systems is the huge memory-usage for the exploration of the state-space of a network (or product) of timed automata, as the model-checkers must keep information about not only the control structure of the automata but also the clock values specified by clock constraints. In this paper, we present a compact data structure for representing clock constraints. The data structure is based on an O(n3) algorithm which, given a constraint system over real-valued variables consisting of bounds on differences, constructs an equivalent system with a minimal number of constraints. In addition, we have developed an on-the-fly reduction technique to minimize the space-usage. Based on static analysis of the control structure of a network of timed automata, we are able to compute a set of symbolic states that cover all the dynamic loops of the network in an on-the-fly searching algorithm, and thus ensure termination in reachability analysis. The two techniques and their combination have been implemented in the tool UPPAAL. Our experimental results demonstrate that the techniques result in truly significant space-reductions: for six examples from the literature, the space saving is between 75% and 94%, and in (nearly) all examples time-performance is improved. Noteworthy is also the observation that the two techniques are completely orthogonal.

[1]  Edmund M. Clarke,et al.  Symbolic Model Checking: 10^20 States and Beyond , 1990, Inf. Comput..

[2]  Alfred V. Aho,et al.  The Transitive Reduction of a Directed Graph , 1972, SIAM J. Comput..

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

[4]  Wang Yi,et al.  A Compositional Proof of a Real-Time Mutual Exclusion Protocol , 1996, TAPSOFT.

[5]  Pravin Varaiya,et al.  Verification of Hybrid Systems Using Abstractions , 1996, Hybrid Systems.

[6]  Antti Valmari A stubborn attack on state explosion , 1992, Formal Methods Syst. Des..

[7]  Wang Yi,et al.  Verification of an Audio Protocol with Bus Collision Using UPPAAL , 1996, CAV.

[8]  Amir Pnueli,et al.  Data-Structures for the Verification of Timed Automata , 1997, HART.

[9]  Wang Yi,et al.  Uppaal in a nutshell , 1997, International Journal on Software Tools for Technology Transfer.

[10]  A. Prasad Sistla,et al.  Symmetry and model checking , 1993, Formal Methods Syst. Des..

[11]  Martín Abadi,et al.  An old-fashioned recipe for real time , 1991, TOPL.

[12]  R. Bellman Dynamic programming. , 1957, Science.

[13]  Wang Yi,et al.  Diagnostic Model-Checking for Real-Time Systems , 1995, Hybrid Systems.

[14]  R. Sedgewick,et al.  Algorithms (2nd ed.) , 1988 .

[15]  David Lee,et al.  An Efficient Algorithm for Minimizing Real-Time Transition Systems , 1997, Formal Methods Syst. Des..

[16]  Thomas A. Henzinger,et al.  Symbolic Model Checking for Real-Time Systems , 1994, Inf. Comput..

[17]  Wang Yi,et al.  Compositional and symbolic model-checking of real-time systems , 1995, Proceedings 16th IEEE Real-Time Systems Symposium.

[18]  Conrado Daws,et al.  Two examples of verification of multirate timed automata with Kronos , 1995, Proceedings 16th IEEE Real-Time Systems Symposium.

[19]  Kim G. Larsen,et al.  Formal modeling and analysis of an audio/video protocol: an industrial case study using UPPAAL , 1997, Proceedings Real-Time Systems Symposium.

[20]  Pierre Wolper,et al.  An Automata-Theoretic Approach to Automatic Program Verification (Preliminary Report) , 1986, LICS.

[21]  Henrik Reif Andersen,et al.  Partial model checking , 1995, Proceedings of Tenth Annual IEEE Symposium on Logic in Computer Science.

[22]  Thomas A. Henzinger,et al.  A User Guide to HyTech , 1995, TACAS.

[23]  Wang Yi,et al.  Automatic verification of real-time communicating systems by constraint-solving , 1994, FORTE.

[24]  Florence Pagani,et al.  Partial Orders and Verification of Real-Time systems , 1996, FTRTFT.

[25]  Pierre Wolper,et al.  A Partial Approach to Model Checking , 1994, Inf. Comput..

[26]  Kim G. Larsen,et al.  Model Checking via Reachability Testing for Timed Automata , 1997, TACAS.

[27]  Somesh Jha,et al.  Exploiting Symmetry In Temporal Logic Model Checking , 1993, CAV.

[28]  Gerard J. Holzmann,et al.  Design and validation of computer protocols , 1991 .

[29]  Natarajan Shankar,et al.  Verification of Real-Time Systems Using PVS , 1993, CAV.