A symbolic model checker for testing ASTRAL real-time specifications

ASTRAL is a high-level formal specification language for real-time (infinite state) systems. It is provided with structuring mechanisms that allow one to build modularized specifications of complex real-time systems with layering. In this paper, the methods and techniques used in the prototype implementation of the ASTRAL symbolic model checker, which is a component of the ASTRAL software development environment (SDE), are presented. The model checking procedure uses the Omega library to represent a subset of states, and model checking is carried out on the execution tree of an ASTRAL process. The tree is further trimmed by the execution graph of the process. The model checker combines both explicit state exploration and symbolic state calculation in order to reduce the number of variables needed, by dynamically resolving their values as well as their histories along a path of execution. Based upon the ASTRAL proof theory, the model checker is modularized, in the sense that each time it checks only one process instance of each process type that is globally declared. A limited window size technique is further proposed to encode the history of an imported variable when the history of the variable is referenced. The model checker is run on several earlier versions of the railroad-crossing ASTRAL specification, which contained errors, as well as on the final version, which has been proved correct. The results show that it is effective for detecting bugs in an ASTRAL specification, which is extremely important in our use of the model checker as a specification debugger. The model checker is fully automated without manual abstractions.

[1]  Nancy A. Lynch,et al.  The generalized railroad crossing: a case study in formal verification of real-time systems , 1994, 1994 Proceedings Real-Time Systems Symposium.

[2]  William Pugh,et al.  The Omega test: A fast and practical integer programming algorithm for dependence analysis , 1991, Proceedings of the 1991 ACM/IEEE Conference on Supercomputing (Supercomputing '91).

[3]  Richard Gerber,et al.  Model-checking concurrent systems with unbounded integer variables: symbolic representations, approximations, and experimental results , 1999, TOPL.

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

[5]  Thomas A. Henzinger,et al.  Parametric real-time reasoning , 1993, STOC.

[6]  L.M. PATNAIK,et al.  Specification of Real-Time Systems , 1993, Int. J. Softw. Eng. Knowl. Eng..

[7]  Carlo Ghezzi,et al.  Specification of Realtime Systems Using ASTRAL , 1997, IEEE Trans. Software Eng..

[8]  Zhe Dang,et al.  Using the ASTRAL Model Checker for Cryptographic Protocol Analysis , 1997 .

[9]  Richard A. Kemmerer,et al.  A Formal Framework for ASTRAL Intralevel Proof Obligations , 1994, IEEE Trans. Software Eng..

[10]  Edward Y. Chang,et al.  STeP: Deductive-Algorithmic Verification of Reactive and Real-Time Systems , 1996, CAV.

[11]  I. S. Gradshtein,et al.  THE ELEMENTS OF MATHEMATICAL LOGIC , 1963 .

[12]  Richard Gerber,et al.  Verifying systems with integer constraints and Boolean predicates: a composite approach , 1998, ISSTA '98.

[13]  Olgierd Wojtasiewicz,et al.  Elements of mathematical logic , 1964 .

[14]  Jan van Katwijk,et al.  Hybrid specification of control systems , 1995, Proceedings of First IEEE International Conference on Engineering of Complex Computer Systems. ICECCS'95.

[15]  Zhe Dang,et al.  Using the ASTRAL model checker to analyze Mobile IP , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[16]  Richard Gerber,et al.  Symbolic Model Checking of Infinite State Systems Using Presburger Arithmetic , 1997, CAV.

[17]  Derek C. Oppen,et al.  A 2^2^2^pn Upper Bound on the Complexity of Presburger Arithmetic , 1978, J. Comput. Syst. Sci..

[18]  Zhe Dang,et al.  The design and analysis of real-time systems using the ASTRAL software development environment , 1999, Ann. Softw. Eng..

[19]  Aloysius K. Mok,et al.  Modechart: A Specification Language for Real-Time Systems , 1994, IEEE Trans. Software Eng..

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