CLPGUI: A Generic Graphical User Interface for Constraint Logic Programming

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.

[1]  Pascal Van Hentenryck Constraint satisfaction in logic programming , 1989, Logic programming.

[2]  Helmut Simonis,et al.  Search-Tree Visualisation , 2000, Analysis and Visualization Tools for Constraint Programming.

[3]  Jean-Daniel Fekete,et al.  Visualizing explanations to exhibit dynamic structure in constraint problems , 2003 .

[4]  Frédéric Goualard,et al.  A visualization tool for constraint program debugging , 1999, 14th IEEE International Conference on Automated Software Engineering.

[5]  Jan Maluszynski,et al.  Analysis and Visualization Tools for Constraint Programming , 2000, Lecture Notes in Computer Science.

[6]  Christophe Gefflot,et al.  Combining Propagation Information and Search Tree Visualization using ILOG OPL Studio , 2001, WLPE.

[7]  Frédéric Goualard,et al.  Debugging Constraint Programs by Store Inspection , 2000, Analysis and Visualization Tools for Constraint Programming.

[8]  Veroniek Dumortier,et al.  Using Constraint Visualisation Tools , 2000, Analysis and Visualization Tools for Constraint Programming.

[9]  Manuel V. Hermenegildo,et al.  Tools for Search-Tree Visualisation: The APT Tool , 2000, Analysis and Visualization Tools for Constraint Programming.

[10]  Michael J. Maher,et al.  Constraint Logic Programming: A Survey , 1994, J. Log. Program..

[11]  Micha Meier Debugging Constraint Programs , 1995, CP.

[12]  Martin Henz,et al.  Components for State Restoration in Tree Search , 2001, CP.

[13]  Manuel V. Hermenegildo,et al.  Interfacing prolog and VRML and its application to constraint visualization , 1999 .

[14]  François Fages,et al.  A Reactive Constraint Logic Programming Scheme , 1995, ICLP.

[15]  Pascal Bouvier Visual Tools to Debug Prolog IV Programs , 2000, Analysis and Visualization Tools for Constraint Programming.

[16]  Christian Schulte Oz Explorer: A Visual Constraint Programming Tool , 1996, PLILP.

[17]  Marc Eisenstadt,et al.  The Transparent Prolog Machine (TPM): An Execution Model and Graphical Debugger for Logic Programming , 1988, J. Log. Program..

[18]  Ben Shneiderman,et al.  Tree visualization with tree-maps: 2-d space-filling approach , 1992, TOGS.

[19]  Manuel V. Hermenegildo,et al.  Tools for Constraint Visualisation: The VIFID/TRIFID Tool , 2000, Analysis and Visualization Tools for Constraint Programming.

[20]  Jan Maluszynski,et al.  Analysis and Visualization Tools for Constraint Programming, Constrain Debugging (DiSCiPl project) , 2000 .

[21]  Eric Bourreau,et al.  Complex Constraint Abstraction: Global Constraint Visualisation , 2000, Analysis and Visualization Tools for Constraint Programming.