version 1.92, 1999/12/25 17:05:28 |
version 1.93, 1999/12/25 17:56:56 |
|
|
\documentclass{jarticle} |
\documentclass{jarticle} |
|
|
%% $OpenXM: OpenXM/doc/genkou19991125.tex,v 1.91 1999/12/25 15:57:31 tam Exp $ |
%% $OpenXM: OpenXM/doc/genkou19991125.tex,v 1.92 1999/12/25 17:05:28 tam Exp $ |
|
|
\usepackage{jssac} |
\usepackage{jssac} |
\title{OpenXM の現状について |
|
1. 意味もない修飾過剰な語句は排除しましょう. \\ |
|
2. せっかく fill しているのをいじらないでくれ. \\ |
|
3. 田村が遊んでばかりでおればかり仕事をしているのはどう考えても不公平だ. |
|
なんで仕事をしないのか, いい加減仕事をしろ, 田村. \\ |
|
3.5 そういうご飯とかつまらない話じゃなくて, commit の情報をみれば田村が |
|
如何に仕事をしていないのかよくわかるよ. \\ |
|
} |
|
|
|
|
\title{OpenXM の現状について} |
\author{奥 谷 行 央\affil{神戸大学大学院自然科学研究科} |
\author{奥 谷 行 央\affil{神戸大学大学院自然科学研究科} |
\mail{okutani@math.sci.kobe-u.ac.jp} |
\mail{okutani@math.sci.kobe-u.ac.jp} |
\and 小 原 功 任\affil{金沢大学理学部} |
\and 小 原 功 任\affil{金沢大学理学部} |
Line 353 cmo\_mathcap := (CMO\_MATHCAP, {\sl cmo\_list}) |
|
Line 346 cmo\_mathcap := (CMO\_MATHCAP, {\sl cmo\_list}) |
|
\end{quote} |
\end{quote} |
|
|
第一要素 $a$ はまた cmo\_list であり, リスト長は 4 以上, $a_1$ は |
第一要素 $a$ はまた cmo\_list であり, リスト長は 4 以上, $a_1$ は |
cmo\_int32 でバージョンを表す, $a_2$, $a_3$, $a_4$ は cmo\_string であり, |
cmo\_int32 でバージョンを表す. $a_2$, $a_3$, $a_4$ は cmo\_string であり, |
それぞれシステムの名前, バージョン, HOSTTYPE を表すことになっている. |
それぞれシステムの名前, バージョン, HOSTTYPE を表すことになっている. |
\begin{quote} |
\begin{quote} |
(CMO\_LIST, {\sl int32}, |
(CMO\_LIST, {\sl int32}, |
Line 372 $a_3$, {\sl cmo\_string} $a_4$, $\ldots$) |
|
Line 365 $a_3$, {\sl cmo\_string} $a_4$, $\ldots$) |
|
$\ldots$, {\sl cmo\_int32} $b_n$) |
$\ldots$, {\sl cmo\_int32} $b_n$) |
\end{quote} |
\end{quote} |
|
|
第三要素 $c$ は以下のようなリスト構造をしている. |
第三要素 $c$ は以下のようなリスト構造をしていなければならない. |
\begin{quote} |
\begin{quote} |
(CMO\_LIST, {\sl int32} $m$, \\ |
(CMO\_LIST, {\sl int32} $m$, |
\hspace{10mm} (CMO\_LIST, {\sl int32} $l_1$, {\sl cmo\_int32} $c_{11}$, |
{\sl cmo\_list} $list_1$, {\sl cmo\_list} $list_2$, |
{\sl cmo} $c_{12}$, $\ldots$, {\sl cmo} $c_{1l_1}$), \\ |
$\ldots$, {\sl cmo\_list} $list_m$) |
\hspace{10mm} (CMO\_LIST, {\sl int32} $l_2$, {\sl cmo\_int32} $c_{21}$, |
|
{\sl cmo} $c_{22}$, $\ldots$, {\sl cmo} $c_{1l_2}$), \\ |
|
\hspace{10mm} $\ldots$ \\ |
|
\hspace{10mm} (CMO\_LIST, {\sl int32} $l_m$, {\sl cmo\_int32} $c_{m1}$, |
|
{\sl cmo} $c_{m2}$, $\ldots$, {\sl cmo} $c_{1l_m}$)) |
|
\end{quote} |
\end{quote} |
{\Large 以下、全然説明が分かりません。} |
|
どの $c_{i1}$ にも cmo\_int32 が入っており, |
どの $list_i$ も 1 つ以上の要素を持っており, |
OX\_COMMAND 以外の, 受け取れるメッセージの識別子が入っている. |
1 番目の要素は必ず cmo\_int32 となっていなければならない. |
$c_{i2}$ 以降については最初の $c_{i1}$ の値によってそれぞれ異なる. |
これは受け取れるオブジェクトのメッセージの識別子を |
|
入れるためである. |
ここでは, OX\_DATA の場合についてのみ説明する. |
ここでは, OX\_DATA の場合についてのみ説明する. |
この $c_{i1}$ が OX\_DATA の場合, |
|
$c_{i1}$, $c_{i2}$, $\ldots$, $c_{il_i}$ を要素とする cmo\_list は |
1 番目の要素が OX\_DATA の場合, |
CMO 形式についての情報を表しており, $l_i=2$ と決められている. |
リスト $list_i$ は以下のような構造となっている. |
$c_{i1}$ にはもちろんのこと OX\_DATA が入っており, |
各 $c_{ij}$ は cmo\_int32 であり, |
$c_{i2}$ は以下の図のような cmo\_list になっている. |
受け取ることが可能な CMO 形式のタグとなる. |
各要素は cmo\_int32 であり, |
|
受け取ることが可能な CMO 形式のタグが入る. |
|
\begin{quote} |
\begin{quote} |
(CMO\_LIST, {\sl int32} $k$, |
(CMO\_LIST, 2, (CMO\_INT32, OX\_DATA), \\ |
{\sl cmo\_int32} $c_{i21}$, {\sl cmo\_int32} $c_{i22}$, |
\ \ (CMO\_LIST, {\sl int32} $k$, |
$\ldots$, {\sl cmo\_int32} $c_{i2k}$) |
{\sl cmo\_int32} $c_{i1}$, {\sl cmo\_int32} $c_{i2}$, |
|
$\ldots$, {\sl cmo\_int32} $c_{ik}$)) |
\end{quote} |
\end{quote} |
|
|
具体的な mathcap の例をあげよう. 名前が ``ox\_test'', バージョンナンバー |
具体的な mathcap の例をあげよう. 名前が ``ox\_test'', バージョンナンバー |
が 199911250 のサーバで, PC-UNIX 上で動いており, |
が 199911250 のサーバで, PC-UNIX 上で動いており, |
さらに, このサーバのスタックマシンが命令 SM\_popCMO, SM\_popString, |
このサーバのスタックマシンが命令 SM\_popCMO, SM\_popString, |
SM\_mathcap, SM\_executeStringByLocalParser を利用可能, |
SM\_mathcap, SM\_executeStringByLocalParser を利用可能, |
かつ, cmo\_int32, cmo\_string, cmo\_mathcap, cmo\_list のみに制限したい |
かつ cmo\_int32, cmo\_string, cmo\_mathcap, cmo\_list のみに制限したい |
ときの mathcap は |
ときの mathcap は |
\begin{quote} |
\begin{quote} |
(CMO\_LIST, 3, \\ |
(CMO\_LIST, 3, \\ |
Line 490 http://horse.mcs.kent.edu/\~{}pwang/ |
|
Line 478 http://horse.mcs.kent.edu/\~{}pwang/ |
|
数学的な計算を行なうための HTTP スタイルのプロトコル. |
数学的な計算を行なうための HTTP スタイルのプロトコル. |
クライアント・サーバモデルを採用しており, |
クライアント・サーバモデルを採用しており, |
ピアツーピアのストリームコネクションを行なう. |
ピアツーピアのストリームコネクションを行なう. |
RPC よりも, telnet でサーバにログインして計算を行なう感覚に近い. |
|
数学的なオブジェクトを MP や MathML で定められた方法で |
数学的なオブジェクトを MP や MathML で定められた方法で |
表現することが考えられている. |
表現することが考えられている. |
すでに OpenMath を用いた実装が存在する. |
すでに OpenMath を用いた実装が存在する. |