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

version 1.1, 2000/01/20 08:52:46 version 1.5, 2020/03/14 01:21:56
Line 1 
Line 1 
 %% $OpenXM$  %% $OpenXM: OpenXM/doc/OpenXM-specs/introduction.tex,v 1.4 2002/01/20 09:26:22 takayama Exp $
 //&jp \section{Ϥ}  //&jp \section{はじめに}
 //&eg \section{Introduction} (This part has not been translated)  //&eg \section{Introduction}
   
 /*&jp  /*&jp
 Open XM , ʤפޤϰۤʤ륿פοإץ֤  OpenXM は, おなじタイプまたは異なるタイプの数学プロセス間の
 åΤȤεǤ.  メッセージのやりとりの規約である.
 ȯư, (ޤϸŪ)إեȤ߾μ¸  開発の動機は, 手作り(または研究的な)数学ソフトの相互乗り入れの実現
 ʬ׻μ  および分散計算の実装が
 Ǥä, إեȴ֤Ǥʤ, ץեȤ,  第一であったが, もちろん数学ソフト間だけでなく, ワープロソフトや,
 󥿥饯ƥ֤ʿ,  インタラクティブな数学本,
 ˤϿإǥʪѤΥեȤε˽,  さらには数学デジタル博物館用のソフトがこの規約に従い,
 إեȤƤӽФȤʤɤˤѤǤ.  数学ソフトを呼び出すことなどにも利用できる.
 ̤ɸ 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
   software systems.
   It provides methods and protocols
   for interactive distributed computation and
   for integrating mathematical software systems.
   OpenXM package is a set of software systems that support OpenXM protocols.
   It is currently a collection of software systems
   {\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
 Ƥ뤬, οإեȤ¾ΥեȤꥵ֥롼Ȥ  現在専門的な数学ソフトが多数開発
 ƤӽФ뵡ǽĤ٤Ǥ.  されているが, 次世代の数学ソフトは他のソフトよりサブルーチンとして
 Τ褦˶Ĵǽˤ줿ץ񤯤߷פ  呼び出せる機能をもつべきである.
 ɥ饤, ץˡΤ褦ʤΤƤΤ,  このように協調機能にすぐれたプログラムを書くための設計の
 ΥץȤŪǤ.  ガイドライン, プログラム作法のようなものを提案するのも,
 Τ褦ʥɥ饤ˤäƥץह뤳Ȥˤ,  このプロジェクトの目的である.
 إ르ꥺ༫Τ˽ǤĶ¸Ǥ뤳Ȥ  このようなガイドラインにそってプログラムすることにより,
 ԤƤ.  数学アルゴリズム自体に集中できる環境が実現できることを
   期待している.
   
 ߷פˤȤ, (1) ñ (2) ĥ (3) δؤ (4)  設計の方針として, (1) 単純 (2) 拡張性 (3) 実装の簡便さ (4) 実用性(5)
 (5) ⿮(robustness),  高信頼性(robustness),に重きをおいている.
 ˽Ť򤪤Ƥ.  
 Open XM Ϥʤˤͤ˴ñ³Ǥ륷ƥ,  
 ȤޤŪǤϤʤ.  
 Ū object ϰǤϤʤ, 쵬ʤĤȤΤ  
 󤯤ʤŻǤ.  
 Τ, ꤹäǡ򴹤ʬƥ๽ۤλŻڤ  
 ȤΤ䤫1ɸǤ.  
   
 Ū Object ɤΤ褦ɽΤ, ɤΤͤ뤳Ȥ  OpenXM はなにも考えずに簡単に接続できるシステムを作ろう,というまで野心
 褷ƤĤޤʤǤϤʤ.  的ではない.  数学的な object は一筋縄ではいかないし, 完全な統一規格を
 Τ褦, ص¤ȻƤ뤫⤷ʤ.  つくるというのは気が遠くなる仕事である. そのかわり, 今よりすこしだけこ
 桹, $0$ ޤ10ʿɽ,  ういったデータ交換や分散システム構築の仕事を楽にしたいというのがささや
 ʬ $dx$ Ƚ, $ \longrightarrow $ Ǥ魯.  かな第1目標である.  また, Mathematica や Maple といった巨大な統合ソフ
 εˡɤ¿פƤ뤫, פϤߤ.  トを, Free Mathematical Software としてわれわれ自身の手でつくっていく
 ޤ, Mathematica Maple Ȥä祽եȤ,  ための基礎でもある.
 Free Mathematical Softwares ȤƤ켫Ȥ  */
 ǤĤäƤδäǤ⤢.  
   
 %% ѿ̾ɤ뤫ǺΤˤƤ.  /*&eg
   We have been profited from increasing number
   of mathematical software systems.
   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 systems or users who need these systems only occasionally.
   It is also wonderful for developpers to have various software components
   that can be used from the target system.
   
   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.
   
 Open XM ˽򤷤ƥ xxx , open xxx Ȥ.  We believe that an open integrated system is a future of mathematical
 Ȥ, open XM б asir open asir Ǥ,  software systems.
 open XM б kan/sm1 open sm1 Ǥ.  However, it might be  a dream without realizability.
   We want to build a prototype of such an open system by using existing
   standards, technologies and several mathematical software systems.
   We want to see how far we can go with this approach.
   */
   
 Open XM , ǡ򤭤Ƥʬ,  /*&jp
 ̥åƤʬˤ狼.  数学的な Object をどのように表現するのか, どう伝えるのかを考えることは
 褤Ȥɤʤ,  決してつまらない問題ではない.
 Open XM Ȥ, unicode Ȥ˻Ƥʬ⤢.  このような問題は, 新しい数学記号を創造する問題と似ているかもしれない.
 Ȥ, 쥢Ƕ̤˻ѤƤ뤬, ñ̤  我々は, 数字を $0$ を含んだ10進数で表記し,
 Ťİ㤦Τ.  微分を $dx$ と書き, 写像を $ \longrightarrow $ であらわす.
 unicode Ǥ, Ʊ code ˤ.  これらの記号法からどれだけ多くの利益を得ているか, 思いをはせて欲しい.
 Open XM Ǥ, ƥˤȤʤ뤬Ƥǡ  */
 ƱȤƤĤ.  /*&eg
 Ȥ, ``ʬ¿༰'' ΰ̣, asir kan/sm1 ǰۤʤ뤬,  It is not an obvious problem to consider how mathematical objects
 Open XM Ǥ, ƱȤƤĤ.  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$
 (äΤȤǤ, , unicode Ǥʤ, ISO ʸϤб뤫.)  to represent a differential, and $ \longrightarrow $ to represent
 ̥å, ζ̥ޥɤΤ  a mapping. One should imagine how we are benefited from these notations.
 Ū˥ƥ˸ͭδؿˤ¹Ԥ.  */
 ˤ, open xxx ΥФμӥޥ˥奢εҤ  
 뤷ñˤʤ.  
 ƥ˸ͭδؿ̤δؿ̾ˤץȤ  
 ͤƤ뤬, ̤δؿ̾ OpenMath ΤΤѤͽǤ.  
   
 Open XM Ūˤ  %% 変数名をどうするか悩むのにも似てる.
 OX , SM , CMO ؤˤ狼.  
 OX Object , ǡ, ޥɤ̤Ǥ.  /*&jp
 ǡϤΥץȤΥꥸʥΥǡ  OpenXM は論理的には
 Ǥ CMO (Common Mathematical Object Format)  OX 層, SM 層, CMO 層にわかれる.
 ФƤ褤, MP Open MATH ʤɤηѤƤ褤.  OX Object は, データ, コマンドに大別できる.
 SM ؤ (åޥ)Ф椹뤿̿  データはこのプロジェクトのオリジナルのデータ形式
 ĤޤǤ, ФƱŪư뤳ȤǽǤ.  である CMO (Common Mathematical Object Format) で
 ⤤Τ, IMC ʤɤΥ⡼ȥץ㥳Ϥ  送出してもよいし, MP や Open MATH などの形式を用いてもよい.
 ץȥ⥨ߥ졼ȤǤ.  SM 層は (スタックマシン)サーバを制御するための命令の
   あつまりであり, サーバは非同期的に動作させることが可能である.
   柔軟性が高いので, IMC などのリモートプロシージャコール系の
   プロトコルもエミュレートできる.
   OX メッセージは DTD を用いて定義可能であり, XML を用いて
   記述できる.
   */
   /*&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 software systems are
   wrapped with this stack machine.  OX stack machines work in the
   asynchronous mode like X servers.
   OpenXM servers try to be as quiet as possible.
   OpenXM server does not send messages to the client unless it is requested
   to send them.
   
   Our stackmachine architecutre can be used as the lowest level layer
   to implement other protocols.
   Emulating RPC or constructing a web server like MCP
   \cite{iamc} on our asynchronous OX stack machines
   are possible.
   
   Our datatype definition is compliant to XML architecture.
   OX messages can be defined by DTD and can be expressed by XML.
   We call it OpenXM/XML.
   */
   /*&jp
   OpenXM に準拠したシステム xxx を, open xxx とよぶ.
   たとえば, OpenXM 対応の asir は open asir であり,
   OpenXM 対応の kan/sm1 は open sm1 である.
   */
   /*&eg
   A system xxx complient to the OpenXM protocol is called open xxx.
   For example Asir complient to the OpenXM protocol is called open Asir, and
   kan/sm1 complient to the OpenXM protocol is called open sm1.
   */
   
   /*&jp
   OpenXM は, データ型をきめている部分と,
   共通スタック言語を定めている部分にわかれる.
   よいたとえかどうか自信がないが,
   OpenXM を定義する作業は, unicode を定める作業に似ている部分もある.
   たとえば, 漢字は東アジアで共通に使用されているが, 国や地方単位で
   形がすこしづつ違うものがある.
   unicode では, 似た漢字を同じ code におしこんだ.
   OpenXM でも, システム毎にことなるが似ているデータ型を
   同じ型としてあつかう.
   たとえば, ``分散多項式'' の意味は, asir と kan/sm1 で異なるが,
   OpenXM では, 同じ型としてあつかわれる.
   ただしこれでは不十分な場合があるので,システム固有のデータ型も扱える
   ような仕組みも用意している.
   (さっきのたとえでは, こちらは, unicode でなく, ISO の文字符号系に対応するか.)
   共通スタック言語は, ごく小数の共通コマンドをのぞき
   基本的にシステム毎に固有の関数により実行される.
   これにより, open xxx のサーバの実装およびマニュアルの記述は
   いちじるしく簡単になる.
   システム毎に固有の関数を共通の関数名にするプロジェクトも
   考えているが, 共通の関数名は OpenMath のものを利用する予定である.
   */
   /*&eg
   % not translated yet.
 */  */
   
   

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

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