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

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

1.2     ! noro        1: %$OpenXM: OpenXM/doc/calc2000p/calc2000.tex,v 1.1.1.1 2000/06/27 06:47:52 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}
        !           111: The OpenXM package is implemented on the  OpenXM for TCP/IP,
        !           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
        !           115: are implemented to achieve a real speedup for massively parallel cases.
        !           116: A C library interface is available for some servers.
        !           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
        !           121: from this cite, too.
1.1       noro      122: \end{document}

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