[BACK]Return to design-outline.tex CVS log [TXT][DIR] Up to [local] / OpenXM / doc / ascm2001

Diff for /OpenXM/doc/ascm2001/design-outline.tex between version 1.3 and 1.6

version 1.3, 2001/03/07 07:34:49 version 1.6, 2001/03/08 07:09:02
Line 1 
Line 1 
 % $OpenXM: OpenXM/doc/ascm2001/design-outline.tex,v 1.2 2001/03/07 06:54:40 takayama Exp $  % $OpenXM: OpenXM/doc/ascm2001/design-outline.tex,v 1.5 2001/03/08 04:24:09 takayama Exp $
   
 \section{Design Outline and OpenXM Request for Comments (OpenXM-RFC)}  \section{Design Outline and OpenXM Request for Comments (OpenXM-RFC)}
   
Line 36  OpenXM (Open message eXchange protocol for Mathematics
Line 36  OpenXM (Open message eXchange protocol for Mathematics
 is a project aiming to integrate data, control and user interfaces  is a project aiming to integrate data, control and user interfaces
 with design goals motivated by the followings.  with design goals motivated by the followings.
 \begin{enumerate}  \begin{enumerate}
   \item The proposed standards mentioned above such as OpenMath
   should be tested on various mathematical software systems,
   but the testing has not been enough in comparison with
   internet protocols.
 \item Noro has been involved in the development of  \item Noro has been involved in the development of
 a computer algebra system Risa/Asir \cite{asir}.  a computer algebra system Risa/Asir \cite{asir}.
 An interface for interactive distributed computations was introduced  An interface for interactive distributed computations was introduced
Line 86  We want to see how far we can go with this approach.
Line 90  We want to see how far we can go with this approach.
   
 Motivated with these, we started the OpenXM project with the following  Motivated with these, we started the OpenXM project with the following
 fundamental architecture, which is currently described in  fundamental architecture, which is currently described in
 OpenXM RFC 100  proposed standard %% ``draft standard'' and ``standard''  OpenXM-RFC 100  proposed standard %% ``draft standard'' and ``standard''
 ``Design and Implementation of OpenXM client-server model and common  ``Design and Implementation of OpenXM client-server model and common
 mathematical object format''.  mathematical object format'' \cite{ox-rfc-100}.
 \begin{enumerate}  \begin{enumerate}
 \item Communication is an exchange of messages. The messages are classified into  \item Communication is an exchange of messages. The messages are classified into
 three types:  three types:
Line 99  Among the three types,
Line 103  Among the three types,
 We use standards of mathematical data formats such as OpenMath and MP  We use standards of mathematical data formats such as OpenMath and MP
 as well as our own data format {\it CMO}  as well as our own data format {\it CMO}
 ({\it Common Mathematical Object format}),  ({\it Common Mathematical Object format}),
 which can be described in XML.  which can be expressed in terms of XML.
 \item Servers, which provide services to other processes, are stack machines.  \item Servers, which provide services to other processes, are stack machines.
 The stack machine is called the  The stack machine is called the
 {\it OX stack machine}.  {\it OX stack machine}.
 Existing mathematical software are wrapped with this stack machine.  Existing mathematical software systems are wrapped with this stack machine.
 Minimal requirements for a target software wrapped with the OX stack machine  Minimal requirements for a target software wrapped with the OX stack machine
 are as follows:  are as follows:
 \begin{enumerate}  \begin{enumerate}
Line 117  it may accept and execute not only stack machine comma
Line 121  it may accept and execute not only stack machine comma
 but also its original command sequences.  but also its original command sequences.
 For example,  For example,
 if we send the following string to the {\tt ox\_asir} server  if we send the following string to the {\tt ox\_asir} server
 (OpenXM server based on Risa/Asir) \\  (OpenXM server of Risa/Asir) \\
 \verb+        " fctr(x^100-y^100); "      + \\  \verb+        " fctr(x^100-y^100); "      + \\
 and call the stack machine command  \\  and call the stack machine command  \\
 \verb+        SM_executeStringByLocalParser    + \\  \verb+        SM_executeStringByLocalParser    + \\
Line 126  then the server executes the asir command \\
Line 130  then the server executes the asir command \\
 (factorize $x^{100}-y^{100}$ over ${\bf Q}$)  (factorize $x^{100}-y^{100}$ over ${\bf Q}$)
 and pushes the result onto the stack.  and pushes the result onto the stack.
 \end{enumerate}  \end{enumerate}
 OpenXM package  implements the OpenXM-RFC 100 and 101 based on  OpenXM package  implements the OpenXM-RFC 100 \cite{ox-rfc-100}
   and 101 \cite{ox-rfc-101} based on
 the above fundamental architecture.  the above fundamental architecture.
 In this paper, we discuss mainly on systems implementing  In this paper, we discuss mainly on systems implementing
 OpenXM-RFC 100 and 101 on TCP/IP.  OpenXM-RFC 100 and 101 on TCP/IP.
Line 137  the Asir client to the {\tt ox\_sm1} server through TC
Line 142  the Asir client to the {\tt ox\_sm1} server through TC
   ox_push_cmo(P,1); ox_push_cmo(P,1);    ox_push_cmo(P,1); ox_push_cmo(P,1);
   ox_execute_string(P,"add"); ox_pop_cmo(P);    ox_execute_string(P,"add"); ox_pop_cmo(P);
 \end{verbatim}  \end{verbatim}
 Here, {\tt ox\_sm1} is an OpenXM server based on Kan/sm1.  Here, {\tt ox\_sm1} is an OpenXM server of Kan/sm1.
   
 Our project of integrating mathematical software  Our project of integrating mathematical software
 systems is taking the ``RFC'' approach, which has been  systems is taking the ``RFC'' approach, which has been
 used to develop internet protocols.  used to develop internet protocols.
 We think that ``RFC'' approach is an excellent way and  We think that ``RFC'' approach is an excellent way and
 we hope that other groups, who are working on standard protocols,  we hope that other groups, who are working on standard protocols,
 take this ``RFC'' approach.  take this ``RFC'' approach, too.
   
 The OpenXM on MPI \cite{MPI} is currently running on Risa/Asir  The OpenXM on MPI \cite{MPI} is currently running on Risa/Asir
 as we will see in Section \ref{section:homog}.  as we will see in Section \ref{section:homog}.
 We are now preparing the OpenXM RFC 102 ``Mathematical communication  We are now preparing the OpenXM-RFC 102 ``Mathematical communication
 on MPI'' (draft protocol)  on MPI'' (draft protocol)
 based on our experiments on MPI.  based on our experiments on MPI.
   
   In the rest of the paper, we abbreviate
   OpenXM-RFC 100 and 101 to OpenXM if no confusion arises.
   
   
   

Legend:
Removed from v.1.3  
changed lines
  Added in v.1.6

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>