[BACK]Return to introduction.tex CVS log [TXT][DIR] Up to [local] / OpenXM / doc / OpenXM-specs

Diff for /OpenXM/doc/OpenXM-specs/introduction.tex between version 1.1 and 1.2

version 1.1, 2000/01/20 08:52:46 version 1.2, 2000/01/24 07:36:35
Line 1 
Line 1 
 %% $OpenXM$  %% $OpenXM: OpenXM/doc/OpenXM-specs/introduction.tex,v 1.1.1.1 2000/01/20 08:52:46 noro Exp $
 //&jp \section{はじめに}  //&jp \section{はじめに}
 //&eg \section{Introduction} (This part has not been translated)  //&eg \section{Introduction}
   
 /*&jp  /*&jp
 Open XM は, おなじタイプまたは異なるタイプの数学プロセス間の  OpenXM は, おなじタイプまたは異なるタイプの数学プロセス間の
 メッセージのやりとりの規約である.  メッセージのやりとりの規約である.
 開発の動機は, 手作り(または研究的な)数学ソフトの相互乗り入れの実現  開発の動機は, 手作り(または研究的な)数学ソフトの相互乗り入れの実現
 および分散計算の実装が  および分散計算の実装が
Line 11  Open XM は, おなじタイプまたは異なるタイプの数学プロセ
Line 11  Open XM は, おなじタイプまたは異なるタイプの数学プロセ
 インタラクティブな数学本,  インタラクティブな数学本,
 さらには数学デジタル博物館用のソフトがこの規約に従い,  さらには数学デジタル博物館用のソフトがこの規約に従い,
 数学ソフトを呼び出すことなどにも利用できる.  数学ソフトを呼び出すことなどにも利用できる.
 当面の目標は openXM 数学ソフトパッケージを作ることである.  当面の目標は OpenXM 数学ソフトパッケージを作ることである.
 これはさまざまな数学ソフトを一つのパッケージとして  これはさまざまな数学ソフトを一つのパッケージとして
 簡単に好きな言語より使えるようにするプロジェクトである.  簡単に好きな言語より使えるようにするプロジェクトである.
 現在 openXM.tar.gz には,  現在 OpenXM.tar.gz には,
 asir, sm1, phc, gnuplot, tigers が入っている.  asir, sm1, phc, gnuplot, tigers が入っている.
 OpenXM 数学ソフトパッケージプロジェクトに  OpenXM 数学ソフトパッケージプロジェクトに
 参加できるように CMO の  参加できるように CMO の
 規約を拡張していくための規約も定めるものとする.  規約を拡張していくための規約も定めるものとする.
   */
   /*&eg
   OpenXM is a free, or Open Source, infrastructure for mathematical
   softwares.
   It provides methods and protocols
   for interactive distributed computation and
   for integrating mathematical softwares.
   OpenXM package is a set of softwares that supports OpenXM protocols.
   It is currently a collection of softwares
   {\tt Risa/Asir} \cite{asir}, {\tt Kan/sm1} \cite{kan}, {\tt PHC} pack \cite{phc}
   , {\tt GNUPLOT},
   {\tt Mathematica} interface, and
   {\tt OpenMath}/XML \cite{openmath} translator.
   */
   
   /*&jp
 現在専門的な数学ソフトが多数開発  現在専門的な数学ソフトが多数開発
 されているが, 次世代の数学ソフトは他のソフトよりサブルーチンとして  されているが, 次世代の数学ソフトは他のソフトよりサブルーチンとして
 呼び出せる機能をもつべきである.  呼び出せる機能をもつべきである.
Line 30  OpenXM 数学ソフトパッケージプロジェクトに
Line 45  OpenXM 数学ソフトパッケージプロジェクトに
 数学アルゴリズム自体に集中できる環境が実現できることを  数学アルゴリズム自体に集中できる環境が実現できることを
 期待している.  期待している.
   
 設計の方針として, (1) 単純 (2) 拡張性 (3) 実装の簡便さ (4) 実用性  設計の方針として, (1) 単純 (2) 拡張性 (3) 実装の簡便さ (4) 実用性(5)
 (5) 高信頼性(robustness),  高信頼性(robustness),に重きをおいている.
 に重きをおいている.  
 Open XM はなにも考えずに簡単に接続できるシステムを作ろう,  
 というまで野心的ではない.  
 数学的な object は一筋縄ではいかないし, 完全な統一規格をつくるというのは  
 気が遠くなる仕事である.  
 そのかわり, 今よりすこしだけこういったデータ交換や分散システム構築の仕事を楽に  
 したいというのがささやかな第1目標である.  
   
   OpenXM はなにも考えずに簡単に接続できるシステムを作ろう,というまで野心
   的ではない.  数学的な object は一筋縄ではいかないし, 完全な統一規格を
   つくるというのは気が遠くなる仕事である. そのかわり, 今よりすこしだけこ
   ういったデータ交換や分散システム構築の仕事を楽にしたいというのがささや
   かな第1目標である.  また, Mathematica や Maple といった巨大な統合ソフ
   トを, Free Mathematical Softwares としてわれわれ自身の手でつくっていく
   ための基礎でもある.
   */
   
   /*&eg
   We have been profited from increasing number
   of mathematical softwares.
   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
   softwares or users who need these systems only occasionally.
   
   OpenXM provides not only data representation and communication protocols
   but also programming guidelines to develop cooperative applications.
   One will be able to concentrate on
   developing mathematical algorithms with such guidelines.
   Our design goals are (1) simpleness, (2) extensibility, (3)
   easiness of implementation, (4) practicality, and (5) robustness.
   
   We believe that an open integrated system is a future of mathematical
   softwares.  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 softwares.  We want
   to see how far we can go with this approach.
   */
   
   /*&jp
 数学的な Object をどのように表現するのか, どう伝えるのかを考えることは  数学的な Object をどのように表現するのか, どう伝えるのかを考えることは
 決してつまらない問題ではない.  決してつまらない問題ではない.
 このような問題は, 新しい数学記号を創造する問題と似ているかもしれない.  このような問題は, 新しい数学記号を創造する問題と似ているかもしれない.
 我々は, 数字を $0$ を含んだ10進数で表記し,  我々は, 数字を $0$ を含んだ10進数で表記し,
 微分を $dx$ と書き, 写像を $ \longrightarrow $ であらわす.  微分を $dx$ と書き, 写像を $ \longrightarrow $ であらわす.
 これらの記号法からどれだけ多くの利益を得ているか, 思いをはせて欲しい.  これらの記号法からどれだけ多くの利益を得ているか, 思いをはせて欲しい.
 また, Mathematica や Maple といった巨大な統合ソフトを,  */
 Free Mathematical Softwares としてわれわれ自身の  /*&eg
 手でつくっていくための基礎でもある.  It is not an obvious problem to consider how mathematical objects
   are represented and communicated.
   It may be similar to trying to create new mathematical symbols.
   We have the decimal notation to represent numbers, the symbol $dx$
   to represent a differential, and $ \longrightarrow $ to represent
   a mapping. One should imagine how we are benefited from these notations.
   */
   
 %% 変数名をどうするか悩むのにも似てる.  %% 変数名をどうするか悩むのにも似てる.
   
 Open XM に準拠したシステム xxx を, open xxx とよぶ.  /*&jp
 たとえば, open XM 対応の asir は open asir であり,  OpenXM は論理的には
 open XM 対応の kan/sm1 は open sm1 である.  OX 層, SM 層, CMO 層にわかれる.
   OX Object は, データ, コマンドに大別できる.
   データはこのプロジェクトのオリジナルのデータ形式
   である CMO (Common Mathematical Object Format) で
   送出してもよいし, MP や Open MATH などの形式を用いてもよい.
   SM 層は (スタックマシン)サーバを制御するための命令の
   あつまりであり, サーバは非同期的に動作させることが可能である.
   柔軟性が高いので, IMC などのリモートプロシージャコール系の
   プロトコルもエミュレートできる.
   */
   /*&eg
   In OpenXM, communication is an exchange of messages.
   The messages are classified
   into three types: DATA, COMMAND, and SPECIAL.  They are called OX
   (OpenXM) messages.  Among the three types, {\it OX data messages} wrap
   mathematical data.  We use standards of mathematical data formats such
   as OpenMath and MP as well as our own data format {\it CMO} ({\it
   Common Mathematical Object format}).  Servers, which provide services
   to other processes, are stack machines.  The stack machine is called
   the {\it OX stack machine}.  Existing mathematical softwares are
   wrapped with this stack machine.  OX stack machines work in the
   asynchronous mode which is similar to X servers. That is, OpenXM
   server won't send messages to the client unless it is requested
   to send them. It is also possible to emulate RPC and a web server for MCP
   \cite{iamc} on our asynchronous OX stack machines.
   */
   /*&jp
   OpenXM に準拠したシステム xxx を, open xxx とよぶ.
   たとえば, OpenXM 対応の asir は open asir であり,
   OpenXM 対応の kan/sm1 は open sm1 である.
   */
   /*&eg
   A system xxx conforming to OpenXM is called open xxx.
   For example Asir conforming to OpenXM is called open Asir, and
   kan/sm1 conforming to OpenXM is called open sm1.
   */
   
 Open XM は, データ型をきめている部分と,  /*&jp
   OpenXM は, データ型をきめている部分と,
 共通スタック言語を定めている部分にわかれる.  共通スタック言語を定めている部分にわかれる.
 よいたとえかどうか自信がないが,  よいたとえかどうか自信がないが,
 Open XM を定義する作業は, unicode を定める作業に似ている部分もある.  OpenXM を定義する作業は, unicode を定める作業に似ている部分もある.
 たとえば, 漢字は東アジアで共通に使用されているが, 国や地方単位で  たとえば, 漢字は東アジアで共通に使用されているが, 国や地方単位で
 形がすこしづつ違うものがある.  形がすこしづつ違うものがある.
 unicode では, 似た漢字を同じ code におしこんだ.  unicode では, 似た漢字を同じ code におしこんだ.
 Open XM でも, システム毎にことなるが似ているデータ型を  OpenXM でも, システム毎にことなるが似ているデータ型を
 同じ型としてあつかう.  同じ型としてあつかう.
 たとえば, ``分散多項式'' の意味は, asir と kan/sm1 で異なるが,  たとえば, ``分散多項式'' の意味は, asir と kan/sm1 で異なるが,
 Open XM では, 同じ型としてあつかわれる.  OpenXM では, 同じ型としてあつかわれる.
 ただしこれでは不十分な場合があるので,システム固有のデータ型も扱える  ただしこれでは不十分な場合があるので,システム固有のデータ型も扱える
 ような仕組みも用意している.  ような仕組みも用意している.
 (さっきのたとえでは, こちらは, unicode でなく, ISO の文字符号系に対応するか.)  (さっきのたとえでは, こちらは, unicode でなく, ISO の文字符号系に対応するか.)
Line 76  Open XM では, 同じ型としてあつかわれる.
Line 161  Open XM では, 同じ型としてあつかわれる.
 いちじるしく簡単になる.  いちじるしく簡単になる.
 システム毎に固有の関数を共通の関数名にするプロジェクトも  システム毎に固有の関数を共通の関数名にするプロジェクトも
 考えているが, 共通の関数名は OpenMath のものを利用する予定である.  考えているが, 共通の関数名は OpenMath のものを利用する予定である.
   */
 Open XM は論理的には  /*&eg
 OX 層, SM 層, CMO 層にわかれる.  % not translated yet.
 OX Object は, データ, コマンドに大別できる.  
 データはこのプロジェクトのオリジナルのデータ形式  
 である CMO (Common Mathematical Object Format) で  
 送出してもよいし, MP や Open MATH などの形式を用いてもよい.  
 SM 層は (スタックマシン)サーバを制御するための命令の  
 あつまりであり, サーバは非同期的に動作させることが可能である.  
 柔軟性が高いので, IMC などのリモートプロシージャコール系の  
 プロトコルもエミュレートできる.  
 */  */
   
   

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.2

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