Advertisement

Proving correctness of Constraint Logic Programs with dynamic scheduling

  • F. S. de Boer
  • M. Gabbrielli
  • C. Palamidessi
Contributed Papers
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1145)

Abstract

A general framework based on Hoare logic is introduced for specifying and reasoning about Constraint Logic Programs with dynamic scheduling. The framework consists of a mixed formalism of programs in a ccp-like language, on the one hand, and correctness properties of the Hoare logic, on the other hand. In this formalism delay conditions are viewed as a specific class of correctness properties. In the construction of the proof-system we follow the lines of a previous proof-system we developed for concurrent constraint programming, which was sound, but not complete (for ccp). Due to the different kind of choice used in CLP, on the contrary, the system considered here is both sound and complete.

Keywords

Logic Program Delay Condition Constraint System Predicate Symbol Dynamic Schedule 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    K. R. Apt. Declarative Programming in Prolog. In D. Miller, editor, Proceedings of the Int'l Symposium on Logic Programming, The MIT Press, pages 11–35x, 1993.Google Scholar
  2. 2.
    K. R. Apt and I. Luitjes. Verification of logic programs with delay declarations. In A. Borzyszkowski and S. Sokolowski, editors, Proc. of AMAST, LNCS, pages 1–19, Berlin, 1995. Springer-Verlag.Google Scholar
  3. 3.
    F.S. de Boer, M. Gabbrielli, E. Marchiori, and C. Palamidessi. Proving Concurrent Constraint Programs Correct. In Proc. of Twentyfirst POPL, ACM Press, 1994.Google Scholar
  4. 4.
    F.S. de Boer and C. Palamidessi. A Fully Abstract Model for Concurrent Constraint Programming. In S. Abramsky and T.S.E. Maibaum, editors, Proc. of TAPSOFT/CAAP, LNCS 493, pages 296–319. Springer-Verlag, 1991.Google Scholar
  5. 5.
    M. Carlsson. SICStus Prolog User's Manual. Po Box 1263, S-16313 Spanga, Sweden, February 1988.Google Scholar
  6. 6.
    S.A. Cook. Soundness and completeness of an axiom system for program verification. SIAM J. Computation, 7(1):70–90, 1978.Google Scholar
  7. 7.
    P. M. Hill and J. W. Lloyd. The Gödel programming language. The MIT Press, 1994.Google Scholar
  8. 8.
    L. Henkin, J.D. Monk, and A. Tarski. Cylindric Algebras (Part I). North-Holland, 1971.Google Scholar
  9. 9.
    J. Jaffar and J.-L. Lassez. Constraint Logic Programming. In Proc. of POPL, pages 111–119. ACM Press, 1987.Google Scholar
  10. 10.
    Joxan Jaffar and Michael J. Maher. Constraint logic programming: A survey. Journal of Logic Programming, 19/20:503–581, 1994.CrossRefGoogle Scholar
  11. 11.
    R. Jagadeesan, V.A. Saraswat, and V. Shanbhogue. Angelic non-determinism in concurrent constraint programming. Technical report, Xerox Park, 1991.Google Scholar
  12. 12.
    S. Lüttringhaus-Kappel. Control generation for logic programs. In D.S. Warren, editor, Proc. Tenth Int'l Conf. on Logic Programming, pages 478–495. MIT Press, 1993.Google Scholar
  13. 13.
    E. Marchiori and F. Teusink. Proving termination of logic programs with delay declarations. In J. Lloyd, editor, Proc. of ILPS. MIT Press, 1995.Google Scholar
  14. 14.
    K. Marriott, M. Falaschi, M. Gabbrielli and C. Palamidessi. A simple semantics for logic programming languages with delay. In R. Kotagiri, editor, Proc. Eighteenth Australian Computer Science Conf., Australian Computer Science Comm. 17 (1): 356–363, 1995.Google Scholar
  15. 15.
    K. Marriott, M. Garcia de la Banda and M. Hermenegildo. Analyzing Logic Programs with Dynamic Scheduling. Proc. of POPL, pages 240–253. ACM Press, 1994.Google Scholar
  16. 16.
    L. Naish. An introduction to MU-Prolog. Technical Report 82/2, The University of Melbourne, 1982.Google Scholar
  17. 17.
    L. Naish. Negation and Control in Prolog, LNCS 238, Springer-Verlag, 1985.Google Scholar
  18. 18.
    V.A. Saraswat and M. Rinard. Concurrent constraint programming. In Proc. of POPL, pages 232–245, 1990.Google Scholar
  19. 19.
    V.A. Saraswat, M. Rinard, and P. Panangaden. Semantics foundations of Concurrent Constraint Programming. In Proc. of POPL, 1991.Google Scholar
  20. 20.
    Mark Wallace and André Veron. Two problems — two solutions: One system — ECLiPSe. In Proc. IEEE Colloquium on Advanced Software Technologies for Scheduling, London, 1993.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1996

Authors and Affiliations

  • F. S. de Boer
    • 1
  • M. Gabbrielli
    • 2
  • C. Palamidessi
    • 3
  1. 1.Department of Computer ScienceUniversiteit UtrechtCH UtrechtThe Netherlands
  2. 2.Dipartimento di InformaticaUniversità di PisaPisaItaly
  3. 3.DISIUniversità di GenovaGenovaItaly

Personalised recommendations