Prev Up Next
Go backward to STL-Style Generic Programming with Images
Ullrich Köthe

Go up to Applications
Go forward to Generic Graph Algorithms
Dietmar Kühl


Wrapping Computer Algebra Components with Java and CORBA
Wolfgang Küchlin and Andreas Weber

We address two software reuse problems in the field of Computer Algebra. First, we investigate an architecture for the use of installed remote systems via a Java based Web interface. Second, we show how, and at what levels of granularity, algebraic algorithms can be efficiently reused in other Computer Algebra systems by calling them as CORBA objects. The first problem is illustrated by a parallel Gröbner solver [14] which is best installed on a shared memory parallel SPARC server. While the system is portable to a large degree, porting parallel software is generally much more problematic than sequential software. Therefore it is advantageous to access the remote parallel server via a Java-based Web interface. Our interface includes data format conversion routines for polynomials based on the MathBus protocol. The interface comes in two flavors, one for interactive GUI access, and one for scripting access from source code. For a more detailed exposition see [16].

The second problem is illustrated by the task of extending the Gröbner basis software to include parametric Gröbner bases. The new algorithm needs g.c.d. computations on multivariate polynomials which already exist in various other systems, such as SACLIB. However, the memory management of these systems is incompatible with ours. Therefore we wrapped the necessary SACLIB algorithms as CORBA objects, using the ILU implementation of CORBA, and thus reused the SACLIB code rather than reimplementing the algorithms. We show detailed timings indicating the performance and overhead of this approach. Overall, we found that we could efficiently reuse algorithms at a granularity down to a few tens of milliseconds. For a more detailed exposition see [15].


 

Prev Up Next