Skip to main content
Log in

CLPGUI: A Generic Graphical User Interface for Constraint Logic Programming

  • Published:
Constraints Aims and scope Submit manuscript

Abstract

CLPGUI is a generic graphical user interface for visualizing and controlling the execution of constraint logic programs. CLPGUI has been designed to be used in different contexts: initially for teaching purposes, then for debugging complex programs of real-world scale, and recently for developing end-user interfaces. The challenge of developing a tool which is generic w.r.t. both the constraint logic programming system and the visualizers, is addressed by a client-server architecture for connecting a CLP process to a Java-based GUI process, and by a non-intrusive tracing and control method based on annotations in the CLP program. Arbitrary constraints and goals can be posted incrementally from the GUI in an interactive manner, and arbitrary states can be recomputed. We describe several generic 2D and 3D viewers of the variables and of the search tree, and argue that the 3D representation is best-suited to apprehend the shape of large search trees. We also illustrate the use of CLPGUI for developing application-oriented end-user interfaces on two placement problems, one in virtual reality.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Bouvier, P. (2000). Visual tools to debug prolog IV programs. In Analysis and Visualization Tools for Constraint Programming, Constrain Debugging (DiSCiPl project), Volume 1870 of LNCS, pages 177-190. Springer-Verlag.

    Google Scholar 

  2. Bracchi, C., Gefflot, C., & Paulin, F. (2001). Combining propagation information and search-tree visualization using OPL Studio. In Proceedings of WLPE'01, pages 27-39. Cyprus.

  3. Brady, T., Marks, J., & Ryall, K. (2002). The Second ACM UIST Interface-Design Contest. The 15th ACM Symposium on User Interface Software and Technology. http://www.acm.org/uist/uist2002/contest/.

  4. Carro, M., & Hermenegildo, M. V. (2000a). Tools for constraint visualization: The VIFID/TRIFID tool. In Analysis and Visualization Tools for Constraint Programming, Constrain Debugging (DiSCiPl project), Volume 1870 of LNCS, pages 253-272. Springer-Verlag.

    Google Scholar 

  5. Carro, M., & Hermenegildo, M. V. (2000b). Tools for search tree visualization: The APT tool. In Analysis and Visualization Tools for Constraint Programming, Constrain Debugging (DiSCiPl project), Volume 1870 of LNCS, pages 237-252. Springer-Verlag.

    Google Scholar 

  6. Choi, C. W., Henz, M., & Ng, K. B. (2001). Components for state restoration in tree search. In Proceedings of the Seventh International Conference on Principles and Practice of Constraint Programming (CP'01), pages 240-255. Cyprus.

  7. Coolen, R. (2003). Apport de la réalité virtuelle dans un proble`me de placement 2D/3D. Rapport de stage d'option de l'ecole polytechnique, INRIA.

  8. Deransart, P., Ducassé, M., & Langevine, L. (2002). A generic trace model for finite domain solvers. In O'Sullivan, B., ed., Proceedings of User Interaction in Constraint Satisfaction (UICS'02), pages 32-46. USA: Cornell University.

    Google Scholar 

  9. Diaz, D. (1999-2003). GNU-Prolog user's manual. http://gprolog.inria.fr.

  10. Eisenstadt, M., & Brayshaw, M. (1988). The transparent prolog machine: An execution model and graphical debugger for logic programming. J. Log. Program. 5(4): 277-342.

    Google Scholar 

  11. Fages, F., Fowler, J., & Sola, T. (1995). A reactive constraint logic programming scheme. In Sterling, L., ed., Proc. International Conference on Logic Programming ICLP'95. Tokyo.

  12. Ghoniem, M., Jussien, N., & Fekete, J.-D. (2003). Visualizing explanations to exhibit dynamic structure in constraint problems. In O'sullivan, B., ed., Proceedings of the Third International Workshop on User-Interaction in Constraint Satisfaction. Kinsale, Ireland. http://www.cs.ucc.ie/osullb/UICS-03/.

    Google Scholar 

  13. Goethel, S. (1997-2003). OpenGL for Java online documentation. http://gl4java.sourceforge.net/docs/.

  14. Goualard, F., & Benhamou, F. (1999). A visualization tool for constraint program debugging. In Proceedings of the 14th IEEE International Conference on Automated Software Engineering, pages 110-117. Cocoa Beach, Florida.

  15. Goualard, F., & Benhamou, F. (2000). Debugging constraint programs by store inspection. In Analysis and Visualization Tools for Constraint Programming, Constrain Debugging (DiSCiPl project), Volume 1870 of LNCS, Chapter 11. Springer-Verlag.

  16. Jaffar, J., & Maher, M. J. (1994). Constraint logic programming: A survey. J. Log. Program. 19/20: 503-581.

    Google Scholar 

  17. Meier, M. (1995). Debugging constraint programs. In Proceedings of the First International Conference on Principles and Practice of Constraint Programming (CP'95), pages 204-221. Cassis, France.

  18. OADymPPaC, Tools for dynamic analysis and debugging of constraint programs. A French RNTL project. http://constraintes.inria.fr/OADymPPaC.

  19. Schneiderman, B. (1992). Tree visualization with treemaps: 2D space filling approach. ACM Trans. Graph. TOG'92, 11(1).

  20. Schulte, C. (1997). Oz explorer: A visual constraint programming tool. In Proceedings of the Fourteenth International Conference on Logic Programming (ICLP'97), pages 286-300. Leuven.

  21. Simonis, H., & Aggoun, A. (2000). Search-tree visualization. In Analysis and Visualization Tools for Con-straint Programming, Constrain Debugging (DiSCiPl project), Volume 1870 of LNCS, Chapter 7. Springer-Verlag.

  22. Simonis, H., Aggoun, A., Beldiceanu, N., & Bourreau, E. (2000a). Complex constraint abstraction: Global constraint visualization. In Analysis and Visualization Tools for Constraint Programming, Constrain Debug-ging (DiSCiPl project), Volume 1870 of LNCS, Chapter 12. Springer-Verlag.

  23. Simonis, H., Cornelissen, T., Dumortier, V., Fabris, G., Nanni, F., & Tirabosco, A. (2000b). Using constraint visualization tool. In Analysis and Visualization Tools for Constraint Programming, Constrain Debugging (DiSCiPl project), Volume 1870 of LNCS, Chapter 13. Springer-Verlag.

  24. Smedbäck, G., Carro, M., & Hermenegildo, M. V. (1999). Interfacing Prolog and VRML and its application to constraint visualization. In The Practical Application of Constraint Technologies and Logic Programming, pages 453-471.

  25. Swedish Institute of Computer Science. (1991–2003). SICStus Prolog v3 User's Manual. The Intelligent Systems Laboratory, PO Box 1263, S-164 28 Kista, Sweden. http://www.sics.se/isl/sicstus.html.

    Google Scholar 

  26. Van Hentenryck, P. (1989). Constraint Satisfaction in Logic Programming. MIT Press.

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Fages, F., Soliman, S. & Coolen, R. CLPGUI: A Generic Graphical User Interface for Constraint Logic Programming. Constraints 9, 241–262 (2004). https://doi.org/10.1023/B:CONS.0000049203.53383.c1

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1023/B:CONS.0000049203.53383.c1

Navigation