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

Diff for /OpenXM/doc/issac2000/design-outline.tex between version 1.9 and 1.11

version 1.9, 2000/01/15 12:18:42 version 1.11, 2000/01/16 06:02:41
Line 1 
Line 1 
 % $OpenXM: OpenXM/doc/issac2000/design-outline.tex,v 1.8 2000/01/15 03:47:58 takayama Exp $  % $OpenXM: OpenXM/doc/issac2000/design-outline.tex,v 1.10 2000/01/16 02:31:49 takayama Exp $
   
 \section{Design Outline}  \section{Design Outline}
   
Line 24  and a method to interrupt computations on servers from
Line 24  and a method to interrupt computations on servers from
 RPC, HTTP, MPI, PVM are regarded as a general purpose control protocols or  RPC, HTTP, MPI, PVM are regarded as a general purpose control protocols or
 infrastructures.  infrastructures.
 MCP (Mathematical Communication Protocol)  MCP (Mathematical Communication Protocol)
 by Wang \cite{iamc} is such a protocol specialized to mathematics.  by Wang \cite{iamc} is such a protocol for mathematics.
   
 Although data and control are orthogonal to each other,  Although data and control are orthogonal to each other,
 real world requires both.  real world requires both.
 NetSolve \cite{netsolve}, OpenMath$+$MCP, MP$+$MCP \cite{iamc},  NetSolve \cite{netsolve}, OpenMath$+$MCP, MP$+$MCP \cite{iamc},
 and MathLink \cite{mathlink} provide both data and control integration.  and MathLink \cite{mathlink} provide both data and control integration.
 Each integration method has their own features due to their  Each integration method has their own features determined by their
 own design goals.  own design goals.
 OpenXM (Open message eXchange protocol for Mathematics)  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 Noro has involved in the development of a general  \item Noro has been involved in the development of
 purpose 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
 to Risa/Asir  to Risa/Asir
 %% version 950831 released  %% version 950831 released
 in 1995.  in 1995.
 The model of computation was RPC (remote procedure call)  The model of computation was RPC (remote procedure call).
 and it had its own serialization.  
 A robust interruption protocol was provided  A robust interruption protocol was provided
 by  two communication channels  by  two communication channels
 like the File Transfer Protocol (ftp).  like the File Transfer Protocol (ftp).
Line 67  two systems.
Line 66  two systems.
 We thought that it is necessary to provide a data and control protocol  We thought that it is necessary to provide a data and control protocol
 for Risa/Asir to work as a server of factorization and primary ideal  for Risa/Asir to work as a server of factorization and primary ideal
 decomposition.  decomposition.
 \item We have been profitted by increasing number  \item We have been profitted from increasing number
 of mathematical softwares.  of mathematical softwares.
 These are usually ``expert'' systems in one area of mathematics  These are usually ``expert'' systems in one area of mathematics
 such as ideals, groups, numbers, polytopes, and so on.  such as ideals, groups, numbers, polytopes, and so on.
 They have their own interfaces and data formats.  They have their own interfaces and data formats,
 It is fine for intensive users of these systems.  which are fine for intensive users of these systems.
 However, for users who want to explore a new area of mathematics with these  However, a unified system will be more convenient
 softwares or users who need these systems only occasionally,  for users who want to explore a new area of mathematics with these
 a unified system will be more convenient.  softwares or users who need these systems only occasionally.
   
 \item  We believe that an open integrated system is a future of mathematical  \item  We believe that an open integrated system is a future of mathematical
 softwares.  softwares.
Line 91  fundamental architecture.
Line 90  fundamental architecture.
 \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:
 DATA, COMMAND, and SPECIAL.  DATA, COMMAND, and SPECIAL.
 They are called OX (OpenXM) messages,  They are called OX (OpenXM) messages.
   Among the three types,
 {\it OX data messages} wrap mathematical data.  {\it OX data messages} wrap mathematical data.
 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  as well as our own data format {\it CMO}
 ({\it CMO --- Common Mathematical Object format}).  ({\it Common Mathematical Object format}).
 \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}.
Line 109  interface.
Line 109  interface.
 it should follow a grammar that can be parsed with other softwares.  it should follow a grammar that can be parsed with other softwares.
 \end{enumerate}  \end{enumerate}
 \item Any server may have a hybrid interface;  \item Any server may have a hybrid interface;
 it may accept and execute its original command sequences.  it may accept and execute not only stack machine commands,
   but also its original command sequences.
 For example,  For example,
 if we send the following string to {\tt ox\_asir} server  if we send the following string to {\tt ox\_asir} server
 (OpenXM server based on Risa/Asir) \\  (OpenXM server based on Risa/Asir) \\
Line 121  then the server executes the asir command \\
Line 122  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  is based on above fundamental architecture.  OpenXM package  is implemented on above fundamental architecture.
 For example, the following is a command sequence to ask $1+1$ from  For example, the following is a command sequence to ask $1+1$ from
 the Asir client to the {\tt ox\_sm1} server:  the Asir client to the {\tt ox\_sm1} server:
 \begin{verbatim}  \begin{verbatim}
Line 131  the Asir client to the {\tt ox\_sm1} server:
Line 132  the Asir client to the {\tt ox\_sm1} server:
 \end{verbatim}  \end{verbatim}
 Here, {\tt ox\_sm1} is an OpenXM server based on Kan/sm1.  Here, {\tt ox\_sm1} is an OpenXM server based on Kan/sm1.
   
 The current system, OpenXM on TCP/IP,  The OpenXM package is implemented on the  OpenXM for TCP/IP,
 uses the client-server model.  which uses the client-server model.
 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}.
 However, we focus only on the system based on TCP/IP in this paper.  In this paper, we discuss only on systems for TCP/IP
   to concentrate on the core part of our design.
   
   
   
   
   

Legend:
Removed from v.1.9  
changed lines
  Added in v.1.11

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