[2-5] Free Constraint Systems

This section contains constraint systems, constraint logic programming
systems, concurrent constraint languages, and other constraint
processing systems.

CIAL:

   CIAL 1.0b is an interval constraint logic programming language. The main
   difference between CIAL and other CLP(Interval) languages is that a
   linear constraint solver, which is based on preconditioned interval
   Gauss-Seidel method, is embedded in CIAL in addition to the interval
   narrowing solver. 

   The main motivations for a linear solver are:

      * Pure interval narrowing fails to narrow the intervals to any useful 
	width even for such simple systems as {X+Y=5, X-Y=6}.  Interval
	splitting may help but is costly.

      * Pure interval narrowing cannot always detect inconsistency or halt
	(in a reasonable time).  A simple example is {A+1=D, A+B=D, A>0, B<0}.

      * Efficient linear constraint solver is also important to the study of
	efficient non-linear constraint-solving.  Recent results show that 
	interval Newton method works better than pure interval narrowing for 
	solving non-linear constraints, but may require to solve many linear
	constraints in order to give the best results.

   This version of CIAL prototype is implemented as an extension to CLP(R)
   v1.2 and tested on Sun Sparc machines. You should have obtained CLP(R)
   from IBM prior to installing CIAL. The distribution is in the form of
   patches to the CLP(R) sources. [See entry on CLP(R) below].
   Send email to cial@cs.cuhk.hk to request CIAL, and for more details.

   Relevant papers include

      C.K. Chiu and J.H.M. Lee, "Towards practical interval constraint solving
      in logic programming", in Proceedings of the Eleventh International
      Logic Programming Symposium, Ithaca, NY, USA, November 1994 (to appear).

      J.H.M. Lee and T.W. Lee, "A WAM-based abstract machine for interval
      constraint logic programming and the multiple-trailing problem", in
      Proceedings Sixth IEEE International Conference on Tools with
      Artificial Intelligence, New Orleans, Nov 1994.

cu-Prolog:
   cu-Prolog is an experimental constraint logic programming language
   available free from Japan's Institute for New Generation Computer
   Technology (ICOT). Unlike most conventional CLP systems, cu-Prolog
   allows user-defined predicates as constraints and is suitable for
   implementing a natural language processing system based on the
   unification-based grammar. For example, the cu-Prolog developers
   implemented a JPSG (Japanese Phrase Structure Grammar) parser in
   cu-Prolog with the JPSG Working Group (the chairman is Prof. GUNJI,
   Takao of Osaka University) at ICOT. cu-Prolog is a complete
   implementation of Constraint Unification (cu), hence the name.
   cu-Prolog is implemented in C for BSD UNIX 4.2/3. Professor Sirai of
   Chukyo-University has also implemented cu-Prolog for the Apple
   Macintosh and DJ's GPP (80386/486 MS-DOS machine with the DOS
   extender). cu-Prolog is available free by anonymous ftp from
   ftp.icot.or.jp. For further information, send email to ifs@icot.or.jp,
   or write to ICOT Free Software Desk, Institute for New Generation
   Computer Technology, 21st Floor, Mita Kokusai Bldg., 4-28, Mita
   1-chome, Minato-ku, Tokyo 108, Japan, fax +81-3-3456-1618.

clp(FD):
   clp(FD) 2.2 is a constraint logic programming language over finite
   domains and booleans based on the wamcc Prolog compiler (see [2-1]).
   clp(FD) provides several constraints "a la CHIP" on finite domains and
   booleans and some facilities for building new constraints. clp(FD) is
   4 times faster than CHIP v3.2 on average.  clp(FD) requires GCC 2.4.5
   or higher and has been tested on Sparc workstations, DEC (Ultrix),
   Sony MIPS (R3000), and 386/486 PCs under linux. It should be
   easily ported to 32-bit machines with GCC.  clp(FD) is available free
   by anonymous ftp from
      ftp.inria.fr:/INRIA/Projects/ChLoE/LOGIC_PROGRAMMING/clp_fd/
   For more information, write to Daniel Diaz <Daniel.Diaz@inria.fr>,
   INRIA Rocquencourt, FRANCE.

CLP(R):
   CLP(R) is a constraint logic programming language with real-arithmetic
   constraints.  The implementation contains a built-in constraint solver
   which deals with linear arithmetic and contains a mechanism for delaying
   nonlinear constraints until they become linear.  Since CLP(R) subsumes
   PROLOG, the system is also usable as a general-purpose logic programming
   language. It includes facilities for meta-programming with constraints.
   The system consists of a compiler, byte-code emulator, and constraint
   solver. CLP(R) is written entirely in C and runs on Suns, Vaxen,
   MIPS-based machines (Decstations, Silicon Graphics), IBM RS6000s and
   PS2s. Includes MS-DOS support. It is available free from IBM for 
   academic and research purposes only. To get a copy, write
   to Joxan Jaffar, H1-D48, IBM Thomas J. Watson Research Center,
   P.O. Box 704, Yorktown Heights, NY 10598, or send email to
   joxan@watson.ibm.com or joxan@yktvmh.bitnet. Current version 1.2.
   For more information, write to Joxan or Roland Yap
   <roland@bruce.cs.monash.edu.au>.

OZ:
   Oz is a concurrent constraint programming language designed for
   applications that require complex symbolic computations, organization
   into multiple agents, and soft real-time control.  It is based on a
   computation model that provides a uniform foundation for higher-order
   functional programming, constraint logic programming, and concurrent
   objects with multiple inheritance.  From functional languages Oz
   inherits full compositionality, and from logic languages Oz inherits
   logic variables and constraints (including feature and finite domain
   constraints). Search in Oz is encapsulated (no backtracking) and
   includes one, best and all solution strategies.

   DFKI Oz is an interactive implementation of Oz featuring a programming
   interface based on GNU Emacs, a concurrent browser, an object-oriented
   interface to Tcl/Tk, powerful interoperability features (sockets, C,
   C++), an incremental compiler, a garbage collector, and support for
   stand-alone applications.  Performance is competitive with commercial
   Prolog and Lisp systems.  DFKI Oz is available for many platforms
   running Unix/X, including Sparcs and 486 PCs.

   Applications DFKI Oz has already been used for include simulations,
   multi-agent systems, natural language processing, virtual reality,
   graphical user interfaces, scheduling, placement problems, and
   configuration.

   Version 1.0 of DFKI Oz has been released on January 23, 1995.  DFKI Oz
   is available by anonymous ftp from
      ps-ftp.dfki.uni-sb.de:/pub/oz
   or through the WWW from
      http://ps-www.dfki.uni-sb.de/
   Tutorials, reference manuals, and research papers are available from
   the same locations.  You may start with "A Survey of Oz" (8 pages) and
   continue with "An Oz Primer" (110 pages). Questions may be directed to
   oz@dfki.uni-sb.de. To join the Oz users mailing list, contact
   oz-users-request@dfki.uni-sb.de.

See also ECLiPSe, Beta-Prolog, and LIFE in [2-1] and ALE in [1-5].
Go Back Up

Go To Previous

Go To Next