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

Annotation of OpenXM/doc/OpenXM-specs/introduction.tex, Revision 1.1

1.1     ! noro        1: %% $OpenXM$
        !             2: //&jp \section{はじめに}
        !             3: //&eg \section{Introduction} (This part has not been translated)
        !             4:
        !             5: /*&jp
        !             6: Open XM は, おなじタイプまたは異なるタイプの数学プロセス間の
        !             7: メッセージのやりとりの規約である.
        !             8: 開発の動機は, 手作り(または研究的な)数学ソフトの相互乗り入れの実現
        !             9: および分散計算の実装が
        !            10: 第一であったが, もちろん数学ソフト間だけでなく, ワープロソフトや,
        !            11: インタラクティブな数学本,
        !            12: さらには数学デジタル博物館用のソフトがこの規約に従い,
        !            13: 数学ソフトを呼び出すことなどにも利用できる.
        !            14: 当面の目標は openXM 数学ソフトパッケージを作ることである.
        !            15: これはさまざまな数学ソフトを一つのパッケージとして
        !            16: 簡単に好きな言語より使えるようにするプロジェクトである.
        !            17: 現在 openXM.tar.gz には,
        !            18: asir, sm1, phc, gnuplot, tigers が入っている.
        !            19: OpenXM 数学ソフトパッケージプロジェクトに
        !            20: 参加できるように CMO の
        !            21: 規約を拡張していくための規約も定めるものとする.
        !            22:
        !            23: 現在専門的な数学ソフトが多数開発
        !            24: されているが, 次世代の数学ソフトは他のソフトよりサブルーチンとして
        !            25: 呼び出せる機能をもつべきである.
        !            26: このように協調機能にすぐれたプログラムを書くための設計の
        !            27: ガイドライン, プログラム作法のようなものを提案するのも,
        !            28: このプロジェクトの目的である.
        !            29: このようなガイドラインにそってプログラムすることにより,
        !            30: 数学アルゴリズム自体に集中できる環境が実現できることを
        !            31: 期待している.
        !            32:
        !            33: 設計の方針として, (1) 単純 (2) 拡張性 (3) 実装の簡便さ (4) 実用性
        !            34: (5) 高信頼性(robustness),
        !            35: に重きをおいている.
        !            36: Open XM はなにも考えずに簡単に接続できるシステムを作ろう,
        !            37: というまで野心的ではない.
        !            38: 数学的な object は一筋縄ではいかないし, 完全な統一規格をつくるというのは
        !            39: 気が遠くなる仕事である.
        !            40: そのかわり, 今よりすこしだけこういったデータ交換や分散システム構築の仕事を楽に
        !            41: したいというのがささやかな第1目標である.
        !            42:
        !            43: 数学的な Object をどのように表現するのか, どう伝えるのかを考えることは
        !            44: 決してつまらない問題ではない.
        !            45: このような問題は, 新しい数学記号を創造する問題と似ているかもしれない.
        !            46: 我々は, 数字を $0$ を含んだ10進数で表記し,
        !            47: 微分を $dx$ と書き, 写像を $ \longrightarrow $ であらわす.
        !            48: これらの記号法からどれだけ多くの利益を得ているか, 思いをはせて欲しい.
        !            49: また, Mathematica や Maple といった巨大な統合ソフトを,
        !            50: Free Mathematical Softwares としてわれわれ自身の
        !            51: 手でつくっていくための基礎でもある.
        !            52:
        !            53: %% 変数名をどうするか悩むのにも似てる.
        !            54:
        !            55: Open XM に準拠したシステム xxx を, open xxx とよぶ.
        !            56: たとえば, open XM 対応の asir は open asir であり,
        !            57: open XM 対応の kan/sm1 は open sm1 である.
        !            58:
        !            59: Open XM は, データ型をきめている部分と,
        !            60: 共通スタック言語を定めている部分にわかれる.
        !            61: よいたとえかどうか自信がないが,
        !            62: Open XM を定義する作業は, unicode を定める作業に似ている部分もある.
        !            63: たとえば, 漢字は東アジアで共通に使用されているが, 国や地方単位で
        !            64: 形がすこしづつ違うものがある.
        !            65: unicode では, 似た漢字を同じ code におしこんだ.
        !            66: Open XM でも, システム毎にことなるが似ているデータ型を
        !            67: 同じ型としてあつかう.
        !            68: たとえば, ``分散多項式'' の意味は, asir と kan/sm1 で異なるが,
        !            69: Open XM では, 同じ型としてあつかわれる.
        !            70: ただしこれでは不十分な場合があるので,システム固有のデータ型も扱える
        !            71: ような仕組みも用意している.
        !            72: (さっきのたとえでは, こちらは, unicode でなく, ISO の文字符号系に対応するか.)
        !            73: 共通スタック言語は, ごく小数の共通コマンドをのぞき
        !            74: 基本的にシステム毎に固有の関数により実行される.
        !            75: これにより, open xxx のサーバの実装およびマニュアルの記述は
        !            76: いちじるしく簡単になる.
        !            77: システム毎に固有の関数を共通の関数名にするプロジェクトも
        !            78: 考えているが, 共通の関数名は OpenMath のものを利用する予定である.
        !            79:
        !            80: Open XM は論理的には
        !            81: OX 層, SM 層, CMO 層にわかれる.
        !            82: OX Object は, データ, コマンドに大別できる.
        !            83: データはこのプロジェクトのオリジナルのデータ形式
        !            84: である CMO (Common Mathematical Object Format) で
        !            85: 送出してもよいし, MP や Open MATH などの形式を用いてもよい.
        !            86: SM 層は (スタックマシン)サーバを制御するための命令の
        !            87: あつまりであり, サーバは非同期的に動作させることが可能である.
        !            88: 柔軟性が高いので, IMC などのリモートプロシージャコール系の
        !            89: プロトコルもエミュレートできる.
        !            90: */
        !            91:
        !            92:
        !            93:

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