A Proposed OpenMath
Object Compatibility Standard
Robert S. Sutor
Mathematical Sciences Department
IBM Research Division
T.J. Watson Research Center
Yorktown Heights, New York 10598 USA
Basic thesis
On a given platform with a rich object model, e.g., Windows 95 or the
Macintosh, the full OpenMath standard with universal representations and
transmission protocols is overkill.
For example ...
- Under Microsoft Windows, ActiveX/OLE
allows you to publish the availability of custom data formats for clipboard
storage, OLE Automation transfer, or drag and drop.
- A techexplorer
example ...
On other platforms ...
- SOM
and OpenDoc
allow similar functionality for the Macintosh, OS/2, Windows 95/NT, and
AIX, with more UNIX to follow.
- DSOM and DCOM
will allow the marshalling of objects across machine boundaries.
OpenMath Object Compatibility
- For each object model on each supported platform, the OpenMath Object
Standard describes how to construct a native object from an OpenMath
object, and vice-versa.
- For example, on Windows we define a CF_OPENMATH clipboard
format and specify the corresponding representation.
- An application is OpenMath Object Compatible if it can create
or receive an ObjectMath object stored in native object format.
- In effect, we encode/decode with respect to the native object format
and leave the transmission of the object to the underlying system.
OMOC examples (Windows)
- techexplorer would be OMOC if it supported the creation of OM
ActiveX objects for drag and drop or copy to the clipboard.
- Maple would be OMOC
if it could both create and receive OM ActiveX objects.
Intermachine object transfer
- We don,t care! That,s the responsibility of the OM Network Compatibility
Standard.
- However, we should support DCOM and DSOM, if possible, for the ActiveX
and SOM object models.
Nested standards
+-----------------------------------------------------------+
| |
| +---------------------------------------------+ |
| | | |
| | Object Compatibility | |
| | Probably single computer (today) | |
| +---------------------------------------------+ |
| |
| Network Compatibility |
| Probably multiple computers or UNIX |
+-----------------------------------------------------------+
A necessary requirement
- OM native objects are transferred on demand, without the chance for
a conversation between the sender and receiver.
- Indeed, either may be the clipboard, which is notoriously math-inept!
The actual representations
- The problem of working with the native representation is equvalent
to working with the OpenMath data structure level.
- Minimally (and inefficiently) we could define a CF_OPENMATH_STRING
representation which encapsulates our standard ASCII representation.
Suggested starting points
- Windows NT/95 and ActiveX:
techexplorer ---> Maple <--->
AXIOM
<--- techexplorer
- Macintosh and OpenDoc/SOM:
Mathematica <---> Maple
This page is part of the OpenMath Web archive,
and is no longer kept up to date.