next up previous contents
Next: A Mathematica Implementation Up: Distributed Constraint Solving Previous: Progress Report

Further Work

After half a year of project work, we have set up the basic skeleton of the system. Within the next year of the project, we will fill this skeleton with ``flesh'' pursuing research and development work along the following lines:

  1. Constraint Solvers: The next step will be the integration of external solvers implemented in a compiled language (C/C++) over more powerful constraint domains (as have been developed at RISC-Linz). This will involve the definition of a corresponding communication interface on top of the MathLink protocol for the exchange of constraints between the Mathematica environment and the external solvers.

  2. Process Distribution: Currently, all constraint solving processes run on the same machine as the language interpreter. This limitation will be overcome by placing some infrastructure on top of the current runtime environment by which external solvers are spawned on other machines and the scheduler connects to these solvers. Issues like load distribution and a basic form of fault tolerance have to be investigated in this phase.

  3. Parallelization: The interpreter currently supports OR-parallel annotations but it is clear how to extend it to support AND-parallelism as well (concurrent investigation of multiple subproblems). We will extend the language and the implementation to provide both kinds of parallell execution forms.

  4. Calculus Extensions: The current inference calculus has various restrictions that we would like to overcome in future versions. For instance, it only allows a restricted form of higher-order functions/predicates and control of parallelism within the program is still rather rudamentary. We will thus continue work on the calculus in close cooperation with Prof. Ida.

This work will be based on the development of more realistic application examples from various domains such as electrical engineering. The development of a library of such examples will be therefore of great importance.



next up previous contents
Next: A Mathematica Implementation Up: Distributed Constraint Solving Previous: Progress Report



www-admin@icot.or.jp