|
|
|
|
|
|
|
|
Open CFLP: An Open System for Collaborative Constraint Functional Logic Programming
|
|
|
|
|
|
Organization: | University of Tsukuba |
Department: | Institute of Information Sciences and Electronics |
Organization: | University of Tsukuba |
Department: | Institute of Information Sciences and Electronics |
Organization: | University of Tsukuba |
Department: | Institute of Information Sciences and Electronics |
Organization: | University of Tsukuba |
Department: | Institute of Information Sciences and Electronics |
|
|
|
|
|
|
2002 Applications of Computer Algebra Conference (ACA '2002)
|
|
|
|
|
|
Volos, Greece
|
|
|
|
|
|
We describe collaborative constraint functional logic programming and the system called Open CFLP that supports this programming paradigm. The system solves equations by collaboration of various equational constraint solvers. The solvers include higher-order lazy narrowing calculi that serve as the interpreter of higher-order functional logic programming, and specialized solvers for solving equations over specific domains, such as a polynomial solver and a differential equation solver. The constraint solvers are distributed in an open environment such as the Internet. They act as providers of constraint solving services. The collaboration between solvers is programmed in a coordination language embedded in a host language Mathematica. In Open CFLP the user can solve equations in a higher-order functional logic programming style and yet exploit solving resources in the Internet without giving low-level programs of distributions of resources or specifying details of solvers deployed on the Internet. From the architecture point of view, Open CFLP is composed of the following four kinds of components: (1) functional logic programming interpreter written in Mathematica (2) Mathematica Notebook that serves as a user interface to the interpreter, (3) coordinator written in JAVA and (4) various solvers. The coordinator connects the interpreter and various solvers and coordinates the collaboration of the solvers. It also provides the functionality of directory service, i.e. finding appropriate solvers in the open environment. The solvers may be implemented in various languages (including Mathematica). We provide a wrapper for those solvers and the wrapped solvers act as CORBA objects. All the solvers including the interpreter communicated data in the same format specified in MathML. In the presentation we will also give video-recorded demonstration of the system.
|
|
|
|
|
|
|
|
|
|
|
|
Open CFLP, functional logic programming, polynomial solver, differential equation solver
|
|