The Mathematica Journal
Departments
Feature Articles
Columns
New Products
New Publications
Classifieds
Calendar
News Bulletins
Mailbox
Letters
FAQ
Write Us
About the Journal
Staff and Contributors
Submissions
Subscriptions
Advertising
Back Issues
Home
Download this Issue
Mircea Marin, Tetsuo Ida
Institute of Information Sciences and Electronics
University of Tsukuba
Tsukuba Ibaraki 305-8573, Japan
mmarin@score.is.tsukuba.ac.jp, ida@score.is.tsukuba.ac.jp

Wolfgang Schreiner
Research Institute for Symbolic Computation (RISC-Linz)
Johannes Kepler University
A-4040 Linz, Austria
Wolfgang.Schreiner@risc.uni-linz.ac.at

The need for combining and making various constraint solvers cooperate is widely recognized. Such an integrated system would allow solving problems that cannot be solved by a single solver.

CFLP
(Constraint Functional Logic Programming System) is a distributed software system consisting of a functional logic programming interpreter running on one machine and a number of constraint-solving engines running on other machines. The interpreter is based on a deterministic version of a lazy narrowing calculus which was extended in two main directions: (a) the possibility to specify explicit OR-parallelism, and (b) the possibility to specify constraints over various domains. 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 the user to investigate problems with large solution spaces using the computational power available in large computer networks.

The CFLP system is written entirely in Mathematica and uses the MathLink protocol for interprocess communication. The current implementation can solve problems expressable in functional logic and involving constraints such as systems of linear, polynomial, and differential equations, and equations with invertible functions.

Introduction

Examples

The Structure of the System

Conclusions and Future Work

References

Additional Material

About the Authors


Copyright © 2001 Wolfram Media, Inc. All rights reserved.