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.
Similar content being viewed by others
References
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.
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.
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/.
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.
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.
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.
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.
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.
Diaz, D. (1999-2003). GNU-Prolog user's manual. http://gprolog.inria.fr.
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.
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.
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/.
Goethel, S. (1997-2003). OpenGL for Java online documentation. http://gl4java.sourceforge.net/docs/.
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.
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.
Jaffar, J., & Maher, M. J. (1994). Constraint logic programming: A survey. J. Log. Program. 19/20: 503-581.
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.
OADymPPaC, Tools for dynamic analysis and debugging of constraint programs. A French RNTL project. http://constraintes.inria.fr/OADymPPaC.
Schneiderman, B. (1992). Tree visualization with treemaps: 2D space filling approach. ACM Trans. Graph. TOG'92, 11(1).
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.
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.
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.
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.
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.
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.
Van Hentenryck, P. (1989). Constraint Satisfaction in Logic Programming. MIT Press.
Author information
Authors and Affiliations
Rights 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
Issue Date:
DOI: https://doi.org/10.1023/B:CONS.0000049203.53383.c1