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

Diff for /OpenXM/doc/issac2000/openxm-clients.tex between version 1.7 and 1.12

version 1.7, 2000/01/16 06:39:39 version 1.12, 2000/01/17 07:15:52
Line 1 
Line 1 
 % $OpenXM: OpenXM/doc/issac2000/openxm-clients.tex,v 1.6 2000/01/16 03:15:49 noro Exp $  % $OpenXM: OpenXM/doc/issac2000/openxm-clients.tex,v 1.11 2000/01/17 06:10:40 noro Exp $
   
 \section{OpenXM Clients}  \section{OpenXM Clients}
   
 \subsection{Risa/Asir}  \subsection{Risa/Asir}
   
 Risa/Asir provides a launcher to invoke an OpenXM server and to set up the  Risa/Asir provides a launcher {\tt ox\_launch}
 communication between the server and itself. As a client,  to invoke an OpenXM server and to set up the
 it provides many built-in functions for communication.  communication between the server and itself.
   
 \subsubsection{Setting up servers}  
 {\tt ox\_launch} is a general purpose launcher.  This application  
 invokes a server and sets up the server-client communication  
 according to the protocol stated in Section \ref{launcher}, then  
 itself becomes a control server.  
 Several facilities related to {{\tt ox\_launch}} are provided  
 as built-in functions of Risa/Asir: a function to invoke a server  
 automatically from a give host name and a server name, and a set  
 of functions to execute the port generation, {\tt bind}, {\tt listen},  
 {\tt connect} and {\tt accept} operations on sockets individually.  
   
 \subsubsection{Manipulating servers}  
 Fundamental operations on OpenXM servers are  Fundamental operations on OpenXM servers are
 exchange of {\tt OX} data and sending of {\tt SM} commands.  exchange of OX data and sending of stack machine commands.
 The following functions  As a client, Asir provides the following functions
 are provided to execute these primitive operations:  to execute these primitive operations:
 {\tt ox\_push\_cmo()} for pushing data to a server,  {\tt ox\_push\_cmo()} for pushing data,
 {\tt ox\_push\_cmd()} for sending an {\tt SM} command to a server  {\tt ox\_push\_cmd()} for sending a stack machine command
 and {\tt ox\_get()} for receiving data from a stream.  and {\tt ox\_get()} for receiving data from a stream.
   
 Some operations including the reset operation are realized by  Some operations including the reset operation are implemented by
 combining these primitives.  Among them, frequently used ones are  combining these primitives.  Among them, frequently used ones are
 provided as built-in functions. We show several ones.  provided as built-in functions. We show some of them.
   
 \begin{itemize}  \begin{itemize}
 \item {\tt ox\_pop\_cmo()}  \item {\tt ox\_pop\_cmo()}
Line 49  the function. It does not wait the termination of the 
Line 36  the function. It does not wait the termination of the 
 After sending {\tt SM\_control\_reset\_connection} to a control server,  After sending {\tt SM\_control\_reset\_connection} to a control server,
 it completes the operations stated in Section \ref{control}.  it completes the operations stated in Section \ref{control}.
 \end{itemize}  \end{itemize}
 Furthermore {\tt ox\_select()} is provided to detect streams ready for  Furthermore {\tt ox\_select()} is provided to detect if streams are ready for
 reading. It is realized by the {\tt select()} system call and is used  reading. It is implemented by the {\tt select()} system call and is used
 to avoid blocking on read operations.  to avoid blocking on read operations.
   
 \subsection{Mathematica}  \subsection{Mathematica}
Line 61  The module {\tt math2ox} communicates with Mathematica
Line 48  The module {\tt math2ox} communicates with Mathematica
 with any OpenXM server by the OpenXM protocol.  with any OpenXM server by the OpenXM protocol.
 By using the module {\tt math2ox},  By using the module {\tt math2ox},
 we can call OpenXM servers from Mathematica;  we can call OpenXM servers from Mathematica;
 here is an example of a computation of the de Rham cohomology groups  here is a demonstration of a computation of the de Rham cohomology groups
 of ${\bf C}^2 \setminus V(x^3-y^2)$ from Mathematica.  of ${\bf C}^2 \setminus V(x^3-y^2)$ from Mathematica.
 {\footnotesize  {\footnotesize
 \begin{verbatim}  \begin{verbatim}
Line 74  Out[4]=  [ 1 , 1 , 0 ]  (* The dimension of 
Line 61  Out[4]=  [ 1 , 1 , 0 ]  (* The dimension of 
 \end{verbatim}  \end{verbatim}
 }  }
   
 \subsubsection{Functions}  
   
 The {\tt math2ox} adds the following functions to Mathematica.  The {\tt math2ox} adds the following functions to Mathematica.
 \begin{quote}  \begin{quote}
 {\tt OxStart[s\_String]} \\  {\tt OxStart[s\_String]} \\
Line 95  as {\tt ox\_pop\_cmo()} in Risa/Asir;
Line 80  as {\tt ox\_pop\_cmo()} in Risa/Asir;
 it pops data from the server stack.  it pops data from the server stack.
 The {\tt OxGet[]} receives an OX data message  The {\tt OxGet[]} receives an OX data message
 and returns its translation to an local object.  and returns its translation to an local object.
 By using the {\tt OxParse[]} function, one can send OX messages,  The function {\tt OxParse[]} helps debugging to connect Mathematica
   and ox servers.
   By using the function, one can send OX messages,
 written by the OX expression, to a server.  written by the OX expression, to a server.
 OX expressions are Lisp-like expressions for OX messages and are defined  OX expressions are Lisp-like expressions for OX messages and are defined
 in~\cite{noro-takayama}.  in~\cite{noro-takayama}.

Legend:
Removed from v.1.7  
changed lines
  Added in v.1.12

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