Skip to main content

Exhaustive Execution of CHR Through Source-to-Source Transformation

  • Conference paper
  • First Online:

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 8981))

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

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

References

  1. 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)

    Google Scholar 

  2. 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)

    Google Scholar 

  3. 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)

    Google Scholar 

  4. 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)

    Google Scholar 

  5. 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)

    Google Scholar 

  6. 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)

    Google Scholar 

  7. 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)

    Google Scholar 

  8. 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)

    Google Scholar 

  9. Frühwirth, T.: Constraint Handling Rules. Cambridge University Press, New York (2009)

    Google Scholar 

  10. Frühwirth, T., Raiser, F. (eds.): Constraint Handling Rules: Compilation, Execution, and Analysis. Books on Demand, Norderstedt (2011)

    Google Scholar 

  11. 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)

    Google Scholar 

  12. Lam, E.S.L., Sulzmann, M.: Towards agent programming in CHR. In: Proceedings of 3rd CHR Workshop on CHR 2006, pp. 17–31 (2006)

    Google Scholar 

  13. Martinez, T.: Angelic CHR. In: Proceedings of the 8th Workshop on Constraint Handling Rules, CHR 2011, pp. 19–31 (2011)

    Google Scholar 

  14. 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)

    Google Scholar 

  15. 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)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Ahmed Elsawy .

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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)

Publish with us

Policies and ethics