[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.2 and 1.3

version 1.2, 2000/01/02 07:32:11 version 1.3, 2000/01/03 04:27:52
Line 1 
Line 1 
 % $OpenXM: OpenXM/doc/issac2000/design-outline.tex,v 1.1 1999/12/23 10:25:08 takayama Exp $  % $OpenXM: OpenXM/doc/issac2000/design-outline.tex,v 1.2 2000/01/02 07:32:11 takayama Exp $
   
 \section{Design Outline}  \section{Design Outline}
   
Line 10  Data integration concerns with the exchange of data be
Line 10  Data integration concerns with the exchange of data be
 softwares or same softwares.  softwares or same softwares.
 OpenMath \cite{OpenMath} and MP (Multi Protocol) \cite{GKW} are,  OpenMath \cite{OpenMath} and MP (Multi Protocol) \cite{GKW} are,
 for example, general purpose mathematical data protocols.  for example, general purpose mathematical data protocols.
 They provides a standard way to express mathematical objects.  They provide a standard way to express mathematical objects.
 For example,  For example,
 \begin{verbatim}  \begin{verbatim}
  <OMOBJ>  <OMI> 123 </OMI> </OMOBJ>   <OMOBJ>  <OMI> 123 </OMI> </OMOBJ>
 \end{verbatim}  \end{verbatim}
 means the (OpenMath) integer $123$ in OpenMath, XML expression.  means the (OpenMath) integer $123$ in OpenMath/XML expression.
   
 Control integration concerns with the establishment and management of  Control integration concerns with the establishment and management of
 inter software communications.  inter-software communications.
 Control involves, for example, a way to ask computation to other processes  Control involves, for example, a way to ask computation to other processes
 and a method to interrupt computations on servers.  and a method to interrupt computations on servers from a client.
 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
 infrastructure.  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 specialized to mathematics.
   
Line 41  our motivations.
Line 41  our motivations.
 \item Noro,  who is one of the authors of OpenXM, has developed a general  \item Noro,  who is one of the authors of OpenXM, has developed a general
 purpose computer algebra system Risa/Asir \cite{asir}.  purpose computer algebra system Risa/Asir \cite{asir}.
 A set of functions for interative distributed computations were introduced  A set of functions for interative distributed computations were introduced
 in Risa/Asir version 95xxxx release in 1995.  in Risa/Asir version 950831 released 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 method for objects.  and it had its own serialization method for objects.
 One special feature of this system was that computations of remote servers can  
 be interrupted.  
 A robust interruption method was provided by having two communication channels  A robust interruption method was provided by having two communication channels
 like ftp, which implements the simple network management protocol.  like ftp, which implements the simple network management protocol.
 As an application of this robust and interractive system,  As an application of this robust and interractive distributed computation
   system,
 a huge Gr\"obner basis was computed  a huge Gr\"obner basis was computed
 to determine all replicable functions by Noro and McKay \cite{noro-mckay}.  to determine all replicable functions by Noro and McKay \cite{noro-mckay}.
 However, the protocol was closed in asir and we thought that we should  However, the protocol was closed in asir and we thought that we should
 design an open protocol.  design an open protocol.
 \item Takayama, who is also one of the authors of OpenXM, has developed  \item Takayama, who is also one of the authors of OpenXM, has developed
 a special purpose computer algebra system Kan/sm1 \cite{kan},  a special purpose computer algebra system Kan/sm1 \cite{kan},
 which is a Gr\"obner engine for ring of differential operators $D$ and  which is a Gr\"obner engine for the ring of differential operators $D$ and
 a package for computational algebraic geometry via D-module computations.  a package for computational algebraic geometry via D-module computations.
 In order to implement algorithms in D-modules due to Oaku  In order to implement algorithms in D-modules due to Oaku
 (see, e.g., \cite{sst-book}),  (see, e.g., \cite{sst-book}),
 factorizations and primary ideal decompositions were necessary.  factorizations and primary ideal decompositions were necessary.
 Kan/sm1 does not have an implementation for these and had invoked  Kan/sm1 does not have an implementation for these and called
 Risa/asir as a C library or a unix external program.  Risa/asir as a C library or a unix external program.
 This approach was not satisfactory.  This approach was not satisfactory.
 Especially, we could not write a clean interface code between these  Especially, we could not write a clean interface code between these
Line 69  We thought that it is necessary to provide a data and 
Line 68  We thought that it is necessary to provide a data and 
 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 The number of mathematical softwares is increasing rapidly in the last  \item The number of mathematical softwares is increasing rapidly in the last
 decades of 20th century.  decade of the 20th century.
 These are usually ``expert'' systems for one area of mathematics  These are usually ``expert'' systems for one area of mathematics
 such as ideals, groups, numbers, polytopes, and so on.  such as ideals, groups, numbers, polytopes, and so on.
 They has their own interfaces and data format.  They have their own interfaces and data formats.
 Interfaces are usually specialied to specific field of mathematics  Interfaces are usually specialied to a specific field of mathematics
 or poor because developers do not have time for designing user interface  or poor because developers do not have time for designing user interface
 languages.  languages.
 It is fine for intensive and serious users of these systems.  It is fine for intensive and serious users of these systems.
 %% x2 stands for x^2, specialized for polynomial ring.  %% x2 stands for x^2, specialized for polynomial ring.
 However, for users who want to explore a new area of mathematics with these  However, for users who want to explore a new area of mathematics with these
 softwares or users who needs these systems only occasionally,  softwares or users who need these systems only occasionally,
 a unified system will be more convinient.  a unified system will be more convinient.
 For example, if we can call and use mathematical softwares  For example, if we can call and use mathematical softwares
 like CoCoa, GAP, Macaulay2, Porta, Singular, Snapea, $\ldots$  like CoCoa, GAP, Macaulay2, Porta, Singular, Snapea, $\ldots$
Line 89  of mathematics. This is an unification of user interfa
Line 88  of mathematics. This is an unification of user interfa
 softwares.  softwares.
 \item  We believe that open integrated systems is a future of mathematical  \item  We believe that open integrated systems is a future of mathematical
 softwares.  softwares.
 However, it might be just a dream without relizability.  However, it might be just a dream without realizability.
 We wanted to build a prototype system of such an open system by using  We wanted to build a prototype system of such an open system by using
 existing standards, technologies and several mathematical softwares.  existing standards, technologies and several mathematical softwares.
 We want to see how far we can go with this approach.  We want to see how far we can go with this approach.
Line 102  fundamental architecture.
Line 101  fundamental architecture.
 three types:  three types:
 DATA, COMMAND, and others.  DATA, COMMAND, and others.
 The messages are called OX (OpenXM) messages.  The messages are called OX (OpenXM) messages.
 Mathematical data are wrapped with OX messages.  Mathematical data are wrapped with {\it OX messages}.
 We uses standards of mathematical data formats such as OpenMath and MP  We use standards of mathematical data formats such as OpenMath and MP
 and our own data format (CMO --- Common Mathematical Object format)  and our own data format ({\it CMO --- Common Mathematical Object format})
 as data expressions.  as data expressions.
 \item Servers, which provide services to other processes, are stackmachines.  \item Servers, which provide services to other processes, are stackmachines.
 The stackmachine is called the  The stackmachine is called the
 OX stackmachine.  {\it OX stackmachine}.
 Existing mathematical softwares are wrapped with this stackmachine.  Existing mathematical softwares are wrapped with this stackmachine.
 Minimal requirements for a target software wrapped with OX stackmachine  Minimal requirements for a target software wrapped with the OX stackmachine
 are as follows:  are as follows:
 \begin{enumerate}  \begin{enumerate}
 \item The target must have a seriealized interface such as a character based  \item The target must have a seriealized interface such as a character based
 interface.  interface.
 \item An output of the target must be machine understandable.  \item An output of the target must be understandable for computer programs;
 It should follow a grammer that can be parsed with other softwares.  it should follow a grammer that can be parsed with other softwares.
 \end{enumerate}  \end{enumerate}
 \end{enumerate}  \end{enumerate}
 We are implementing a package which is realizing our wishes stated as motivations.  We are implementing a package, OpenXM package,
   which aims to realize our wishes stated as motivations.
 It is based on above fundamental architecture.  It is based 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 OX sm1 server:  the asir client to the OX sm1 server:
Line 129  the asir client to the OX sm1 server:
Line 129  the asir client to the OX sm1 server:
   ox_execute_string(P,"add"); ox_pop_cmo(P);    ox_execute_string(P,"add"); ox_pop_cmo(P);
 \end{verbatim}  \end{verbatim}
 The current system, OpenXM on TCP/IP,  The current system, OpenXM on TCP/IP,
 uses client-server model and the TCP/IP for interprocess  uses client-server model and the TCP/IP is used for interprocess
 communications.  communications.
 A design and implementation on MPI already exist for Risa/asir and  A prototype OpenXM system on MPI \cite{MPI} already exists for Risa/asir and
 a OpenXM on MPI is a work in progress.  a general OpenXM on MPI is a work in progress.
 We focus only on the system based on TCP/IP in this paper.  However, we focus only on the system based on TCP/IP in this paper.
   
   
   

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

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