AITEC Contract Research Projects in FY1998:Intermediate Report

(6) Distributed Constraint Solving for Functional Logic Programming

Principal Investigator :Bruno Buchberger, Professor
Research Institute for Symbolic Computation (RISC-Linz)


Title of the Research Project, Principal Investigator

(1) Title of the Research Project

Distributed Constraint Solving for Functional Logic Programming

(2) Principal Investigator

Dr. Bruno Buchberger, Professor
Research Institute for Symbolic Computation (RISC-Linz)

Contents

(1) Purpose of the report

We have developed a distributed software system consisting of a functional logic interpreter running on one machine and a number of constraints solving engines running on different machines and/or processors. The language syntax and operational semantics were designed to express and support parallelism at the level of goals and program clauses.

(2) Current status of the project

We have added constraint solvers for solving linear, polynomial, differential, and partial differential equations. The language was extended with constructs for expressing explicit AND and OR parallelism in goals and programs. Also, a special operator (wait) was added to control the invocation mechanism of the scheduler. The calculus was adapted accordingly and the interface between interpreter and scheduler was improved to support an asynchronous execution of the interpreter and constraint solvers.

(3) Major result at this moment

We have designed and implemented an architecture for the open and consistent combination of different constraint solvers by means of the definition of an interface between a functional logic interpreter and the specialized solvers. The system environment allows specifying and solving constraints consisting of functional logic forrmulas and linear, polynomial and differential equations over the domain of complex numbers.

(4) Image of the resulting software

The system is provided as a collection of Mathematica packages that adds solving power to a normal Mathematica session. As a frontend, we use the Mathematica notebook interface which allows to embed executable code into hypermedia documents for interactive manipulation. For using CFLP, the user must only perform the configuration step described in the Installation Guide and load the package TSolve.m.


www-admin@icot.or.jp