Bounded LTL model checking with stable models

In this paper bounded model checking of asynchronous concurrent systems is introduced as a promising application area for answer set programming. As the model of asynchronous systems a generalization of communicating automata, 1-safe Petri nets, are used. It is shown how a 1-safe Petri net and a requirement on the behavior of the net can be translated into a logic program such that the bounded model checking problem for the net can be solved by computing stable models of the corresponding program. The use of the stable model semantics leads to compact encodings of bounded reachability and deadlock detection tasks as well as the more general problem of bounded model checking of linear temporal logic. Some experimental results on solving deadlock detection problems using the translation and the Smodels system are presented.

[1]  Wolfgang Reisig,et al.  Lectures on Petri Nets I: Basic Models , 1996, Lecture Notes in Computer Science.

[2]  Ilkka Niemelä,et al.  Bounded LTL model checking with stable models , 2003, Theory Pract. Log. Program..

[3]  Sharad Malik,et al.  Chaff: engineering an efficient SAT solver , 2001, Proceedings of the 38th Design Automation Conference (IEEE Cat. No.01CH37232).

[4]  R. BurchJ.,et al.  Symbolic model checking , 1992 .

[5]  Danny De Schreye,et al.  Answer Set Planning , 1999 .

[6]  Edmund M. Clarke,et al.  Model Checking , 1999, Handbook of Automated Reasoning.

[7]  C. R. Ramakrishnan,et al.  Model Checking Linear Temporal Logic Using Tabled Logic Programming , 2000 .

[8]  François Fages,et al.  Consistency of Clark's completion and existence of stable models , 1992, Methods Log. Comput. Sci..

[9]  Keijo Heljanko,et al.  Using Logic Programs with Stable Model Semantics to Solve Deadlock and Reachability Problems for 1-Safe Petri Nets , 1999, Fundam. Informaticae.

[10]  Orna Kupferman,et al.  Model Checking of Safety Properties , 1999, CAV.

[11]  James C. Corbett,et al.  Evaluating Deadlock Detection Methods for Concurrent Software , 1996, IEEE Trans. Software Eng..

[12]  Stephan Melzer,et al.  Deadlock Checking Using Net Unfoldings , 1997, CAV.

[13]  Vladimir Lifschitz,et al.  Splitting a Logic Program , 1994, ICLP.

[14]  Marco Pistore,et al.  Improving the Encoding of LTL Model Checking into SAT , 2002, VMCAI.

[15]  Victor W. Marek,et al.  Stable models and an alternative logic programming paradigm , 1998, The Logic Programming Paradigm.

[16]  Johan Lilius,et al.  prod 3.2: An Advanced Tool for Efficient Reachability Analysis , 1997, CAV.

[17]  Gerard J. Holzmann,et al.  The Model Checker SPIN , 1997, IEEE Trans. Software Eng..

[18]  Raymond R. Devillers,et al.  Sequential and Concurrent Behaviour in Petri Net Theory , 1987, Theor. Comput. Sci..

[19]  I. Niemelä,et al.  Extending the Smodels system with cardinality and weight constraints , 2001 .

[20]  Wolfgang Reisig,et al.  Place or Transition Petri Nets , 1996, Petri Nets.

[21]  Ilkka Niemelä,et al.  Answer Set Programming and Bounded Model Checking , 2001, Answer Set Programming.

[22]  Marco Pistore,et al.  NuSMV 2: An OpenSource Tool for Symbolic Model Checking , 2002, CAV.

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

[24]  C. R. Ramakrishnan,et al.  XMC: A Logic-Programming-Based Verification Toolset , 2000, CAV.

[25]  Keijo Heljanko,et al.  Bounded Reachability Checking with Process Semantics , 2001, CONCUR.

[26]  Javier Esparza,et al.  Decidability and Complexity of Petri Net Problems - An Introduction , 1996, Petri Nets.

[27]  Armin Biere,et al.  Symbolic Model Checking without BDDs , 1999, TACAS.