CHR in Action

  • Arwa IsmailEmail author
  • Nada Sharaf
  • Slim Abdennadher
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9527)


Constraint Handling Rules (CHR) has expanded its application range over the past few years to include different algorithms rather than only constraint solvers. Animation of algorithms has been used over the past few decades to aid the understanding of programming languages and how they are processed. In this work, we present a generic form of animating CHR programs using source-to-source transformation. The transformation converts CHR programs into their equivalent CHR programs enhanced with animation features, in an automated manner.


Constraint Handling Rules Animation Source-to-source transformation XPCE 


  1. 1.
  2. 2.
    SWI-Prolog GUI - Manual. Accessed 8 June 2015
  3. 3.
    Abdennadher, S., Saft, M.: A visualization tool for constraint handling rules. In: Proceedings of 11th Workshop on Logic Programming Environments (2001)Google Scholar
  4. 4.
    Abdennadher, S., Sharaf, N.: Visualization of CHR through source-to-source transformation. In: Technical Communications of the 28th International Conference on Logic Programming (ICLP 2012). Leibniz International Proceedings in Informatics (LIPIcs), vol. 17, pp. 109–118. Dagstuhl, Germany (2012)Google Scholar
  5. 5.
    Baecker, R.: Sorting out sorting: a case study of software visualization for teaching computer science. Softw. Vis. Program. Multimedia Experience 1, 369–381 (1998)Google Scholar
  6. 6.
    Brown, M.H., Sedgewick, R.: A system for algorithm animation. SIGGRAPH Comput. Graph. 18(3), 177–186 (1984)CrossRefGoogle Scholar
  7. 7.
    Brown, M.H.: Zeus: a system for algorithm animation and multi-view editing. In: Proceedings of the IEEE Workshop on Visual Languages, pp. 4–9, October 1991Google Scholar
  8. 8.
    Eisenstadt, M., Brayshaw, M.: Graphical debugging with the transparent PROLOG machine (TPM). In: McDermott, J.P. (ed.) Proceedings of the 10th International Joint Conference on Artificial Intelligence, pp. 83–86. Morgan Kaufmann, August 1987Google Scholar
  9. 9.
    Frühwirth, T.: Theory and practice of constraint handling rules, special issueon constraint logic programming. J. Logic Program. 37(1–3), 95–138 (1998)MathSciNetCrossRefzbMATHGoogle Scholar
  10. 10.
    Frühwirth, T.: Constraint Handling Rules. Cambridge University Press, New York (2009)CrossRefzbMATHGoogle Scholar
  11. 11.
    Frühwirth, T., Holzbaur, C.: Source-to-source transformation for a class of expressive rules. In: Buccafurri, F. (ed.) APPIA-GULP-PRODE, pp. 386–397 (2003)Google Scholar
  12. 12.
    Halim, S., Koh, Z.C., Loh, V., Halim, F.: Learning algorithms with unified and interactive web-based visualization. Olympiads Inform. 6, 53–68 (2012)Google Scholar
  13. 13.
    Hundhausen, C., Douglas, S., Stasko, J.: A meta-study of algorithm visualization effectiveness. J. Vis. Lang. Comput. 13(3), 259–290 (2002)CrossRefGoogle Scholar
  14. 14.
    Pierson, W.C., Rodger, S.H.: Web-based animation of data structures using JAWAA. In: Proceedings of the Twenty-Ninth SIGCSE Technical Symposium on Computer Science Education, SIGCSE 1998, pp. 267–271. ACM, New York (1998)Google Scholar
  15. 15.
    Rößling, G., Schüer, M., Freisleben, B.: The animal algorithm animation tool. In: ACM SIGCSE Bulletin, vol. 32, pp. 37–40. ACM (2000)Google Scholar
  16. 16.
    Senay, H., Lazzeri, S.G.: Graphical representation of logic programs and their behavior. In: Proceedings of the 1991 IEEE Workshop on Visual Languages, Japan, 8–11 October 1991, pp. 25–31. IEEE Computer Society (1991)Google Scholar
  17. 17.
    Sharaf, N., Abdennadher, S., Frühwirth, T.: CHRAnimation: an animation tool for constraint handling rules. In: Proietti, M., Seki, H. (eds.) LOPSTR 2014. LNCS, vol. 8981, pp. 92–110. Springer, Heidelberg (2015) Google Scholar
  18. 18.
    Sharaf, N., Abdennadher, S., Frühwirth, T.W.: Visualization of constraint handling rules. CoRR, abs/1405.3793 (2014)Google Scholar
  19. 19.
    Simonis, H., Aggoun, A.: Search-tree visualisation. In: Deransart, P., Hermenegildo, M.V., Maluszynski, J. (eds.) DiSCiPl. LNCS, vol. 1870, pp. 191–208. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  20. 20.
    Smolka, G.: The definition of kernel oz. In: Podelski, A. (ed.) Constraint Programming: Basics and Trends. LNCS, vol. 910, pp. 251–292. Springer, Heidelberg (1994)CrossRefGoogle Scholar
  21. 21.
    Wielemaker, J., Anjewierden, A.: An architecture for making object-oriented systems available from prolog. arXiv preprint cs/0207053 (2002)

Copyright information

© Springer International Publishing Switzerland 2015

Authors and Affiliations

  1. 1.German University in CairoNew CairoEgypt

Personalised recommendations