Abstract
Constraint Handling Rules (CHR) is a committed-choice rule-based programming language. Rules rewrite a global multi-set of constraints to another. Overlapping sets of constraints within the rules and the order of constraints within rules and queries entail different derivation paths. In this work, a novel operational strategy is proposed which enables a high-level form of execution control that empowers a comprehensive and customizable execution strategy. It allows full space exploration for any CHR program, thus finding all possible results to a query which is interesting for many non-confluent programs. The proposed transformation is performed as a source-to-source transformation from any CHR program to one utilizing disjunction to force an exhaustive explorative execution strategy. The work is complemented by formal arguments to prove the correctness and completeness of the transformation.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsReferences
Abdennadher, S.: Operational semantics and confluence of constraint propagation rules. In: Smolka, Gert (ed.) CP 1997. LNCS, vol. 1330, pp. 252–266. Springer, Heidelberg (1997)
Abdennadher, S., Frühwirth, T.: Integration and optimization of rule-based constraint solvers. In: Bruynooghe, M. (ed.) LOPSTR 2004. LNCS, vol. 3018, pp. 198–213. Springer, Heidelberg (2004)
Abdennadher, S., Schütz, H.: CHR\(^{\vee }\): a flexible query language. In: Andreasen, T., Christiansen, H., Larsen, H.L. (eds.) FQAS 1998. LNCS (LNAI), vol. 1495, pp. 1–14. Springer, Heidelberg (1998)
Betz, H., Raiser, F., Frühwirth, T.: A complete and terminating execution model for constraint handling rules. In: Proceedings of 26th International Conference on Logic Programming, pp. 597–610 (2010)
Koninck, L. D., Schrijvers, T., Demoen, B.: Search strategies in CHR(Prolog). In: Leuven, K.U. (ed.) Proceedings of 3rd Workshop on Constraint Handling Rules, pp. 109–124. Technical report CW 452 (2006)
Koninck, L. D., Schrijvers, T., Demoen, B.: User-definable rule priorities for CHR. In: Proceedings of 9th International Conference on Principles and Practice of Declarative Programming, PPDP 2007, pp. 25–36. ACM (2007)
Duck, G.J., Stuckey, P.J., García de la Banda, M., Holzbaur, C.: The refined operational semantics of constraint handling rules. In: Demoen, B., Lifschitz, V. (eds.) ICLP 2004. LNCS, vol. 3132, pp. 90–104. Springer, Heidelberg (2004)
Duck, G.J., Stuckey, P.J., Sulzmann, M.: Observable confluence for constraint handling rules. In: Dahl, V., Niemelä, I. (eds.) ICLP 2007. LNCS, vol. 4670, pp. 224–239. Springer, Heidelberg (2007)
Frühwirth, T.: Constraint Handling Rules. Cambridge University Press, New York (2009)
Frühwirth, T., Raiser, F. (eds.): Constraint Handling Rules: Compilation, Execution, and Analysis. Books on Demand, Norderstedt (2011)
De Koninck, L., Schrijvers, T., Demoen, B.: A flexible search framework for CHR. In: Schrijvers, T., Frühwirth, T. (eds.) Constraint Handling Rules. LNCS, vol. 5388, pp. 16–47. Springer, Heidelberg (2008)
Lam, E.S.L., Sulzmann, M.: Towards agent programming in CHR. In: Proceedings of 3rd CHR Workshop on CHR 2006, pp. 17–31 (2006)
Martinez, T.: Angelic CHR. In: Proceedings of the 8th Workshop on Constraint Handling Rules, CHR 2011, pp. 19–31 (2011)
Sneyers, J., Weert, P.V., Schrijvers, Tom., Koninck, L.D.: As time goes by: constraint handling rules - a survey of CHR research between 1998 and 2007. In: Theory and Practice of Logic Programming, pp. 1–47 (2010)
Zaki, A., Frühwirth, T., Abdennadher, S.: Towards inverse execution of constraint handling rules. In: Technical Communications of 29th International Conference on Logic Programming, vol. 13 (2013)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2015 Springer International Publishing Switzerland
About this paper
Cite this paper
Elsawy, A., Zaki, A., Abdennadher, S. (2015). Exhaustive Execution of CHR Through Source-to-Source Transformation. In: Proietti, M., Seki, H. (eds) Logic-Based Program Synthesis and Transformation. LOPSTR 2014. Lecture Notes in Computer Science(), vol 8981. Springer, Cham. https://doi.org/10.1007/978-3-319-17822-6_4
Download citation
DOI: https://doi.org/10.1007/978-3-319-17822-6_4
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-17821-9
Online ISBN: 978-3-319-17822-6
eBook Packages: Computer ScienceComputer Science (R0)