Abstract
We give the detailed formulation of an algorithm testing guards over feature trees. Such an algorithm is needed in constraint logic programming with entailment-based coroutining and in concurrent constraint programming; feature-tree constraint systems model extensible record descriptions (for example, in LIFE). We call this algorithm “Beauty-and-Beast” algorithm because it uses, for each variable X and for each guard test being suspended on X, a special-purpose data structure (the “beast”) which encodes the data relevant for that guard test (essentially, a unifier). A variable X has a multiple-binding list where each of its bindings to a beast is indexed by the particular guard test. This is how we achieve that the algorithm is incremental when it is applied for repeated resumptions of suspended tests. Its online time complexity is almost-linear (which is the same as for the best existing offline algorithms for the problem). Our implementation technique of multiple-bindings is applicable to all constraint systems over trees (finite trees, rational trees, etc.); the beast construction is motivated in particular by the implementation of record-descriptions with extensible lookup-tables.
Keywords
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.
This work was done while both authors were at Digital Paris Research Laboratory. A short description appeared in [17].
Preview
Unable to display preview. Download preview PDF.
References
Hassan Aït-Kaci. Warren's Abstract Machine, A Tutorial Reconstruction. MIT Press, Cambridge, MA, 1991.
H. Aït-Kaci, A. Podelski, and G. Smolka. A feature-based constraint system for logic programming with entailment. In 5th FGCS, pages 1012–1022, June 1992.
H. Aït-Kaci and A. Podelski. Functions as Passive Constraints in LIFE. PRL Research Report 13. Digital Equipment Corporation, Paris Research Laboratory. Rueil-Malmaison, France, June 1991 (Revised, November 1992).
H. Aït-Kaci and A. Podelski. Entailment and disentailment of order-sorted feature constraints. In Proceedings of the Fourth International Conference on Logic Programming and Automated Reasoning, Andrei Voronkov, ed., 1993 (to appear).
Hassan Aït-Kaci, Richard Meyer, and Peter Van Roy. Wild LIFE: A User Manual (draft). Technical Note. Digital Equipment Corporation, Paris Research Laboratory. Rueil-Malmaison, France, April 1993.
M. Carlsson, J. Widèn, J. Andersson, S. Andersson, K. Boortz, H. Nilsson, and T. Sjöland. SICStus Prolog User's Manual. SICS, Box 1263, 164 28 Kista, Sweden, 1991.
A. Colmerauer, H. Kanoui, and M. V. Caneghem. Prolog, theoretical principles and current trends. Technology and Science of Informatics, 2(4):255–292, 1983.
A. Colmerauer. Equations and inequations on finite and infinite trees. In 2nd FGCS, pages 85–99, 1984.
M. Dincbas, P. Van Hentenryck, H. Simonis, A. Aggoun, T. Graf, and F. Berthier. The Constraint Logic Programming Language CHIP. In FGCS'88, pages 693–702, Tokyo, 1988.
Gerard Ellis and Peter Van Roy. Compilation of Matching in LIFE (draft). Digital Equipment Corporation, Paris Research Laboratory. Rueil-Malmaison, France, May 1992.
Seth Copen Goldstein and Peter Van Roy. Constraints, Control, and Other Ideas Concerning LIFE (draft). Digital Equipment Corporation, Paris Research Laboratory. Rueil-Malmaison, France, January 1993.
S. Haridi and S. Janson. Kernel Andorra Prolog and its computation model. In 7th ICLP, pages 31–48, MIT Press, Cambridge, June 1990.
M. Henz, G. Smolka, and J. Würtz. Oz — a programming language for multi-agent systems. In 13th IJCAI, Chambéry, France, Aug. 1993.
Peter Kursawe. How to invent a Prolog machine. In 3rd ICLP, pages 134–148. Springer-Verlag Lecture Notes on Computer Science Vol. 225, July 1986.
M. J. Maher. Logic semantics for a class of committed-choice programs. In Fourth ICLP, pages 858–876. MIT Press, 1987.
Lee Naish. MU-Prolog 3.1db Reference Manual. Computer Science Department, University of Melbourne, Melbourne, Australia, May 1984.
Andreas Podelski and Peter Van Roy. The Beauty and the Beast algorithm: Quasi-linear incremental tests of entailment and disentailment. To appear in Proceedings of the International Symposium on Logic Programming (ILPS), Ithaca, New York, November 1994. MIT Press.
Andreas Podelski and Gert Smolka. Situated Simplification. Submitted for publication.
Vitor Santos Costa, David H. D. Warren, and Rong Yang. Andorra-I: A parallel Prolog system that transparently exploits both and-and orparallelism. In Proceedings of the 3rd ACM SIGPLAN Conference on Principles and Practice of Parallel Programming, pages 83–93, August 1991.
V. Saraswat and M. Rinard. Semantic foundations of concurrent constraint programming. In 18th POPL, pages 333–351, Jan. 1991.
Ehud Shapiro. The Family of Concurrent Logic Programming Languages. In ACM Computing Surveys 21 (3), pages 412–510, Sept. 1989.
Gert Smolka. Residuation and guarded rules for constraint logic programming. PRL Research Report 12, Digital Equipment Corporation, Paris Research Laboratory, Rueil-Malmaison, France, June 1991.
G. Smolka and R. Treinen. Records for logic programming. In Proceedings of the Joint International Conference and Symposium on Logic Programming, Washington, USA, pages 240–254, 1992.
Peter Van Roy and Alvin M. Despain. High-performance logic programming with the Aquarius Prolog compiler. In IEEE Computer 25 (1), pages 54–68, Jan. 1992.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1995 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Podelski, A., Van Roy, P. (1995). A detailed algorithm testing guards over feature trees. In: Meyer, M. (eds) Constraint Processing. CP CP 1994 1993. Lecture Notes in Computer Science, vol 923. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-59479-5_16
Download citation
DOI: https://doi.org/10.1007/3-540-59479-5_16
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-59479-6
Online ISBN: 978-3-540-49281-8
eBook Packages: Springer Book Archive