version 1.2, 2000/01/02 07:32:11 |
version 1.4, 2000/01/11 05:35:48 |
|
|
% $OpenXM: OpenXM/doc/issac2000/data-format.tex,v 1.1 1999/12/23 10:25:08 takayama Exp $ |
% $OpenXM: OpenXM/doc/issac2000/data-format.tex,v 1.3 2000/01/03 04:27:52 takayama Exp $ |
|
|
\section{Data Format} (Ohara) |
\section{Data Format} (Ohara) |
|
|
Line 13 However, if a program sends an OX data or an OX comman |
|
Line 13 However, if a program sends an OX data or an OX comman |
|
an unrecoverable error may occur. |
an unrecoverable error may occur. |
To avoid such a case OpenXM provides a scheme not |
To avoid such a case OpenXM provides a scheme not |
to send an OX message unknown to peers. |
to send an OX message unknown to peers. |
It is realized by exchanging the list of |
It is realized by exchanging a list of |
supported CMO's, OpenXM stack machine codes, and necessary extra informations. |
supported CMO's, OpenXM stackmachine codes, and necessary extra informations. |
The list is called mathcap. |
The list is called {\it mathcap}. |
Mathcap is also defined as a CMO and the elements are 32bit integers |
Mathcap is also defined as a CMO and its elements are 32bit integers |
or strings. |
or strings. |
|
|
Math encoding types of OX data are distinguished with tags |
Math encoding types of OX data are distinguished with tags |
of OX messages. |
of OX messages. |
For example, |
For example, |
an OX message with the tag |
an OX message with the tag |
OX\_DATA is followed by CMO packet. |
OX\_DATA is followed by a CMO packet. |
An OX message with the tag |
An OX message with the tag |
OX\_DATA\_OPENMATH\_XML is followed by |
OX\_DATA\_OPENMATH\_XML is followed by |
OpenMath XML string and its length. |
an OpenMath XML string and its length. |
|
|
All OpenXM compliant systems should implement 7 primitive data types |
All OpenXM compliant systems should implement 7 primitive data types |
of CMO. |
of the CMO. |
These are used not only to express mathematical objects, but also |
These are used not only to express mathematical objects, but also |
indespensable to carry control informations such as mathcap. |
indispensable to carry control informations such as mathcap. |
CMO is an original methematical data encoding system of the OpenXM project. |
CMO is an original methematical data encoding system of the OpenXM project. |
Let us explain the data format of CMO. |
Let us explain the data format of CMO. |
Any CMO packet consists of a header and a body. |
Any CMO packet consists of a header and a body. |
Line 46 Following tags are registered in the OpenXM for now. |
|
Line 47 Following tags are registered in the OpenXM for now. |
|
#define CMO_STRING 4 |
#define CMO_STRING 4 |
#define CMO_MATHCAP 5 |
#define CMO_MATHCAP 5 |
#define CMO_LIST 17 |
#define CMO_LIST 17 |
|
|
#define CMO_MONOMIAL32 19 |
#define CMO_MONOMIAL32 19 |
#define CMO_ZZ 20 |
#define CMO_ZZ 20 |
#define CMO_QQ 21 |
#define CMO_QQ 21 |
Line 70 Following tags are registered in the OpenXM for now. |
|
Line 72 Following tags are registered in the OpenXM for now. |
|
#define CMO_LAMBDA 62 |
#define CMO_LAMBDA 62 |
\end{verbatim} |
\end{verbatim} |
The first seven types should be implemented on all OpenXM compliant systems. |
The first seven types should be implemented on all OpenXM compliant systems. |
The format of the first severn CMO's are as follows. \\ |
The format of the first seven CMO's are as follows. \\ |
\begin{tabular}{|c|c|} |
\begin{tabular}{|c|c|} |
\hline |
\hline |
{\tt int32 CMO\_ERROR2} & {\sl CMObject} {\rm ob} \\ |
{\tt int32 CMO\_ERROR2} & {\sl CMObject} {\rm ob} \\ |
Line 114 $\cdots$ & {\tt CMObject} {\rm ob[n-1]} \\ |
|
Line 116 $\cdots$ & {\tt CMObject} {\rm ob[n-1]} \\ |
|
\end{tabular} \\ |
\end{tabular} \\ |
|
|
|
|
A mathematical programmer who wants to implement CMO on a server proceed |
A mathematical programmer who wants to implement CMO on a server proceeds |
as follows. |
as follows. |
\begin{enumerate} |
\begin{enumerate} |
\item Look for the CMO list at the web cite \cite{openxm-web}. |
\item Look for the CMO list at the web cite \cite{openxm-web}. |