Date: Tue, 15 Sep 92 10:28:27 -0700
From: Michael Sannella <sannella@cs.washington.edu>
Return-Path: <sannella@cs.washington.edu>
To: garnet-users@cs.cmu.edu
Subject: new multi-way constraint system in src/contrib: Multi-Garnet v2.1

Multi-Garnet is a package that implements multi-directional
constraints within Garnet.  It is now available to all Garnet users in
the Garnet src/contrib directory.

When the Multi-Garnet package is loaded into Garnet, the normal Garnet
constraint system (formulas, etc) is still accessible.  In addition it
is possible to create multi-way constraints relating slot values.
Each constraint is defined by a set of methods, where each method
contains a Lisp form to propagate values in a different direction.
The constraints are organized into a hierarchy of different strength
constraints, where stronger constraints can override weaker
constraints.  For an overview of multi-way hierarchical constraints,
see the article "An Incremental Constraint Solver" by Freeman-Benson,
Maloney and Borning in Communications of the ACM, January 1990 (v33,
n1, pp54-63).

The multi-garnet files have been included in the latest version of the
Garnet-v2.1 alpha release tar file.  They are also available
separately by anonymous ftp to a.gp.cs.cmu.edu (128.2.242.7), cd
/usr/garnet/alpha/src/contrib/multi-garnet, retrieve all files in this
directory using bin mode.  One of the files is a compressed Postscript
file containing a 50-page tech report on this system.  This report
includes an overview of the system and a reference manual.  In
addition to the Lisp files implementing Multi-Garnet, this directory
also includes several example files containing commented code written
using Multi-Garnet.

Multi-Garnet v2.1 has been developed and tested under Garnet version
2.0 and Franz Allegro Common Lisp version 4.1.  It may require small
changes to run under other versions of Lisp.  As of this writing, it
appears that Multi-Garnet v2.1 works correctly under the alpha release
of Garnet v2.1.  It will probably run under the final release of
Garnet v2.1.  Beyond that, we can't make any guarantees.  We hope to
update Multi-Garnet to work with future releases of Garnet.

Important note:  Multi-Garnet is not an official part of the Garnet
project.  The Garnet maintainers are not responsible for maintaining
this package.  Any bug reports on Multi-Garnet should be sent to me
(sannella@cs.washington.edu), not the garnet mailing lists.

Any comments on the Multi-Garnet system would be welcome.

  ~~ Michael Sannella


