Under Consideration for Publication in Theory and Practice of Logic Programming Automatic Verification of Timed Concurrent Constraint Programs *

The language Timed Concurrent Constraint (tccp) is the extension over time of the Concurrent Constraint Programming (cc) paradigm that allows us to specify concurrent systems where timing is critical, for example reactive systems. Systems which may have an infinite number of states can be specified in tccp. Model checking is a technique which is able to verify finite-state systems with a huge number of states in an automatic way. In the last years several studies have investigated how to extend model checking techniques to systems with an infinite number of states. In this paper we propose an approach which exploits the computation model of tccp. Constraint based computations allow us to define a methodology for applying a model checking algorithm to (a class of) infinite-state systems. We extend the classical algorithm of model checking for LTL to a specific logic defined for the verification of tccp and to the tccp Structure which we define in this work for modeling the program behavior. We define a restriction on the time in order to get a finite model and then we develop some illustrative examples. To the best of our knowledge this is the first approach that defines a model checking methodology for tccp.

[1]  Alicia Villanueva García Model checking for the concurrent constraint paradigm , 2003 .

[2]  Patrice Godefroid,et al.  Symbolic Verification of Communication Protocols with Infinite State Spaces using QDDs , 1999, Formal Methods Syst. Des..

[3]  Frank D. Valencia,et al.  Temporal Concurrent Constraint Programming: Denotation, Logic and Applications , 2002, Nord. J. Comput..

[4]  Nicolas Halbwachs,et al.  Automatic discovery of linear restraints among variables of a program , 1978, POPL.

[5]  Giorgio Delzanno,et al.  Model Checking in CLP , 1999, TACAS.

[6]  Zohar Manna,et al.  Temporal Verification of Reactive Systems , 1995, Springer New York.

[7]  Max J. Cresswell,et al.  A New Introduction to Modal Logic , 1998 .

[8]  F. S. deBoer,et al.  A Timed Concurrent Constraint Language , 2000 .

[9]  Maurizio Gabbrielli,et al.  A temporal logic for reasoning about timed concurrent constraint programs , 2001, Proceedings Eighth International Symposium on Temporal Representation and Reasoning. TIME 2001.

[10]  Thomas A. Henzinger,et al.  The Algorithmic Analysis of Hybrid Systems , 1995, Theor. Comput. Sci..

[11]  Vijay A. Saraswat,et al.  Concurrent constraint programming , 1989, POPL '90.

[12]  Stephan Merz,et al.  Model Checking , 2000 .

[13]  Marcus Nilsson,et al.  Regular Model Checking , 2000, CAV.

[14]  H. Wong-Toi,et al.  Symbolic analysis of hybrid systems , 1997, Proceedings of the 36th IEEE Conference on Decision and Control.

[15]  Joseph Sifakis,et al.  Specification and verification of concurrent systems in CESAR , 1982, Symposium on Programming.

[16]  Javier Esparza,et al.  Reachability Analysis of Pushdown Automata: Application to Model-Checking , 1997, CONCUR.

[17]  Amir Pnueli,et al.  Symbolic model checking with rich assertional languages , 2001, Theor. Comput. Sci..

[18]  Radha Jagadeesan,et al.  Foundations of timed concurrent constraint programming , 1994, Proceedings Ninth Annual IEEE Symposium on Logic in Computer Science.

[19]  Kenneth L. McMillan,et al.  Symbolic model checking: an approach to the state explosion problem , 1992 .

[20]  Amir Pnueli,et al.  Symbolic Model Checking with Rich ssertional Languages , 1997, CAV.

[21]  Edmund M. Clarke,et al.  Design and Synthesis of Synchronization Skeletons Using Branching-Time Temporal Logic , 1981, Logic of Programs.

[22]  Parosh Aziz Abdulla,et al.  Verification of Infinite-State Systems by Combining Abstraction and Reachability Analysis , 1999, CAV.

[23]  Alberto Policriti,et al.  Time Limited Model Checking , 2001 .

[24]  Giorgio Delzanno,et al.  Constraint-based deductive model checking , 2001, International Journal on Software Tools for Technology Transfer.

[25]  Alicia Villanueva,et al.  Model checking for the concurrent constraint paradigm: Thesis , 2004 .

[26]  Dana S. Scott,et al.  Concurrent constraint programming languages , 1989 .

[27]  Joseph Sifakis,et al.  Property preserving abstractions for the verification of concurrent systems , 1995, Formal Methods Syst. Des..

[28]  Javier Esparza,et al.  Model Checking LTL Using Constraint Programming , 1997, ICATPN.

[29]  Prakash Panangaden,et al.  The semantic foundations of concurrent constraint programming , 1991, POPL '91.

[30]  Amir Pnueli,et al.  Liveness and Acceleration in Parameterized Verification , 2000, CAV.

[31]  Dennis Dams,et al.  Abstract interpretation and partition refinement for model checking , 1996 .

[32]  Kenneth L. McMillan,et al.  Symbolic model checking , 1992 .

[33]  Patrice Godefroid,et al.  Symbolic Verification of Communication Protocols with Infinite State Spaces Using QDDs (Extended Abstract) , 1996, CAV.

[34]  Frank D. Valencia,et al.  Timed Concurrent Constraint Programming: Decidability Results and Their Application to LTL , 2003, ICLP.

[35]  Richard E. Ladner,et al.  Propositional Dynamic Logic of Regular Programs , 1979, J. Comput. Syst. Sci..

[36]  Frank D. Valencia,et al.  Temporal Concurrent Constraint Programming , 2001, CP.

[37]  Maurizio Gabbrielli,et al.  Proving correctness of timed concurrent constraint programs , 2004, TOCL.

[38]  Zohar Manna,et al.  Temporal verification of reactive systems - safety , 1995 .

[39]  Radha Jagadeesan,et al.  Computing with Continuous Change , 1998, Sci. Comput. Program..