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 Javabased 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. Keywords: constraint programming, visualization, program annotation, GUI, search trees, debugging Several tools for visualizing the execution of constraint programs have been developed in the last few years. These tools have been found very useful for debugging and improving constraint programs, and for teaching constraint programming. One can distinguish: À À post-mortem visualization tools, these tools are used after execution of the program, the program is annotated with specifications of the information to trace. This approach is implemented for example in the CHIP or CIAO systems, it allows using a wide variety of viewers, including both application oriented tools [23] , and generic tools, for visualizing the search tree [5, 21]
Fages et al., have developed a generic graphical user interface (CLPGUI) for visualizing and controlling logic programs REF .
CLPGUI: A Generic Graphical User Interface for Constraint Logic Programming
Constraints
Constraints
Computer Science