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

Diff for /OpenXM/doc/calc2000/design-outline.tex between version 1.1.1.1 and 1.5

version 1.1.1.1, 2000/04/24 04:20:11 version 1.5, 2000/04/26 08:18:30
Line 1 
Line 1 
 % $OpenXM: OpenXM/doc/issac2000/design-outline.tex,v 1.13 2000/01/17 08:06:15 noro Exp $  % $OpenXM: OpenXM/doc/calc2000/design-outline.tex,v 1.4 2000/04/24 07:17:13 noro Exp $
   
 \section{Integration of Mathematical Software}  \section{Integration of Mathematical Software}
   
Line 7  integration of software tools has three dimensions:
Line 7  integration of software tools has three dimensions:
 data, control, and user interface.  data, control, and user interface.
   
 Data integration concerns with the exchange of data between different  Data integration concerns with the exchange of data between different
 software or same software.  programs or the same program.
 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 provide standard ways to express mathematical objects.  They provide standard ways to express mathematical objects.
Line 30  Although data and control are orthogonal to each other
Line 30  Although data and control are orthogonal to each other
 requires both. The best way to evaluate and to improve such  requires both. The best way to evaluate and to improve such
 integration schemes is to implement and to use them on various  integration schemes is to implement and to use them on various
 plaftforms.  Dalmas et al. \cite{omimp} shows an implementation of  plaftforms.  Dalmas et al. \cite{omimp} shows an implementation of
 OpenMath API, where several systems such as Maple, REDUCE and  OpenMath API, where as Maple, REDUCE and
 AXIOM/Aldor are made as servers.  MP$+$MCP \cite{iamc} shows a design  AXIOM/Aldor are wrapped as servers.  MP$+$MCP \cite{iamc} shows a design
 of server inferface suited for interactive use and its limited  of server inferface suited for interactive use and its limited
 implementation on MAXIMA is reported.  Lakshman et al. \cite{pseware}  implementation on MAXIMA is reported.  Lakshman et al. \cite{pseware}
 proposes functionalities which a server should have and Maple has been  proposes functionalities which a server should have and Maple is
 encapsulated as a server. These are all attempts to justify thier  encapsulated as a server. These are all attempts to justify thier
 designs of protocols or architectures, but little is shown about their  designs of protocols or architectures, but little is shown about their
 practical usefulness, especially for developing real applications of  practical usefulness, especially for developing real applications of
 distributed computation.  distributed computation.
   
 In this paper we propose a unified server interface fitting for both  In this paper we propose a unified server interface fitting for both
 interactive use and efficient batch processing. We hope to show its  interactive use and efficient batch processing.
   It includes various supports for developing programs on distributed
   environment. We will show its
 usability by implementing and using it on various platforms.  usability by implementing and using it on various platforms.
   
 %NetSolve \cite{netsolve}, OpenMath$+$MCP, MP$+$MCP \cite{iamc},  %NetSolve \cite{netsolve}, OpenMath$+$MCP, MP$+$MCP \cite{iamc},
Line 107  usability by implementing and using it on various plat
Line 109  usability by implementing and using it on various plat
 %fundamental architecture.  %fundamental architecture.
 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 the following design goals.  with design goals motivated by the followng.
   
 \begin{enumerate}  \begin{enumerate}
   \item
   An interface for interactive distributed computations was introduced
   to Risa/Asir in 1995.
   As an application,
   a parallel speed-up was achieved for a Gr\"obner basis computation
   (Noro and McKay \cite{noro-mckay}).
   However, the protocol was local in Asir and we thought that we should
   design an open protocol.
   \item
   In order to implement algorithms in $D$-modules due to Oaku
   (see, e.g., \cite{sst-book}),
   Kan/sm1 called Risa/Asir as a UNIX external program to
   compute factorizations and primary ideal decompositions,
   but the interface code was not clean.
   We thought that it is necessary to provide a data and control protocol
   for Risa/Asir to work as a server.
   
   \item
   There are increasing number of ``expert'' systems which are useful
   but which have their own interfaces and data formats.
   A unified system integrating such systems
   will be more convenient
   for users who want to explore a new area of mathematics with these
   software tools or users who need these systems only occasionally.
   
   \item  We believe that an open integrated system is a future of mathematical
   software.
   However, it might be just a dream without realizability.
   We want to build a prototype of such an open system by using
   existing standards, technologies and several mathematical software tools.
   We want to see how far we can go with this approach.
   \end{enumerate}
   
   Motivated with these, we started the OpenXM project with the following
   fundamental architecture.
   \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:
 DATA, COMMAND, and SPECIAL.  DATA, COMMAND, and SPECIAL.
