=================================================================== RCS file: /home/cvs/OpenXM/doc/OpenXM-specs/communication-model.tex,v retrieving revision 1.11 retrieving revision 1.12 diff -u -p -r1.11 -r1.12 --- OpenXM/doc/OpenXM-specs/communication-model.tex 2016/08/28 02:43:13 1.11 +++ OpenXM/doc/OpenXM-specs/communication-model.tex 2020/03/14 01:21:56 1.12 @@ -1,26 +1,26 @@ -%% $OpenXM: OpenXM/doc/OpenXM-specs/communication-model.tex,v 1.10 2003/05/14 03:34:23 takayama Exp $ -//&jp \section{ OpenXM の通信モデル} +%% $OpenXM: OpenXM/doc/OpenXM-specs/communication-model.tex,v 1.11 2016/08/28 02:43:13 takayama Exp $ +//&jp \section{ OpenXM 篆<≪} //&eg \section{ Communication model of OpenXM} /*&jp -われわれは, 数学プロセスがメッセージを -交換しながら計算が進行していくというモデルを想定して設計をすすめている. -各プロセスはスタックマシンであり, これを OX スタックマシンとよぶ. -数学プロセスの間の通信路の確保の仕方としては以下のように -いろいろな実現方法を想定している. +, 医祉鴻<祉若吾 +篋ゆ荐膊画≪喝荐荐. +祉鴻鴻帥激潟с, OX 鴻帥激潟. +医祉鴻篆∴君腆坂篁鴻篁ヤ +絎憝号喝. \begin{enumerate} -\item ファイルを介して通信する. -\item Library として直接リンクして通信する. -\item TCP/IP ソケットの利用. -\item Remote Procedure call の利用. +\item <ゃ篁篆<. +\item Library 贋・潟篆<. +\item TCP/IP 純宴. +\item Remote Procedure call . \item JAVA RMI. -\item マルチスレッドの利用. -\item PVM ライブラリの利用. -\item MPI ライブラリの利用. +\item 鴻. +\item PVM ゃ. +\item MPI ゃ. \end{enumerate} -通信とはプロセス間のメッセージのやりとりである. -メッセージは論理的に次のような構造をもつ: +篆<祉拷<祉若吾с. +<祉若吾茫罨<罕: */ /*&eg In our model of computation, mathematical processes proceed @@ -53,24 +53,24 @@ A message has the following structure: \end{center} */ /*&jp -このメッセージを, OX message (OpenXM message object) とよぶ. -OX Message はトップレベルのメッセージ object であり, -仕様書では, さまざまなグループに属する object が登場する. -グループ名は, たとえば, OX Message/TCPIP/Primitive などと書く. -{\tt message\_body} の部分の仕様は, OX Message -の上位に位置する部分であり, SMobject または CMObject がくる. -これらの object はタグをもち, そのタグ定数は {\tt SM\_} または -{\tt CMO\_} ではじまる. -SMobject は, スタックマシンコマンドメッセージ object であり, -やはり, グループ分けされている. -各グループ名は, -SMobject/Primitive, SMobject/Basic などと書く. -SMobject の構造は -サーバスタックマシンの節で詳しく説明する. -CMObject についてはすでに Primitive の CMObject の説明をしたが, -あとで CMObject レベル 1の説明をする. -OX Message の -{\tt ox message\_tag} の定数は {\tt OX\_} で始まる. +<祉若吾, OX message (OpenXM message object) . +OX Message <祉若 object с, +篁罕吾с, 障障違若絮 object 糸眼. +違若, , OX Message/TCPIP/Primitive 吾. +{\tt message\_body} 篁罕, OX Message +筝篏篏臀с, SMobject 障 CMObject . + object 帥違, 帥医違 {\tt SM\_} 障 +{\tt CMO\_} с障. +SMobject , 鴻帥激潟潟潟<祉若 object с, +, 違若. +違若, +SMobject/Primitive, SMobject/Basic 吾. +SMobject 罕 +泣若鴻帥激潟膀ц潟顄. +CMObject ゃс Primitive CMObject 茯, + CMObject 1茯. +OX Message +{\tt ox message\_tag} 絎違 {\tt OX\_} у障. */ /*&eg We call it an OX message (OpenXM message object). @@ -89,22 +89,22 @@ The details of SMobjects will be explained in Section We have already explained the Primitive CMObjects. We will describe the Basic CMObjects in Section \ref{sec:basic1}. */ -//&jp \subsection{ OX Message の 表現方法 } +//&jp \subsection{ OX Message 茵憝号 } //&eg \subsection{ OX Messages } /*&jp -OpenXM で各プロセスは +OpenXM у祉鴻 \begin{center} -(OXexpression を理解するスタックマシン) $+$ (xxx 言語で動くエンジン) +(OXexpression 茹c鴻帥激) $+$ (xxx 荐茯у潟吾) \end{center} -なるハイブリッド構成である. -このプロセスを, OX スタックマシンと呼ぶ. -ここでは, OX スタックマシンとやりとりするメッセージである, -OX Message を表現するための OXexpression, および, -スタックマシンの operator に対応する, SMobject を表現するための SMexpression -を定義しよう. -OX Message を スタックマシンコマンド, -SMobject を スタックマシンオペレータともよぶ. +ゃ罕с. +祉鴻, OX 鴻帥激潟若. +с, OX 鴻帥激潟<祉若吾с, +OX Message 茵憗 OXexpression, , +鴻帥激潟 operator 絲上, SMobject 茵憗 SMexpression +絎臂. +OX Message 鴻帥激潟潟潟, +SMobject 鴻帥激潟若帥. */ /*&eg @@ -116,7 +116,7 @@ Here we introduce OXexpression and SMexpression to express OX messages and SM objects respectively. */ -//&jp \subsubsection{ OX メッセージの表現法 (Lisp 風) } +//&jp \subsubsection{ OX <祉若吾茵憝 (Lisp 蘂) } //&eg \subsubsection{ Expressions of OX messages (Lisp like) } /*&C \begin{eqnarray*} @@ -133,15 +133,15 @@ to express OX messages and SM objects respectively. \end{eqnarray*} */ /*&jp -expression の各要素を区切るために {\tt ,} (コンマ) を用いてもよい. -{\tt OX\_tag} は {\tt OX\_} で始まる定数である. -{\tt SM\_tag} は {\tt SM\_} で始まるスタックマシンオペレータを識別する定数である. -発信元 AAA, 受信先 BBB を書く必要があるときは, -From AAA, To BBB, を OXexpression の前に書く. -必要なければ省略する. +expression 荀膣阪 {\tt ,} (潟潟) . +{\tt OX\_tag} {\tt OX\_} у障絎違с. +{\tt SM\_tag} {\tt SM\_} у障鴻帥激潟若帥茘ャ絎違с. +坂拭 AAA, 篆≦ BBB 吾鏆荀, +From AAA, To BBB, OXexpression 吾. +綽荀亥ャ. -たとえば, あとで説明する, CMO string ``Hello'' を スタックにプッシュする -表現は次のように書く: +, ц, CMO string ``Hello'' 鴻帥激ャ +茵憗罨<吾: */ /*&eg @@ -176,8 +176,8 @@ a local function ``hoge''. */ /*&jp -標準エンコード法では, それぞれのタグは 32 bit (4 bytes) の -ネットワークバイトオーダでの整数として表現される. +罔羣潟潟若羈с, 帥違 32 bit (4 bytes) +若ゃ若с贋違茵憗. */ /*&eg In our standard encoding method, each tag is expressed as @@ -188,11 +188,11 @@ a 32 bit (4 bytes) integer with the network byte order */ -//&jp \subsubsection{ OX メッセージの表現 (XML) } +//&jp \subsubsection{ OX <祉若吾茵 (XML) } //&eg \subsubsection{ Expression of OX messages (XML) } /*&jp -OX メッセージは XML で表現することも可能である. 次に例を示す. +OX <祉若吾 XML ц;憗純с. 罨<箴腓冴. */ /*&eg OX messages can be expressed by XML. The following is an example. @@ -216,32 +216,32 @@ OX messages can be expressed by XML. The following is \end{verbatim} */ -//&jp \subsection{OXexpression の 標準 encoding と TCP/IP ソケットによる実装法} +//&jp \subsection{OXexpression 罔羣 encoding TCP/IP 純宴絎茖羈} //&eg \subsection{Standard encoding of OXexpressions and an implementation by TCP/IP sockets} /*&jp -通信の実現方法は通信路のとりかたによりかわるが, -論理構造は統一的にあつかわないといけない. -OXexpression はその論理構造を記述している. +篆<絎憝号篆∴君, +茫罕腟延ゃ. +OXexpression 茫罕荐菴違. -ここでは OXexpression の標準 encoding の概略を説明する. -この encoding 法はTCP/IP ソケット用の encoding 法として -現在存在しているサーバに使用されている. -さらにOX スタックマシンの計算状態を制御するための, コントロールメッセージに -ついても説明する. +с OXexpression 罔羣 encoding 网ャ茯. + encoding 羈TCP/IP 純宴 encoding 羈 +憜絖泣若篏睡. +OX 鴻帥激潟荐膊倶九勝, 潟潟若<祉若吾 +ゃ茯. -{\tt destination}, {\tt origin} の部分は, ソケットによる -peer to peer の接続なので省略する. -{\tt extension} フィールドは -{\tt message\_tag} フィールドの次にくる. -{\tt extension} フィールドは OX パケットのシリアル番号がはいる. -シリアル番号は {\tt int32} である. -この番号は, サーバがエラーを起こした場合, エラーをおこした, -OX パケットの番号を戻すのに主に利用される. -以下 {\tt extension} フィールドは, {\tt message\_tag} の -に含まれると理解し {\tt extension} フィールドは省略する. -したがってパケットは -次のように記述する +{\tt destination}, {\tt origin} , 純宴 +peer to peer ・膓хャ. +{\tt extension} c若 +{\tt message\_tag} c若罨<. +{\tt extension} c若 OX 宴激≪垩. +激≪垩 {\tt int32} с. +垩, 泣若若莎激翫, 若, +OX 宴垩祉筝祉. +篁ヤ {\tt extension} c若, {\tt message\_tag} +障茹c {\tt extension} c若ャ. +c宴 +罨<荐菴違 */ /*&eg @@ -271,7 +271,7 @@ Thus OX messages are represented as follows. \end{tabular} \end{center} */ -//&jp \noindent が, もっとこまかく見ると, +//&jp \noindent , c障頳, //&eg \noindent More precisely it has the following representation. /*&C \begin{center} @@ -284,10 +284,10 @@ Thus OX messages are represented as follows. */ /*&jp \noindent -となっている. +c. -グループ OX Message/TCPIP/Primitive の -{\tt ox message\_tag} としては次のものが用意されている. +違若 OX Message/TCPIP/Primitive +{\tt ox message\_tag} 罨<. */ //&eg \noindent As {\tt ox message\_tag} the following are provided. @@ -308,25 +308,25 @@ Thus OX messages are represented as follows. */ /*&jp -通信路は 2 つ用意する. -1番目の通信路は +篆∴君 2 ょ. +1篆∴君 \verb+ OX_COMMAND + -および + \verb+ OX_DATA + -がながれる. -2番目の通信路 ({\tt control}と呼ぶ) には, -\verb+ OX_COMMAND + およびそれに続くコントロールコマンド +. +2篆∴君 ({\tt control}若) , +\verb+ OX_COMMAND + 潟膓潟潟若潟潟 \verb+ SM_control_* + -またはコントロール関係のデータ, つまり header -\verb+ OX_DATA + ではじまりそれに続く CMO データ -がながれる. -これらをコントロールメッセージおよびコントロールメッセージの結果 -メッセージと呼ぶ. -サンプルサーバでは, この 2 つの通信路を, 2 つのポートを用いて -実現している. +障潟潟若≫若, ゃ障 header +\verb+ OX_DATA + с障膓 CMO 若 +. +潟潟若<祉若吾潟潟潟若<祉若吾腟 +<祉若吾若. +泣潟泣若с, 2 ゃ篆∴君, 2 ゃ若 +絎憗. -\verb+ OX_COMMAND + メッセージは次の形のパケットで表現される: \\ +\verb+ OX_COMMAND + <祉若吾罨<綵≪宴ц;憗: \\ */ /*&eg Two streams are provided for communication between a client and a server. @@ -350,7 +350,7 @@ The stack machine command message has the following fo \\ */ -//&jp \verb+ OX_DATA + メッセージは次の形のパケットで表現される: \\ +//&jp \verb+ OX_DATA + <祉若吾罨<綵≪宴ц;憗: \\ //&eg CMO data message has the following form:\\ /*&C \begin{tabular}{|c|c|} @@ -361,7 +361,7 @@ The stack machine command message has the following fo ({\tt OX\_DATA}, {\sl CMObject} data) \\ */ -//&jp コントロールメッセージは次の形のパケットで表現される: \\ +//&jp 潟潟若<祉若吾罨<綵≪宴ц;憗: \\ //&eg The control message has the following form:\\ /*&C \begin{tabular}{|c|c|} @@ -372,15 +372,15 @@ The stack machine command message has the following fo \\ */ /*&jp -コントロールメッセージは, 計算を中断したい, debug 用の スレッドを起動する, -debug モードを抜けたい, などの用途に利用する. +潟潟若<祉若吾, 荐膊筝, debug 鴻莎桁, +debug ≪若, . */ /*&eg The control message is used to interrupt a computation, to invoke debugging threads, or to exit form the debugging mode. */ -//&jp コントロールメッセージの結果メッセージは次の形のパケットで表現される: \\ +//&jp 潟潟若<祉若吾腟<祉若吾罨<綵≪宴ц;憗: \\ //&eg The result of a control message has the following form:\\ /*&C \begin{tabular}{|c|c|l|} @@ -394,9 +394,9 @@ debugging threads, or to exit form the debugging mode. /*&jp {\tt int32 function\_id} -の部分に, サーバスタックマシン の operator に対応する番号がはいる. -グループ SMobject/Primitive および SMobject/Basic に属する -タグとして以下のものがある. +, 泣若鴻帥激 operator 絲上垩. +違若 SMobject/Primitive SMobject/Basic 絮 +帥違篁ヤ. */ /*&eg {\tt int32 function\_id} is the value of a stack machine command. @@ -431,14 +431,14 @@ values are as follows. \end{verbatim} */ -//&jp \noindent たとえば, +//&jp \noindent , //&eg \noindent For example /*&C \begin{center} (OX\_COMMAND, SM\_pops) \end{center} */ -//&jp \noindent は +//&jp \noindent //&eg \noindent is encoded as follows. /*&C \begin{center} @@ -449,11 +449,11 @@ values are as follows. \end{tabular} \end{center} */ -//&jp とエンコードされる. +//&jp 潟潟若. /*&jp -operator の詳細は次の節で説明する. -これらの定数の名前はインプリメントのとき短縮形で表現してもよい. +operator 荅括完罨<膀ц. +絎違ゃ潟<潟膰綵≪ц;憗. */ /*&eg The details of the operators are described in Section \ref{sec:stackmachine}.