$title=' The Connectivity Problem'; include_once "../../prlheader.php"; ?>
The basic connectivity problem is making software inter-operate. Over the past two years we have integrated a number of locally built tools with other local tools and with tools developed outside of Cornell. This experience has increased our understanding of the issues that arise in the connectivity problem, especially those issues that are specific to mathematical computation. The most apparent problem is the absence of common representations for many mathematical concepts. Such representations are needed to transmit mathematical objects between packages running in the same process and between programs running in separate address spaces. Persistent representations are also needed to store mathematical objects in databases and knowledge bases (which could then be made widely available, e.g., on the World Wide Web [13,14]). Those representations that do exist often lack precise semantic specifications, do not accurately model their underlying mathematical concepts and do not provide adequate mathematical flexibility, all of which inhibits their use as interchange formats between programs. Finally, previous attempts to meet all of the above desiderata have not yielded systems with adequate performance. Some of these same concerns have been recognized earlier [41].
In Sections 2.1, 2.2 and 2.3 we discuss some of our experiences, which focus on the connectivity problem in more detail. In Section 2.4
we discuss our approach to resolving the connectivity problem.