CLPGUI: A Graphical User Interface
for Constraint Logic Programming

François Fages, Projet Contraintes, INRIA Rocquencourt, France
http://contraintes.inria.fr/



NEW !  October 6th 2006 : release clpgui2.1.6 makes the finite domain viewers interactive and facilitates the installation under Windows
NEW !
 
August 24thr 2006 : release clpgui2.1.5 includes a matrix viewer for Sudoku (the last release was from 2002).


Overview

CLPGUI is a generic graphical user interface written in Java for constraint logic programming. It is currently available for GNU-Prolog and Sicstus Prolog. CLPGUI has been developped both for teaching purposes and for debugging complex programs.

The graphical user interface is composed of several windows: one main console and several dynamic 2D and 3D viewers of the search tree and of finite domain variables.

With CLPGUI it is possible to execute incrementally any goal, backtrack and recompute any state represented as a node in the search tree. The level of granularity of the search tree is defined by annotations in the CLP program.

CLPGUI is a free software protected by the LGPL-2.1 license. This is an Open Source license that allows free academic and commercial usage of this software. Feedback on the use of CLPGUI for teaching, program debugging, porting to other constraint programming systems, or developping application-oriented viewers, is particularly welcomed.
 

Documentation

To run CLPGUI you have to start the Prolog program clpgui.pl. which will call the Java program CLPGUI.java. Both processes will be connected by sockets.

On the Prolog side, you load clpgui.pl (or start directly the clpgui.exe image if it is available for your machine), this will start the CLP server and the GUI client.

On the Java GUI side, you connect to the CLP server by pressing on connect

More options are described in the readme file.

User's manual

Technical manual

Examples: append.pl,queens.pl,send.pl,bridge.pl, sudoku.pl
 

Current version

clpgui2.1.6 (October 2006) for GNU-Prolog 1.2.13  (reference version), Sicstus Prolog 3.9.0 and Java 1.3 (should also work with earlier versions).

download clpgui2.1.6.tgz , The source directory includes pre-compiled versions for linux x486 and win32 x486.
 

Reference:

François Fages, Sylvain Soliman and Rémi Coolen. CLPGUI: a Generic Graphical User Interface for Constraint Logic Programming. Journal of Constraints 9(4) 2004. Preprint available at ps.gz.

OaDymPpac project, Tools for Dynamic Analysis and Debugging of Constraint Programs.

A customized version of CLPGUI won the prize of the best user interface concept at the 15th ACM Symposium on User Interface Software and Technology Contest UIST Sep. 2002, Paris, on a challenging bin packing problem with rotations.


Feedback and bug reports:

Mail to  François.Fages@inria.fr