version 1.4, 2002/01/20 09:26:22 |
version 1.5, 2020/03/14 01:21:56 |
|
|
%% $OpenXM: OpenXM/doc/OpenXM-specs/introduction.tex,v 1.3 2000/09/09 21:59:13 takayama Exp $ |
%% $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} |
//&eg \section{Introduction} |
|
|
/*&jp |
/*&jp |
OpenXM , ʤפޤϰۤʤ륿פοإץ֤ |
OpenXM は, おなじタイプまたは異なるタイプの数学プロセス間の |
åΤȤεǤ. |
メッセージのやりとりの規約である. |
ȯư, (ޤϸŪ)إեȤ߾μ¸ |
開発の動機は, 手作り(または研究的な)数学ソフトの相互乗り入れの実現 |
ʬμ |
および分散計算の実装が |
Ǥä, إեȴ֤Ǥʤ, ץեȤ, |
第一であったが, もちろん数学ソフト間だけでなく, ワープロソフトや, |
饯ƥ֤ʿ, |
インタラクティブな数学本, |
ˤϿإǥʪѤΥեȤε˽, |
さらには数学デジタル博物館用のソフトがこの規約に従い, |
إեȤƤӽФȤʤɤˤѤǤ. |
数学ソフトを呼び出すことなどにも利用できる. |
̤ɸ OpenXM إեȥѥå뤳ȤǤ. |
当面の目標は OpenXM 数学ソフトパッケージを作ることである. |
ϤޤޤʿإեȤĤΥѥåȤ |
これはさまざまな数学ソフトを一つのパッケージとして |
ñ˹ʸȤ褦ˤץȤǤ. |
簡単に好きな言語より使えるようにするプロジェクトである. |
OpenXM.tar.gz ˤ, |
現在 OpenXM.tar.gz には, |
asir, sm1, phc, gnuplot, tigers äƤ. |
asir, sm1, phc, gnuplot, tigers が入っている. |
OpenXM إեȥѥåץȤ |
OpenXM 数学ソフトパッケージプロジェクトに |
äǤ褦 CMO |
参加できるように CMO の |
ĥƤεΤȤ. |
規約を拡張していくための規約も定めるものとする. |
*/ |
*/ |
/*&eg |
/*&eg |
OpenXM is a free, or Open Source, infrastructure for mathematical |
OpenXM is a free, or Open Source, infrastructure for mathematical |
Line 35 It is currently a collection of software systems |
|
Line 35 It is currently a collection of software systems |
|
*/ |
*/ |
|
|
/*&jp |
/*&jp |
ŪʿإեȤ¿ȯ |
現在専門的な数学ソフトが多数開発 |
Ƥ뤬, οإեȤ¾ΥեȤꥵ֥롼Ȥ |
されているが, 次世代の数学ソフトは他のソフトよりサブルーチンとして |
ƤӽФ뵡ǽĤ٤Ǥ. |
呼び出せる機能をもつべきである. |
Τ褦˶Ĵǽˤ줿ץ߷פ |
このように協調機能にすぐれたプログラムを書くための設計の |
ɥ饤, ץˡΤ褦ʤΤƤΤ, |
ガイドライン, プログラム作法のようなものを提案するのも, |
ΥץȤŪǤ. |
このプロジェクトの目的である. |
Τ褦ʥɥ饤ˤäƥץह뤳Ȥˤ, |
このようなガイドラインにそってプログラムすることにより, |
إ르ꥺ༫Τ˽ǤĶ¸Ǥ뤳Ȥ |
数学アルゴリズム自体に集中できる環境が実現できることを |
ԤƤ. |
期待している. |
|
|
߷פˤȤ, (1) ñ (2) ĥ (3) δؤ (4) (5) |
設計の方針として, (1) 単純 (2) 拡張性 (3) 実装の簡便さ (4) 実用性(5) |
(robustness),˽ŤƤ. |
高信頼性(robustness),に重きをおいている. |
|
|
OpenXM Ϥʤˤͤ˴ñ³Ǥ륷ƥ,Ȥޤ |
OpenXM はなにも考えずに簡単に接続できるシステムを作ろう,というまで野心 |
ŪǤϤʤ. Ū object ϰǤϤʤ, 쵬ʤ |
的ではない. 数学的な object は一筋縄ではいかないし, 完全な統一規格を |
ĤȤΤϵʤŻǤ. Τ, ꤹ |
つくるというのは気が遠くなる仕事である. そのかわり, 今よりすこしだけこ |
äǡʬƥۤλŻڤˤȤΤ |
ういったデータ交換や分散システム構築の仕事を楽にしたいというのがささや |
1ɸǤ. ޤ, Mathematica Maple Ȥä祽 |
かな第1目標である. また, Mathematica や Maple といった巨大な統合ソフ |
Ȥ, Free Mathematical Software ȤƤ켫ȤμǤĤäƤ |
トを, Free Mathematical Software としてわれわれ自身の手でつくっていく |
δäǤ⤢. |
ための基礎でもある. |
*/ |
*/ |
|
|
/*&eg |
/*&eg |
Line 86 We want to see how far we can go with this approach. |
|
Line 86 We want to see how far we can go with this approach. |
|
*/ |
*/ |
|
|
/*&jp |
/*&jp |
Ū Object ɤΤ褦ɽΤ, ɤΤͤ뤳Ȥ |
数学的な Object をどのように表現するのか, どう伝えるのかを考えることは |
褷ƤĤޤʤǤϤʤ. |
決してつまらない問題ではない. |
Τ褦, ص¤ȻƤ뤫⤷ʤ. |
このような問題は, 新しい数学記号を創造する問題と似ているかもしれない. |
桹, $0$ ޤ10ʿɽ, |
我々は, 数字を $0$ を含んだ10進数で表記し, |
ʬ $dx$ Ƚ, $ \longrightarrow $ Ǥ魯. |
微分を $dx$ と書き, 写像を $ \longrightarrow $ であらわす. |
εˡɤ¿פƤ뤫, פϤߤ. |
これらの記号法からどれだけ多くの利益を得ているか, 思いをはせて欲しい. |
*/ |
*/ |
/*&eg |
/*&eg |
It is not an obvious problem to consider how mathematical objects |
It is not an obvious problem to consider how mathematical objects |
Line 102 to represent a differential, and $ \longrightarrow $ t |
|
Line 102 to represent a differential, and $ \longrightarrow $ t |
|
a mapping. One should imagine how we are benefited from these notations. |
a mapping. One should imagine how we are benefited from these notations. |
*/ |
*/ |
|
|
%% ѿ̾ɤ뤫ǺΤˤƤ. |
%% 変数名をどうするか悩むのにも似てる. |
|
|
/*&jp |
/*&jp |
OpenXM Ūˤ |
OpenXM は論理的には |
OX , SM , CMO ؤˤ狼. |
OX 層, SM 層, CMO 層にわかれる. |
OX Object , ǡ, ޥɤ̤Ǥ. |
OX Object は, データ, コマンドに大別できる. |
ǡϤΥץȤΥꥸʥΥǡ |
データはこのプロジェクトのオリジナルのデータ形式 |
Ǥ CMO (Common Mathematical Object Format) |
である CMO (Common Mathematical Object Format) で |
ФƤ褤, MP Open MATH ʤɤηѤƤ褤. |
送出してもよいし, MP や Open MATH などの形式を用いてもよい. |
SM ؤ (åޥ)Ф椹뤿̿ |
SM 層は (スタックマシン)サーバを制御するための命令の |
ĤޤǤ, ФƱŪư뤳ȤǽǤ. |
あつまりであり, サーバは非同期的に動作させることが可能である. |
⤤Τ, IMC ʤɤΥ⡼ȥץ㥳Ϥ |
柔軟性が高いので, IMC などのリモートプロシージャコール系の |
ץȥ⥨ߥ졼ȤǤ. |
プロトコルもエミュレートできる. |
OX å DTD ѤǽǤ, XML Ѥ |
OX メッセージは DTD を用いて定義可能であり, XML を用いて |
ҤǤ. |
記述できる. |
*/ |
*/ |
/*&eg |
/*&eg |
In OpenXM, communication is an exchange of messages. |
In OpenXM, communication is an exchange of messages. |
Line 145 OX messages can be defined by DTD and can be expressed |
|
Line 145 OX messages can be defined by DTD and can be expressed |
|
We call it OpenXM/XML. |
We call it OpenXM/XML. |
*/ |
*/ |
/*&jp |
/*&jp |
OpenXM ˽ƥ xxx , open xxx Ȥ. |
OpenXM に準拠したシステム xxx を, open xxx とよぶ. |
Ȥ, OpenXM б asir open asir Ǥ, |
たとえば, OpenXM 対応の asir は open asir であり, |
OpenXM б kan/sm1 open sm1 Ǥ. |
OpenXM 対応の kan/sm1 は open sm1 である. |
*/ |
*/ |
/*&eg |
/*&eg |
A system xxx complient to the OpenXM protocol is called open xxx. |
A system xxx complient to the OpenXM protocol is called open xxx. |
Line 156 kan/sm1 complient to the OpenXM protocol is called ope |
|
Line 156 kan/sm1 complient to the OpenXM protocol is called ope |
|
*/ |
*/ |
|
|
/*&jp |
/*&jp |
OpenXM , ǡƤʬ, |
OpenXM は, データ型をきめている部分と, |
̥åƤʬˤ狼. |
共通スタック言語を定めている部分にわかれる. |
褤Ȥɤʤ, |
よいたとえかどうか自信がないが, |
OpenXM Ȥ, unicode Ȥ˻Ƥʬ⤢. |
OpenXM を定義する作業は, unicode を定める作業に似ている部分もある. |
Ȥ, 쥢Ƕ̤˻ѤƤ뤬, ñ̤ |
たとえば, 漢字は東アジアで共通に使用されているが, 国や地方単位で |
Ťİ㤦Τ. |
形がすこしづつ違うものがある. |
unicode Ǥ, Ʊ code ˤ. |
unicode では, 似た漢字を同じ code におしこんだ. |
OpenXM Ǥ, ƥˤȤʤ뤬Ƥǡ |
OpenXM でも, システム毎にことなるが似ているデータ型を |
ƱȤƤĤ. |
同じ型としてあつかう. |
Ȥ, ``ʬ¿༰'' ΰ̣, asir kan/sm1 ǰۤʤ뤬, |
たとえば, ``分散多項式'' の意味は, asir と kan/sm1 で異なるが, |
OpenXM Ǥ, ƱȤƤĤ. |
OpenXM では, 同じ型としてあつかわれる. |
ǤԽʬʾ礬Τ,ƥͭΥǡⰷ |
ただしこれでは不十分な場合があるので,システム固有のデータ型も扱える |
褦ʻȤߤѰդƤ. |
ような仕組みも用意している. |
(äΤȤǤ, , unicode Ǥʤ, ISO ʸϤб뤫.) |
(さっきのたとえでは, こちらは, unicode でなく, ISO の文字符号系に対応するか.) |
̥å, ζ̥ޥɤΤ |
共通スタック言語は, ごく小数の共通コマンドをのぞき |
Ū˥ƥ˸ͭδؿˤ¹Ԥ. |
基本的にシステム毎に固有の関数により実行される. |
ˤ, open xxx ΥФμӥޥ˥奢εҤ |
これにより, open xxx のサーバの実装およびマニュアルの記述は |
뤷ñˤʤ. |
いちじるしく簡単になる. |
ƥ˸ͭδؿ̤δؿ̾ˤץȤ |
システム毎に固有の関数を共通の関数名にするプロジェクトも |
ͤƤ뤬, ̤δؿ̾ OpenMath ΤΤѤͽǤ. |
考えているが, 共通の関数名は OpenMath のものを利用する予定である. |
*/ |
*/ |
/*&eg |
/*&eg |
% not translated yet. |
% not translated yet. |