next up previous
Next: OXexpression の 標準 encoding Up: OpenXM の通信モデル Previous: OpenXM の通信モデル

OX Message の 表現方法

OpenXM で各プロセスは

(OXexpression を理解するスタックマシン) + (xxx 言語で動くエンジン)
なるハイブリッド構成である. このプロセスを, OX スタックマシンと呼ぶ. ここでは, OX スタックマシンとやりとりするメッセージである, OX Message を表現するための OXexpression, および, スタックマシンの operator に対応する, SMobject を表現するための SMexpression を定義しよう. OX Message を スタックマシンコマンド, SMobject を スタックマシンオペレータともよぶ.


\begin{eqnarray*}\mbox{OXexpression}
&:& \quad
\mbox{\tt (} \mbox{\tt OX\_tag} ...
...\mbox{\tt SM\_tag} \
\{ \mbox{CMOexpression} \} \mbox{\tt )}\\
\end{eqnarray*}


expression の各要素を区切るために , (コンマ) を用いてもよい. OX_tagOX_ で始まる定数である. SM_tagSM_ で始まるスタックマシンオペレータを識別する定数である. 発信元 AAA, 受信先 BBB を書く必要があるときは, From AAA, To BBB, を OXexpression の前に書く. 必要なければ省略する.

たとえば, あとで説明する, CMO string ``Hello'' を スタックにプッシュする 表現は次のように書く:

(OX_DATA, (CMO_STRING, 5, "Hello"))

(OX_DATA, (CMO_STRING, 5, "hoge"))
(OX_COMMAND, SM_executeStringByLocalParser)

In our standard encoding method, each tag is expressed as a 32 bit (4 byte) integer with the network byte order.



Nobuki Takayama 平成12年4月13日