Line 144  then the server executes the asir command \\
Line 182  then the server executes the asir command \\
 \verb+ fctr(x^100-y^100); +  \verb+ fctr(x^100-y^100); +
 (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.
   \item Network transparent supports for controlling servers are provided.
   For example OpenXM defines a robust reset procedure to restart computations
   without any confusion in I/O buffers.
   It is necessary for debugging programs running on distributed environment.
 \end{enumerate}  \end{enumerate}
 OpenXM package  is implemented on above fundamental architecture.  OpenXM package  is implemented on above fundamental architecture.
 Currently the following servers are available in the OpenXM package  Currently the following servers are available in the OpenXM package
 \cite{openxm-web}.  \cite{openxm-web}.
   
 \begin{itemize}  \begin{description}
 \item {\tt ox\_asir}  \item{\tt ox\_asir}
   
 A server for Risa/Asir, a general-purpose computer algebra  A server for Risa/Asir, a general-purpose computer algebra
 system. It provides almost  system. It provides almost
 all functinalities of Risa/Asir such as polynomial factorization,  all functinalities of Risa/Asir such as polynomial factorization,
 Gr\"obner basis computation and primary ideal decomposition.  Gr\"obner basis computation and primary ideal decomposition.
 \item {\tt ox\_sm1}  \item{\tt ox\_sm1}
   A server for Kan/sm1 \cite{kan}, a system for computation in
 A server for Kan/sm1 \cite{kan}, a system for computation in algebraic  the ring of differential operators including computation of Gr\"obner bases
 analysis.  and cohomology groups.
   \item {\tt ox\_phc}
 \item {\tt ox\_sm1\_phc}  
   
 A server for PHC pack \cite{phc}, a general-purpose solver for  A server for PHC pack \cite{phc}, a general-purpose solver for
 polynomial systems by homotopy continuation. It is available only  polynomial systems by homotopy continuation.
 on Linux.  \item {\tt ox\_tigers}
   
 \item {\tt ox\_sm1\_tigers}  
   
 A server for TiGERS \cite{tigers}, a system to enumerate  A server for TiGERS \cite{tigers}, a system to enumerate
 all Gr\"obner bases of affine toric ideals.  all Gr\"obner bases of affine toric ideals.
 It can be used to determine the state polytope  It can be used to determine the state polytope
 of a given affine toric ideal.  of a given affine toric ideal.
   \item {\tt ox\_gnuplot}
 \item {\tt ox\_sm1\_gnuplot}  
   
 A server for GNUPLOT, a famous plotting tool.  A server for GNUPLOT, a famous plotting tool.
 \item {\tt ox\_math}  \item {\tt ox\_math}
   
 A server for Mathematica.  A server for Mathematica.
   
 \item {\tt OMproxy}  \item {\tt OMproxy}
   
 A server for translation between CMO and OpenMath/XML expressions.  A server for translation between CMO and OpenMath/XML expressions.
 It is written in Java.  It is written in Java.
 \end{itemize}  This module provides Java classes OXmessage, CMO, and SM
   for the OpenXM protocol, too.
   \end{description}
 In addition to these servers, Risa/Asir, Kan/sm1 and Mathematica  In addition to these servers, Risa/Asir, Kan/sm1 and Mathematica
 can act as clients.  can act as clients.
 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
Line 201  The OpenXM on MPI \cite{MPI} is currently running on R
Line 234  The OpenXM on MPI \cite{MPI} is currently running on R
 as we will see in Section \ref{section:homog}.  as we will see in Section \ref{section:homog}.
 In this paper, we discuss only on systems for TCP/IP  In this paper, we discuss only on systems for TCP/IP
 to concentrate on the core part of our design.  to concentrate on the core part of our design.
   Note that a C library interface is available for some servers.
   
   
   

Legend:
Removed from v.1.1.1.1  
changed lines
  Added in v.1.5

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