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

Annotation of OpenXM/doc/calc2000p/calc2000.tex, Revision 1.3

1.3     ! noro        1: %$OpenXM: OpenXM/doc/calc2000p/calc2000.tex,v 1.2 2000/06/30 00:33:34 noro Exp $
1.1       noro        2: %% You need acmconf.cls and flushend.sty to compile this file.
                      3: %% They may be obtained from
                      4: %%  http://riksun.riken.go.jp/archives/tex-archive/macros/latex/contrib/supported/acmconf/
                      5: \documentclass[notitlepage]{book}
                      6: \usepackage{behringer1}
                      7: %\documentclass{article}
                      8: %% \CopyrightText{\copyright 2000, }
                      9: \IfFileExists{graphicx.sty}{\usepackage{graphicx}}{}
                     10: \IfFileExists{epsfig.sty}{\usepackage{epsfig}}{}
                     11: %\ConferenceName{ISSAC 2000, St. Andrews, UK, 2000}
                     12: %\ConferenceShortName{ISSAC2000}
                     13: \def\OpenXM{{\rm OpenXM\ }}
                     14:
                     15: \begin{document}
                     16: %\date{January 16, 2000}
                     17: \date{}
                     18: \title{OpenXM
                     19:       --- an Open System \\ to Integrate Mathematical Software}
                     20: \author{
                     21: {\hfil}
                     22: \and
                     23: {Masahide Maekawa \quad Yukio Okutani}\\
                     24: {Nobuki Takayama \quad Yasushi Tamura}\\
                     25: Kobe University
                     26: \and
                     27: {\hfil}
                     28: \and
                     29: {Masayuki Noro}\\
                     30: {Fujitsu Labs}
                     31: \and
                     32: {Katsuyoshi Ohara}\\
                     33: {Kanazawa University}
                     34: }
                     35: \maketitle
                     36:
1.2       noro       37: OpenXM (Open message eXchange protocol for Mathematics)
                     38: is a project aiming to integrate data, control and user interfaces
                     39: with the following fundamental architecture.
                     40: \begin{enumerate}
                     41: \item Communication is an exchange of {\it OX (OpenXM) messages},
                     42: which are classified into three types:
                     43: DATA, COMMAND, and SPECIAL.
                     44: {\it OX data messages} wrap mathematical data.
                     45: We use standards of mathematical data formats such as OpenMath and MP
                     46: as well as our own data format {\it CMO}
                     47: ({\it Common Mathematical Object format}).
                     48: \item Each server, which provides services to other processes, is a stack machine. The stack machine is called the {\it OX stack machine}.
                     49: Existing mathematical software tools are wrapped with this stack machine.
                     50: \item Any server may have a hybrid interface;
                     51: it may accept and execute not only stack machine commands,
                     52: but also its original command sequences.
                     53: For example,
                     54: if we send the following string to the {\tt ox\_asir} server
                     55: (OpenXM server based on Risa/Asir)\\
                     56: \verb+            "fctr(x^100-y^100);"+\\
                     57: and call the stack machine command\\
                     58: \verb+            SM_executeStringByLocalParser+\\
                     59: then the server executes the asir command
                     60: \verb+fctr(x^100-y^100);+
                     61: (factorize $x^{100}-y^{100}$ over ${\bf Q}$)
                     62: and pushes the result onto the stack.
                     63: \item Network transparent supports for controlling servers are provided.
                     64: For example OpenXM defines a robust reset procedure to restart computations
                     65: without any confusion in I/O buffers.
                     66: It is very useful for debugging programs running on distributed environment.
                     67: \end{enumerate}
                     68: %OpenXM has been designed and implemented from experimental mathematician's
                     69: %point of view, i.e.,
                     70: OpenXM is supposed to be used to connect mathematical
                     71: softwares in the academic community and to test new ideas in distributed
                     72: algorithms in mathematics.
                     73: Currently the following servers are available in the OpenXM package.
                     74:
                     75: \begin{description}
                     76: \item{\tt ox\_asir}
                     77: A server for Risa/Asir, a general-purpose computer algebra
                     78: system. It provides almost
                     79: all functionalities of Risa/Asir such as polynomial factorization,
                     80: Gr\"obner basis computation and primary ideal decomposition.
                     81: \item{\tt ox\_sm1}
                     82: A server for Kan/sm1, a system for computation in
                     83: the ring of differential operators including computation of Gr\"obner bases
                     84: and cohomology groups.
                     85: \item {\tt ox\_phc}
                     86: A server for PHC pack, a general-purpose solver for
                     87: polynomial systems by homotopy continuation.
                     88: \item {\tt ox\_tigers}
                     89: A server for TiGERS, a system to enumerate
                     90: all Gr\"obner bases of affine toric ideals.
                     91: It can be used to determine the state polytope
                     92: of a given affine toric ideal.
                     93: \item {\tt ox\_gnuplot}
                     94: A server for GNUPLOT, a famous plotting tool.
                     95: \item {\tt ox\_math}
                     96: A server for Mathematica.
                     97: \item {\tt OMproxy}
                     98: A server for translation between CMO and OpenMath/XML expressions.
                     99: It is written in Java.
                    100: This module provides Java classes OXmessage, CMO, and SM
                    101: for the OpenXM protocol, too.
                    102: \end{description}
                    103: In addition to these servers, Risa/Asir, Kan/sm1 and Mathematica
                    104: can act as clients.
                    105: For example, the following is a command sequence to ask $1+1$ from
                    106: the Asir client to the {\tt ox\_sm1} server:
                    107: \begin{verbatim}
                    108:   P = sm1_start(); ox_push_cmo(P,1); ox_push_cmo(P,1);
                    109:   ox_execute_string(P,"add"); ox_pop_cmo(P);
                    110: \end{verbatim}
1.3     ! noro      111: The OpenXM package is currently implemented on TCP/IP,
1.2       noro      112: which uses the client-server model.
                    113: The OpenXM on MPI is currently tested on Risa/Asir,
                    114: where collective operations such as broadcast and reduction
1.3     ! noro      115: are implemented to achieve a real speedup for massively parallel computation.
        !           116: C library interfaces are available for some servers.
1.2       noro      117: The source code and binary packages are distributed from
                    118: {\tt http://www.openxm.org}.
                    119: The current version is 1.1.2.
                    120: Documents and a full paper including references are available
1.3     ! noro      121: from this site, too.
1.1       noro      122: \end{document}

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