We are going to develop a distributed software system consisting of
a functional logic language interpreter on one machine,
a number of constraint solving engines running on other machines.
The interpreter is based on an already existing (sequential) implementation
of a functional logic language on the computer system Mathematica extended in
two directions:
the possibility to specify (non-linear) constraints over real numbers;
the possibility to specify OR-parallelism among different clauses of a
predicate.
The OR parallel features of the interpreter allow the decomposition of the
solution space into different subspaces denoted by various sets of
constraints; the individual sets are solved by different constraint solving
engines in parallel and joined together to form the total solution set. This
allows to investigate problems with large solution spaces using the
computational power available in large computer networks.