CL 2000: Computational Logic — CL 2000 pp 384-398 | Cite as
Constraint Logic Programming for Local and Symbolic Model-Checking
Abstract
We propose a model checking scheme for a semantically complete fragment of CTL by combining techniques from constraint logic programming, a restricted form of constructive negation and tabled resolution. Our approach is symbolic in that it encodes and manipulates sets of states using constraints; it supports local model checking using goal-directed computation enhanced by tabulation. The framework is parameterized by the constraint domain and supports any finite constraint domain closed under disjunction, projection and complementation. We show how to encode our fragment of CTL in constraint logic programming; we outline an abstract execution model for the resulting type of programs and provide a preliminary evaluation of the approach.
Keywords
Model Check Logic Program Logic Programming Constraint Logic Computation Tree LogicPreview
Unable to display preview. Download preview PDF.
References
- 1.K. Apt and R. Bol. Logic Programming and Negation: A Survey. J. Logic Programming, 19/20:9–71, 1994.CrossRefMathSciNetGoogle Scholar
- 2.J. R. Burch, E. M. Clarke, D. E. Long, K. I. McMillan, and D. L. Dill. Symbolic Model Checking for Sequential Circuit Verification. IEEE Trans on Computer-Aided Design of Integrated Circuits, 13(4):401–424, 1994.CrossRefGoogle Scholar
- 3.W. Charatonik and A. Podelski. Set-Based Analysis of Reactive Infinite-State Systems. In Proc. of TACAS’98, Lecture Notes in Computer Science 1384, pages 358–375. Springer-Verlag, 1998.Google Scholar
- 4.W. Chen and D. S. Warren. Tabled Evaluation With Delaying for General Logic Programs. J. ACM, 43(1):20–74, 1996.MATHCrossRefMathSciNetGoogle Scholar
- 5.E. Clarke, O. Grumberg, and D. Peled. Model Checking. MIT Press, 2000.Google Scholar
- 6.L. Degerstedt. Tabulation-based Logic Programming. PhD thesis, Linköping studies in Science and Technology, dissertation no 462, 1996.Google Scholar
- 7.G. Delzanno and A. Podelski. Model Checking Infinite-State Systems using CLP. Technical report MPI-I-98-2-012, Max-Planck-Institut für Informatik, 1998.Google Scholar
- 8.G. Delzanno and A. Podelski. Model Checking in CLP. In Proc of TACAS’99, Amsterdam, Lecture Notes in Computer Science 1579. Springer Verlag, 1999.Google Scholar
- 9.Y. Dong, X. Du, Y. Ramakrishna, I. Ramakrishnan, S. Smolka, O. Sokolsky, E. Stark, and D. Warren. Fighting Livelock in the i-Protocol: A Comparative Study of Verification Tools. In Proc of TACAS’99, Amsterdam, Lecture Notes in Computer Science 1579. Springer Verlag, 1999.Google Scholar
- 10.E.A. Emerson. Temporal and Modal Logics. In Jan van Leeuwen, editor, Handbook on Theoretical Computer Science, volume B, pages 995–1072. Elsevier Science, 1990.Google Scholar
- 11.G. Holzmann. Design and Validation of Computer Protocols. Prentice-Hall, 1991.Google Scholar
- 12.J. Jaffar and J-L. Lassez. Constraint Logic Programming. In Conf. Record of 14th Annual ACM Symp. on POPL, pages 111–119, 1987.Google Scholar
- 13.J. Jaffar and M. Maher. Constraint Logic Programming: A Survey. J. Logic Programming, 19/20:503–581, 1994.CrossRefMathSciNetGoogle Scholar
- 14.J. Lübcke and U. Nilsson. On-the-fly CTL Model-checking using Constraint Logic Programming. In Intl Workshop on Constraint Programming for Time-Critical Applications, COTIC99, 1999.Google Scholar
- 15.K. McMillan. Symbolic Model Checking. Kluwer Academic Publishers, 1993.Google Scholar
- 16.Y. S. Ramakrishna, C. R. Ramakrishnan, I. V. Ramakrishnan, S. Smolka, T. Swift, and D. S. Warren. Efficient Model Checking using Tabled Resolution. In Proc of Computer Aided Verification (CAV), Lecture Notes in Computer Science 1254. Springer Verlag, 1997.Google Scholar
- 17.A. Rauzy. Toupie = Mu-calculus + Constraints. In Proc. of Computer Aided Verification 1995, Lecture Notes in Computer Science 939, pages 114–126. Springer Verlag, 1995.Google Scholar
- 18.K. Sagonaset al. The XSB Programmer’s Manual Version 2.0, 1999.Google Scholar
- 19.C. Stirling and D. Walker. Local Model Checking in the Modal Mu-calculus. Theoretical Computer Science, 89(1):161–177, 1991.MATHCrossRefMathSciNetGoogle Scholar
- 20.P. Stuckey. Constructive Negation for Constraint Logic Programming. In Proc of Logic in Computer Science (LICS’91), 1991.Google Scholar
- 21.D. Toman. Memoing Evaluation for Constraint Extensions of Datalog. J. Constraints, 2:337–359, 1997.MATHCrossRefMathSciNetGoogle Scholar
- 22.D.S. Warren. Memoing for Logic Programs. CACM, 35(3):93–111, 1992.Google Scholar