AITEC Contract Research Projects in FY1998 : Software

(6)Distributed Constraint Solving for Functional Logic Programming

Principal Investigator : Bruno Buchberger
RISC Linz


CFLP - Distributed Constraint Solving for Functional Logic Programming


[Software Functions]

This software distribution represents the revised prototype of a distributed
implementation of a programming language called CFLP embedded into the
environment of the computer algebra system Mathematica. The user first starts
Mathematica and loads the packages contained in this distribution which
provide an interpreter for CFLP. The user then writes a CFLP program defining
 
- a set of functions respectively predicates involving
- constraints over the domain of complex numbers (linear and polynomial 
  equations, partial and ordinary differential equations) annotated by
- parallelization constructs
 
By entering a command, the user starts the CFLP interpreter which first checks
the program for type-correctness and then computes its solutions displaying
them one by one on the screen. During execution, the interpreter cooperates
with external processes on remote machines that concurrently solve various
kinds of constraint systems.
 
The system can be applied to problems from application domains like physics 
or electrical engineering.

[Necessary Environments]

Currently the only environment necessary for running the denoted software
is the computer algebra system Mathematica(tm) 3.0 from Wolfram
Research. Mathematica is available for all major Unix platforms including
Linux, for Windows NT/95, and for MacOS. For further information on
Mathematica, see http://www.wolfram.com

[Quantity of the software and file configuration]

The package is currently 6.3 MB in size (gzipped tar file) and structured
as follows:

    Readme-E                  ... this file
    use-of-software-E         ... conditions for using the software
    packages/                 ... implementation of the CFLP system
       Calculus.m 
       CSLaunch.m
       Debug.m               
       RewriteRuleDefs.m
       RewriteRules.m        
       SchedulerInterface.m 
       Scheduler.m           
       Substitutions.m       
       TypeChecker.m
       TSolve.m              
       TermSyntax.m
       Terms.m  
       TypeSyntax.m
       Types.m
       Variables.m
       Calculi/
         TypeRules.m
       Solvers/               ... implementation of exteral constraint solvers
         Linear.m             ... solver for linear equations
         Polynomial.m         ... solver for polynomial equations
         Derivative.m         ... solver for differential equations
         PartialDerivative.m  ... solver for partial differential equations
         StartSolvers.m
         StopSolvers.m
         MainLoop.m
       Examples/              ... implementation of a sample CFLP package
         ElDemo.m   
    documents/                ... the documentation
        UserGuide.ps.gz       ... the user's guide and instalation guide
        report99.ps.gz        ... the CFLP progress report
        ReportCFLP.ps.gz      ... the CFLP preliminary report
        src/                  ... source and documentation of the CFLP system
          Calculus.nb         ... as a Mathematica notebook
          Calculus.nb.ps      ... as a PostScript file (for printing)
          Solvers/
            Linear.nb
            Linear.nb.ps
            ...
        Examples/            
          ElDemo.nb           ... the documented source of the CFLP sample 
                                  package (notebook)
          ElDemo.nb.ps        ... the sample package (PostScript)
          Examples.nb         ... more examples of problems solved with CFLP
          Examples.nb.ps      ... the PS format of Examples.nb
    scripts/                  
        installSolvers        ... shell scripts to start shared 
                                  constraint solvers on Unix platforms
        uninstallSolvers      ... shell scripts to stop the execution of 
                                  shared constraint solvers on a Unix platform

[FTP]


AITEC HomePage

www-admin@icot.or.jp