Skip to main content

Situated simplification

  • Concurrent Constraint Programming
  • Conference paper
  • First Online:

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 976))

Abstract

Testing satisfaction of guards is the essential operation of concurrent constraint programming (CCP) systems. We present and prove correct, for the first time, an incremental algorithm for the simultaneous tests of entailment and disentailment of rational tree constraints to be used in CCP systems with deep guards (e.g., AKL or Oz). The algorithm is presented as the simplification of the constraints which form the (possibly deep) guards and which are situated at different nodes (or, local computation spaces) in a tree (of arbitrary depth). In this algorithm, each variable may have multiple bindings (representing multiple constraints on the same variable in different nodes). These may be realized by re- and de-installation upon each newly resumed check of the guard in the corresponding node (as done, e.g., in AKL or Oz), or by using look-up tables (with entries indexed by the nodes). We give a simple fixed-point algorithm and use it for proving that the tests implemented by another, practical algorithm are correct and complete for entailment and disentailment. We formulate the results in this paper for rational tree constraints; they can be adapted to finite and feature trees.

This is a preview of subscription content, log in via an institution.

We’re sorry, something doesn't seem to be working properly.

Please try refreshing the page. If that doesn't work, please contact support so we can address the problem.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Hassan Aït-Kaci and Andreas Podelski. Towards a meaning of LIFE. In J. Maluszyński and M. Wirsing, editors, Proceedings of the 3rd International Symposium on Programming Language Implementation and Logic Programming, Springer LNCS vol. 528, pages 255–274. Springer-Verlag, 1991.

    Google Scholar 

  2. Hassan Aït-Kaci and Andreas Podelski. Functions as passive constraints in life. ACM Transactions on Programming Languages and Systems (TOPLAS), 16(4):1279–1318, July 1994.

    Article  Google Scholar 

  3. Hassan Aït-Kaci, Andreas Podelski, and Gert Smolka. A feature-based constraint system for logic programming with entailment. Theoretical Computer Science, 122(1–2):263–283, January 1994.

    Article  Google Scholar 

  4. K.L. Clark and S. Gregory. A relational language for parallel programming. In Proc. of the ACM Conference on Functional Programming Languages and Computer Architecture, pages 171–178, 1981.

    Google Scholar 

  5. Alain Colmerauer. Prolog II reference manual and theoretical model. Technical report, Groupe Intelligence Artificielle, Université Aix-Marseille II, October 1982.

    Google Scholar 

  6. Bruno Courcelle. Fundamental properties of infinite trees. Theoretical Computer Science, 25(2):95–169, 1983.

    Article  Google Scholar 

  7. S. Haridi and S. Janson. Kernel Andorra Prolog and its computation model. In D.H.D. Warren and P. Szeredi, editors, Proceedings of the 7th International Conference on Logic Programming, pages 31–48. MIT Press, June 1990.

    Google Scholar 

  8. M. Henz, M. Mehl, M. Müller, T. Müller, J. Niehren, R. Scheidhauer, C. Schulte, G. Smolka, R. Treinen, and J. Würtz. The Oz Handbook. Research Report RR-94-09, Deutsches Forschungszentrum für Künstliche Intelligenz, Stuhlsatzenhausweg 3, D-66123 Saarbrücken, Germany, 1994. Available through anonymous ftp from duck. dfki.uni-sb.de.

    Google Scholar 

  9. Martin Henz, Gert Smolka, and Jörg Würtz. Oz—a programming language for multi-agent systems. In Ruzena Bajcsy, editor, 13th International Joint Conference on Artificial Intelligence, volume 1, pages 404–409, Chambéry, France, 30 August–3 September 1993. Morgan Kaufmann Publishers.

    Google Scholar 

  10. Michael J. Maher. Logic semantics for a class of committed-choice programs. In Jean-Louis Lassez, editor, Proceedings of the Fourth International Conference on Logic Programming, pages 858–876. MIT Press, 1987.

    Google Scholar 

  11. Johan Montelius and Khayri A. M. Ali. An and/or-parallel implementation of AKL. New Generation Computing, 13(4), December 1995.

    Google Scholar 

  12. Lee Naish. Automating control for logic programs. The Journal of Logic Programming, 2(3):167–184, October 1985.

    Article  Google Scholar 

  13. Lee Naish. The Mu-Prolog 3.2db reference manual. Technical report, Department of Computer Science, University of Melbourne, Victoria, Australia, 1985.

    Google Scholar 

  14. Andreas Podelski and Peter Van Roy. The Beauty and the Beast algorithm: Quasilinear incremental tests of entailment and disentailment. In Maurice Bruynooghe, editor, Proceedings of the International Symposium on Logic Programming (ILPS), pages 359–374. MIT Press, November 1994.

    Google Scholar 

  15. Andreas Podelski and Gert Smolka. Operational semantics of constraint logic programming with coroutining. In Leon Sterling, editor, Proceedings of the 12th International Conference on Logic Programming, pages 449–463, Kanagawa, Japan, 1995. The MIT Press.

    Google Scholar 

  16. Vijay Saraswat and Martin Rinard. Concurrent constraint programming. In Proceedings of the 17th ACM Conference on Principles of Programming Languages, pages 232–245, San Francisco, CA, January 1990.

    Google Scholar 

  17. Ehud Shapiro. The family of concurrent logic programming languages. ACM Computing Surveys, 21(3):413–511, September 1989.

    Article  Google Scholar 

  18. Gert Smolka and Ralf Treinen. Records for logic programming. The Journal of Logic Programming, 18(3):229–258, April 1994.

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Ugo Montanari Francesca Rossi

Rights and permissions

Reprints and permissions

Copyright information

© 1995 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Podelski, A., Smolka, G. (1995). Situated simplification. In: Montanari, U., Rossi, F. (eds) Principles and Practice of Constraint Programming — CP '95. CP 1995. Lecture Notes in Computer Science, vol 976. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-60299-2_20

Download citation

  • DOI: https://doi.org/10.1007/3-540-60299-2_20

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-60299-6

  • Online ISBN: 978-3-540-44788-7

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics