DFG Research Cluster
Discrete Algorithms

Computer Algebra and Design of Analog Circuits

DFG Homepage

Main Page
Circuit Design
Data Exchange
Analog Insydes

Question and

Mathematical Data Exchange Protocols

To realize our project, we need to integrate general purpose Computer Algebra Systems, like Mathematica or Macsyma, with our own software, as well as the special purpose systems Singular or SYNCRO. This offers the possibility that these systems can independently run as different processes, even across the network, on different machines and on different platforms and that the data exchange is done efficiently.

The main problem in accomplishing such connections is that of data integration, i.e. a universally understandable and yet efficient format for representing mathematical data. The Multi-Protocol (MP), developed at Kent State University in Kent, Ohio (USA), is an ongoing effort set out to solve the problem of data integration for mathematical data.

MP encodes data in the form of linearized annotated syntax trees. Syntax trees provide a simple, flexible and application-independent way to represent data, and annotations provide a powerful facility for encoding additional information. Binary encodings are used for efficiency and means are provided to encode blocks of homogeneous data (such as matrices or polynomials) in a very compact format. At a level above the syntactic data encoding, dictionaries are used for defining the semantic (i.e. meaning) of operators, symbolic constants, and annotations.

The MP library (libMP) provides an Application Programmer Interface (API) for the MP specification. MP's API and specification is independent of the underlying communication paradigm and transport mechanisms and can be used, for example, with files, sockets, PVM (Parallel Virtual Machine), or Toolbus (a software bus packet).

Using MP in our projects requires on the one hand the implementation of MP interfaces for our systems, and on the other hand a constant evaluation and improvement of the concepts of MP and of its implementation. So far, we have designed specifications for efficient MP encodings for polynomial data, an MP dictionary defining the meaning of polynomial operations, and MP interfaces to Mathematica, MuPAD, Singular and SYNCRO.

Mathematical Data Exchange Protocols and SYNCRO

SYNCRO applications, such as a symbolic circuit analysis kernel, are supposed to run as separate backend processes in combination with a general-purpose CAS in front. This requires efficient mechanisms for exchanging mathematical data between different processes, possibly across the network, on different machines and on different platforms. For applications like these, the Multi-Protocol (MP) is being designed and implemented at the Kent State University, Ohio (USA). MP is a general transport-independent protocol for the exchange of mathematical expression trees. It uses a binary encoding and has special features for reducing overhead during the transmission of homogeneous data such as numerical vectors and matrices.

Webpage by Bachmann, Thiessel
Last modified: Fri Jun 20 17:39:52 MESZ 1997