next up previous contents
Next: The Integration of Up: Distributed Constraint Solving Previous: Introduction

Progress Report

Our project work started in September 1997. The first three months of the project were dedicated to the design of the interpretation mechanism: the lazy narrowing calculus developed by Prof. Ida was extended towards parallelism and constraint solving for which it was corresponingly equipped it with a type system. In September and October, Prof. Buchberger and Mircea Marin from RISC-Linz spent six weeks with the group of Prof. Ida at the University of Tsukuba to elaborate the details in cooperation.

The next tree months of the project (till the end of February 1998) were dedicated to specifying the extended calculus and to implementing the extensions in the functional logic language interpreter.

The resulting language, calculus, and system are documented in detail in Appendix gif. The system source code, documentation, and electronic tutorial are part of the package distribution.

The implementation work included the development of an interface to external constraint solvers and the introduction of the following processes running external to the interpreter (see Figure gif):

  


Figure 1: The architecture of the CFLP system

At that time, the scheduler and the sample solver were implemented as separate Mathematica processes communicating via the MathLink protocol (but still running within one machine in a pseudo-parallel fashion). The scheduler was asynchronously collecting systems of constraints generated during the execution of the interpreter and forwarding them to the constraint solvers. The simplified solutions were collected and transferred back to the interpreter.

From March to September 1998, the following major changes were made to the system:

The period from October 1998 to January 1999 was dedicated to system brushup. This work included:



next up previous contents
Next: The Integration of Up: Distributed Constraint Solving Previous: Introduction



www-admin@icot.or.jp