=================================================================== RCS file: /home/cvs/OpenXM/doc/ascm2001p/design-outline.tex,v retrieving revision 1.3 retrieving revision 1.4 diff -u -p -r1.3 -r1.4 --- OpenXM/doc/ascm2001p/design-outline.tex 2001/06/20 02:40:09 1.3 +++ OpenXM/doc/ascm2001p/design-outline.tex 2001/06/20 03:08:05 1.4 @@ -1,8 +1,8 @@ -% $OpenXM: OpenXM/doc/ascm2001p/design-outline.tex,v 1.2 2001/06/20 02:09:45 takayama Exp $ +% $OpenXM: OpenXM/doc/ascm2001p/design-outline.tex,v 1.3 2001/06/20 02:40:09 takayama Exp $ -\section{Design Outline and OpenXM Request for Comments (OpenXM-RFC)} +\section{Design Outline and OpenXM Request For Comments} -As Schefstr\"om\cite{schefstrom}, clarified, +As Schefstr\"om\cite{schefstrom} clarified, integration of tools and software has three dimensions: data, control, and user interface. @@ -59,7 +59,6 @@ software. However, we found that it might be just a dream without realizability and that it is an important research subject to build a prototype of such an integrated system. % Project X - We started the OpenXM project with the following fundamental architecture, which is currently described in OpenXM-RFC 100 proposed standard %% ``draft standard'' and ``standard'' @@ -81,22 +80,20 @@ The stack machine is called the Existing mathematical software systems are wrapped with this stack machine. Minimal requirements for a target software wrapped with the OX stack machine are as follows: -\begin{enumerate} -\item The target must have a serialized interface such as a character based +(a) The target must have a serialized interface such as a character based interface. -\item An output of the target must be understandable for computer programs; +(b) An output of the target must be understandable for computer programs; it should follow a grammar that can be parsed with other software. -\end{enumerate} \item Any server may have a hybrid interface; it may accept and execute not only stack machine commands, but also its original command sequences. For example, if we send the following string to the {\tt ox\_asir} server -(OpenXM server of Risa/Asir) \\ -\verb+ " fctr(x^100-y^100); " + \\ -and call the stack machine command \\ -\verb+ SM_executeStringByLocalParser + \\ -then the server executes the asir command \\ +(OpenXM server of Risa/Asir) +\verb+" fctr(x^100-y^100); "+ +and call the stack machine command +\verb+SM_executeStringByLocalParser+ +then the server executes the asir command \verb+ fctr(x^100-y^100); + (factorize $x^{100}-y^{100}$ over ${\bf Q}$) and pushes the result onto the stack. @@ -106,35 +103,23 @@ and 101 \cite{ox-rfc-101} based on the above fundamental architecture. In this paper, we discuss mainly on systems implementing OpenXM-RFC 100 and 101 on TCP/IP. -For example, the following is a command sequence to ask $1+1$ from -the Asir client to the {\tt ox\_sm1} server through TCP/IP: -\begin{verbatim} - P = sm1_start(); - ox_push_cmo(P,1); ox_push_cmo(P,1); - ox_execute_string(P,"add"); ox_pop_cmo(P); -\end{verbatim} -Here, {\tt ox\_sm1} is an OpenXM server of Kan/sm1. +%For example, the following is a command sequence to ask $1+1$ from +%the Asir client to the {\tt ox\_sm1} server through TCP/IP: +%\begin{verbatim} +% P = sm1_start(); ox_push_cmo(P,1); ox_push_cmo(P,1); +% ox_execute_string(P,"add"); ox_pop_cmo(P); +%\end{verbatim} +%Here, {\tt ox\_sm1} is an OpenXM server of Kan/sm1. Our project of integrating mathematical software systems is taking the ``RFC'' approach, which has been used to develop internet protocols. -We think that ``RFC'' approach is an excellent way and -we hope that other groups, who are working on standard protocols, -take this ``RFC'' approach, too. - The OpenXM on MPI \cite{MPI} is currently running on Risa/Asir as we will see in Section \ref{section:homog}. We are now preparing the OpenXM-RFC 102 ``Mathematical communication -on MPI'' (draft protocol) -based on our experiments on MPI. - +on MPI'' (draft protocol). In the rest of the paper, we abbreviate OpenXM-RFC 100 and 101 to OpenXM if no confusion arises. - - - - -