next up previous
Next: 1 Syntactic data integration Up: A Proposal for Syntactic Protocols Previous: A Proposal for Syntactic Protocols

1 Introduction

It is widely accepted that providing connectivity between software tools, in general, and between Computer Algebra and other mathematical software systems, in particular, is an inevitable development. Among others, the need for software tool integration can be seen from several recent developments. First, the design of distributed Problem Solving Environments (PSEs) that connect symbolic, numeric, text processing, and visualization packages. There has been increased research in this area lately, with workshops and white papers (see, for example, [#!sg:rice2!#,#!sg:rice3!#]), a NSF-funded project [#!pseware!#], as well as explorations of the use of the Web for building wide-area, loosely-coupled systems [#!www-pse1!#,#!www-pse2!#]. Second, with the maturity of tightly-coupled parallel machines and message passing systems such as PVM [#!sg:pvm3!#] and MPI [#!kn:mpi!#], there is renewed interest in the development and implementation of parallel algorithms for symbolic computation (see, for example, [#!sg:star-mpi!#,#!kn:PASCO!#,#!AGK96!#,#!Ajwa96a!#]). Finally, there is an increasing need to extend the capabilities of a system through a communication link with one or more other systems (see, for example, [#!ob:bronst!#,#!sg:dewar2!#]). The ``communication'' approach has several well-known advantages over the more traditional approach of linking in additional modules to produce a single executable image.

Several groups are currently working on different aspects of protocols for exchanging mathematical data (MathLink [#!kn:MATHEMATICA2!#], ASAP [#!sg:asap!#], Multi Protocol (MP) [#!kn:GKW1!#,#!mp:jsc1!#], PoSSoXDR [#!posso-ddl!#], OpenMath [#!sg:OPENMATH2!#], and MathBus [#!MathBus-www!#]). The central problem facing these efforts is that of data integration: Mathematical objects have a semantics and a syntax which must be shared between communicating partners.

Semantic data integration requires a shared understanding of the meaning of mathematical data. Until recently, math protocols provided no support for shared semantics beyond the meaning of the primitive data types and simply assumed that the communicating partners ``knew'' each other. An important task of the Computer Algebra community is to close this semantic gap. Several initiatives addressing this problem are underway (MP, OpenMath, MathBus) and we hope that more experience and a careful evaluation of the proposals will lead to a unifying solution.

Syntactic data integration requires a shared understanding of the encoding and structure of the objects exchanged. At first glance, achieving syntactic data integration might seem easier and, therefore, somewhat less worthy of discussion than semantics. However, our experience [#!mp:jsc1!#,#!sg:BSG1!#] is that this problem becomes increasingly non-trivial if one requires the protocol to be general as well as efficient.

Briefly, generality refers to the applicability of the protocol to mathematical software systems and efficiency refers to the productivity of data communications managed by the protocol.

This paper concentrates on the syntactic aspects of data integration, but we recognize that the syntactic and semantic sides of data integration are not mutually exclusive. We outline the major issues that must be addressed if syntactic data integration is to be achieved in a general and efficient manner and propose solutions which have worked in practice.



 
next up previous
Next: 1 Syntactic data integration Up: A Proposal for Syntactic Protocols Previous: A Proposal for Syntactic Protocols
| ZCA Home | Reports |