[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.5 and 1.6

version 1.5, 2000/04/26 08:18:30 version 1.6, 2000/04/27 05:42:18
Line 1 
Line 1 
 % $OpenXM: OpenXM/doc/calc2000/design-outline.tex,v 1.4 2000/04/24 07:17:13 noro Exp $  % $OpenXM: OpenXM/doc/calc2000/design-outline.tex,v 1.5 2000/04/26 08:18:30 noro Exp $
   
 \section{Integration of Mathematical Software}  \section{Integration of Mathematical Software}
   
Line 29  by Wang \cite{iamc} is such a protocol for mathematics
Line 29  by Wang \cite{iamc} is such a protocol for mathematics
 Although data and control are orthogonal to each other, real world  Although data and control are orthogonal to each other, real world
 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  platforms.  Dalmas et al. \cite{omimp} shows an implementation of
 OpenMath API, where as Maple, REDUCE and  OpenMath API, where Maple, REDUCE and
 AXIOM/Aldor are wrapped 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 interface 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 is  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 their
 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.
Line 53  usability by implementing and using it on various plat
Line 53  usability by implementing and using it on various plat
   
 \section{Design Outline of OpenXM}  \section{Design Outline of OpenXM}
   
 %OpenXM (Open message eXchange protocol for Mathematics)  
 %is a project aiming to integrate data, control and user interfaces  
 %with design goals motivated by the followings.  
 %\begin{enumerate}  
 %\item Noro has been involved in the development of  
 %a computer algebra system Risa/Asir \cite{asir}.  
 %An interface for interactive distributed computations was introduced  
 %to Risa/Asir  
 %%% version 950831 released  
 %in 1995.  
 %The model of computation was RPC (remote procedure call).  
 %A robust interruption protocol was provided  
 %by  two communication channels  
 %like the File Transfer Protocol (ftp).  
 %As an application of this protocol,  
 %a parallel speed-up was achieved for a Gr\"obner basis computation  
 %to determine all odd order replicable functions  
 %(Noro and McKay \cite{noro-mckay}).  
 %However, the protocol was local in Asir and we thought that we should  
 %design an open protocol.  
 %\item Takayama has developed  
 %a special purpose system Kan/sm1 \cite{kan},  
 %which is a Gr\"obner engine for the ring of differential operators $D$.  
 %In order to implement algorithms in $D$-modules due to Oaku  
 %(see, e.g., \cite{sst-book}),  
 %factorizations and primary ideal decompositions are necessary.  
 %Kan/sm1 does not have an implementation for these and called  
 %Risa/Asir as a UNIX external program.  
 %This approach was not satisfactory.  
 %Especially, we could not write a clean interface code between these  
 %two systems.  
 %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  
 %decomposition.  
 %\item We have been profited from increasing number  
 %of mathematical software tools.  
 %These are usually ``expert'' systems in one area of mathematics  
 %such as ideals, groups, numbers, polytopes, and so on.  
 %They have their own interfaces and data formats,  
 %which are fine for intensive users of these systems.  
 %However, a unified system 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.  
 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 followng.  with design goals motivated by the following.
   
 \begin{enumerate}  \begin{enumerate}
 \item  \item
 An interface for interactive distributed computations was introduced  An interface for interactive distributed computations was introduced
 to Risa/Asir in 1995.  to Risa/Asir \cite{asir} in 1995.
 As an application,  As an application,
 a parallel speed-up was achieved for a Gr\"obner basis computation  a parallel speed-up was achieved for a Gr\"obner basis computation
 (Noro and McKay \cite{noro-mckay}).  (Noro and McKay \cite{noro-mckay}).
Line 123  design an open protocol.
Line 69  design an open protocol.
 \item  \item
 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}),
 Kan/sm1 called Risa/Asir as a UNIX external program to  Kan/sm1 \cite{kan} called Risa/Asir as a UNIX external program to
 compute factorizations and primary ideal decompositions,  compute factorizations and primary ideal decompositions,
 but the interface code was not clean.  but the interface code was not clean.
 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
Line 174  it may accept and execute not only stack machine comma
Line 120  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 \cite{asir}) \\  (OpenXM server based on 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 185  and pushes the result onto the stack.
Line 131  and pushes the result onto the stack.
 \item Network transparent supports for controlling servers are provided.  \item Network transparent supports for controlling servers are provided.
 For example OpenXM defines a robust reset procedure to restart computations  For example OpenXM defines a robust reset procedure to restart computations
 without any confusion in I/O buffers.  without any confusion in I/O buffers.
 It is necessary for debugging programs running on distributed environment.  It is very useful 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
Line 195  Currently the following servers are available in the O
Line 141  Currently the following servers are available in the O
 \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 functionalities 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, a system for computation in
 the ring of differential operators including computation of Gr\"obner bases  the ring of differential operators including computation of Gr\"obner bases
 and cohomology groups.  and cohomology groups.
 \item {\tt ox\_phc}  \item {\tt ox\_phc}

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

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