=================================================================== RCS file: /home/cvs/OpenXM/doc/Attic/genkou19991125.tex,v retrieving revision 1.116 retrieving revision 1.119 diff -u -p -r1.116 -r1.119 --- OpenXM/doc/Attic/genkou19991125.tex 1999/12/29 09:21:34 1.116 +++ OpenXM/doc/Attic/genkou19991125.tex 2000/01/05 14:12:05 1.119 @@ -1,6 +1,6 @@ \documentclass{jarticle} -%% $OpenXM: OpenXM/doc/genkou19991125.tex,v 1.115 1999/12/28 18:47:12 tam Exp $ +%% $OpenXM: OpenXM/doc/genkou19991125.tex,v 1.118 2000/01/04 11:43:37 tam Exp $ \usepackage{jssac} @@ -444,12 +444,13 @@ http://www.openmath.org/omsoc/ 定義された表現は, 異なる種類の数式処理システムの間で情報を交換するときに 利用することができる. しかしながら, 数学システム同士の通信, 例えばある 数学システムから別の数学システムを呼び出して計算させる方法などは, このプ -ロジェクトの対象外である. +ロジェクトの対象外である. OpenXM における共通データ形式と数学システム固 +有のオブジェクトとの変換は OpenMath 規約の Phrasebook と同じアイデアを用 +いている. -OpenXM 規約の CMO 形式の定義は OpenMath 規約の content dictionary の概念 -に似ている(もちろん OpenMath の方がもっと大掛かりで厳密な規定である). -また, 共通データ形式と数学システム固有のオブジェクトとの変換は OpenMath -規約の Phrasebook と同じアイデアを用いている. +% ここは書かなくてもいいように思えてきたので削除しました。 +%OpenXM 規約の CMO 形式の定義は OpenMath 規約の content dictionary の概念 +%に似ている(もちろん OpenMath の方がもっと大掛かりで厳密な規定である). \item NetSolve @@ -471,32 +472,43 @@ http://symbolicnet.mcs.kent.edu/SN/areas/protocols/mp. 数学的なデータの共通表現を提供するプロジェクト. MP の主な関心は, この 共通表現の最適化である. 数学システム間で, 命令を送信したりデータを受 け渡す仕組み(control integration)は, このプロジェクトの対象外である. -MP は既存の contorl integration に対して補完的役割を果たす. +MP は既存の control integration に対して補完的役割を果たす. MP では数式を構文木の一種(annotated syntax tree)と捉える. annotated syntax tree には数学的な意味を保ったまま表現されているという特徴がある -(この点は OpenMath と似ている). MP が提供する共通表現とは, この構文木 -のバイナリエンコーディング, つまりバイト列での表現のことである. この -MP の定義する表現はバイト列の長さが最適化されている. また, バイトオー -ダーの選択も可能である(\ref{sec:messages} 節参照のこと). +(この点は OpenMath と似ている). MP が提供する共通表現とは, この構文木の +バイナリエンコーディング, つまりバイト列での表現のことである. MP の定義 +する表現ではバイト列の長さが最適化されている. また, バイトオーダーの選 +択も可能である(\ref{sec:messages} 節参照のこと). このプロジェクトでは C 言語および GNU Common Lisp で実装を行なっている. -C 言語による実装(MP-C ライブラリ)は上記のウェブページから収得可能であ -る. このライブラリを用いて通信を行なうには, なんらかの control -integration が必要である. control integration としては, ソケット, -MPI, PVM などが利用できる. +C 言語による実装(MP-C ライブラリ)は上記のウェブページから収得可能である. +このライブラリを用いて通信を行なうには, なんらかの control integration +が必要である. control integration としては, ソケット, MPI, PVM などが利 +用できる. + \item MCP (Mathematical Computation Protocol) http://horse.mcs.kent.edu/\~{}pwang/ -数学的な計算を行なうための HTTP に似たプロトコル. クライアント・サー -バモデルを採用している. 交換に用いられる数学データの表現方法について -の規定はない. したがって数学的なデータの表現には MP や OpenMath で定め -られたものを利用することができる. 実際, 数学データの表現に OpenMath -の XML 表現を用いた実装があり, GAP と Axiom の間で通信が行われている. -この場合 MCP によって送信されるデータは, 本文に OpenMath 形式で数式を -記述したテキストである. +HTTP に似せた数学的な計算を行なうためのプロトコル. +MCP は主に control integration を規定しており, +クライアント・サーバ型の通信を行なう. +MCP のメッセージはヘッダとボディから構成されている. +ヘッダはテキストであり, 最初に現れる空行でヘッダとボディは +区切られている. +ボディの形式は固定ではなく, +ヘッダを見ればボディの形式が分かるようになっている. + +数式はボディに記述されて送られるが, +このプロトコルでは数学的オブジェクトの表現方法についての規定はなく, +そのため, オブジェクトの表現には MP や OpenMath で定められたものを +使用することが考えられている. +実際, 数式の表現に OpenMath 規約の XML 表現を用いた実装があり, +GAP と Axiom の間で通信が行なわれている. +この場合, MCP によって送信されるメッセージは +ボディに OpenMath 形式で数式を記述したテキストである. \end{itemize}