Compositional Specification and Model Checking in GSTE

We propose a compositional specification and verification approach based on GSTE (Generalized Symbolic Trajectory Evaluation). There are two main contributions. First, we propose a specification language that allows concurrent properties be described succinctly in a compositional algebraic manner. Second, we show a precise model checking solution for a compositional specification through automata construction, but much more importantly and practically, we develop an efficient model checking algorithm for directly verifying the compositional specification. At the end, we show the result of our approach in the verification of a micro-instruction scheduler in a state-of-the-art microprocessor.

[1]  Matthew Hennessy,et al.  Algebraic theory of processes , 1988, MIT Press series in the foundations of computing.

[2]  C. A. R. Hoare,et al.  Communicating Sequential Processes (Reprint) , 1983, Commun. ACM.

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

[4]  David Harel,et al.  Statecharts: A Visual Formalism for Complex Systems , 1987, Sci. Comput. Program..

[5]  Kenneth L. McMillan,et al.  Verification of an Implementation of Tomasulo's Algorithm by Compositional Model Checking , 1998, CAV.

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

[7]  Sampath Kannan,et al.  Communicating Hierarchical State Machines , 1999, ICALP.

[8]  Carl-Johan H. Seger,et al.  Generalized Symbolic Trajectory Evaluation - Abstraction in Action , 2002, FMCAD.

[9]  Ching-Tsun Chou,et al.  The Mathematical Foundation fo Symbolic Trajectory Evaluation , 1999, CAV.

[10]  Carl-Johan H. Seger,et al.  Introduction to generalized symbolic trajectory evaluation , 2003, IEEE Trans. Very Large Scale Integr. Syst..

[11]  Kenneth L. McMillan,et al.  A Compositional Rule for Hardware Design Refinement , 1997, CAV.

[12]  J. Bergstra,et al.  Handbook of Process Algebra , 2001 .

[13]  Carl-Johan H. Seger,et al.  A Methodology for Large-Scale Hardware Verification , 2000, FMCAD.

[14]  Edmund M. Clarke,et al.  A language for compositional specification and verification of finite state hardware controllers , 1991 .

[15]  Rajeev Alur,et al.  Efficient Reachability Analysis of Hierarchical Reactive Machines , 2000, CAV.

[16]  Rajeev Alur,et al.  Modular refinement of hierarchic reactive machines , 2000, POPL '00.

[17]  Amir Pnueli,et al.  In Transition From Global to Modular Temporal Reasoning about Programs , 1989, Logics and Models of Concurrent Systems.

[18]  Bernhard Josko,et al.  Verifying the Correctness of AADL Modules Using Model Checking , 1989, REX Workshop.

[19]  Thomas A. Henzinger,et al.  An assume-guarantee rule for checking simulation , 1998, TOPL.

[20]  Thomas A. Henzinger,et al.  You Assume, We Guarantee: Methodology and Case Studies , 1998, CAV.