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

Diff for /OpenXM/doc/OpenXM-specs/cmo-basic0.tex between version 1.2 and 1.8

version 1.2, 2000/01/24 02:48:24 version 1.8, 2020/03/14 01:21:56
Line 1 
Line 1 
 %% $OpenXM: OpenXM/doc/OpenXM-specs/cmo-basic0.tex,v 1.1.1.1 2000/01/20 08:52:46 noro Exp $  %% $OpenXM: OpenXM/doc/OpenXM-specs/cmo-basic0.tex,v 1.7 2000/09/23 01:05:57 takayama Exp $
 //&jp \section{CMO Primitive の object}  //&jp \section{CMO Primitive object}
 //&eg \section{CMO Primitive object}  //&eg \section{CMO Primitive object}
 \label{sec:basic0}  \label{sec:basic0}
 /*&jp  /*&jp
 CMO (Common Mathematical Object format) グループ Primitive の Object は,  CMO (Common Mathematical Object format) 違若 Primitive Object ,
 ローレベルのデータ型, {\tt int} , {\tt string}  若若水, {\tt int} , {\tt string}
 などに対応する object である.  絲上 object с.
 この CMO はすべての OpenXM が実装していると仮定される.   CMO 鴻 OpenXM 絎茖篁絎.
 この節では, イントロダクションとして, グループ Primitive に属する CMObject  膀с, ゃ潟激с潟, 違若 Primitive 絮 CMObject
 (Common Mathematical Object) を形式的な方法をつかわず導入しよう.  (Common Mathematical Object) 綵√号ゃ絨ャ.
 */  */
 /*&eg  /*&eg
 Objects in CMO (Common Mathematical Object format) group Primitive  Objects in CMO (Common Mathematical Object format) group Primitive
Line 20  CMObject (Common Mathematical Object) of the group Pri
Line 20  CMObject (Common Mathematical Object) of the group Pri
 using the Backus-Nauer form.  using the Backus-Nauer form.
 */  */
 /*&jp  /*&jp
 このグループの正式な名前は,  違若罩e,
 CMObject/Primitive  である.  CMObject/Primitive  с.
 以下, {\tt int32} で2の補数表現された  篁ヤ, {\tt int32} 2茖域;憗
 32 bit integer をあらわす  32 bit integer
 (これはよく使われる計算機での C 言語の int の内部表現).  (鋎帥荐膊罘с C 荐茯 int 茵).
 {\tt byte} で 8 bit データをあらわす.  {\tt byte} 8 bit 若帥.
 */  */
 /*&eg  /*&eg
 The canonical name of this group is  The canonical name of this group is
Line 39  this expression).
Line 39  this expression).
   
 //&C  //&C
 /*&jp  /*&jp
 CMObject の TCP/IP 用の実装では,  CMObject TCP/IP 絎茖с,
 CMO の object は \\  CMO object \\
 \begin{tabular}{|c|c|}  \begin{tabular}{|c|c|}
 \hline  \hline
 {\tt cmo\_tag}& {\tt cmo\_body} \\  {\tt cmo\_tag}& {\tt cmo\_body} \\
 \hline  \hline
 \end{tabular} \\  \end{tabular} \\
 なる形をしている.  綵≪.
 ここで, {\tt cmo\_tag} は, 正の  , {\tt cmo\_tag} , 罩c
 {\tt int32} で表現するものと規約する.  {\tt int32} ц;憗荀靘.
 */  */
 /*&eg  /*&eg
 In our encoding of the CMO's for TCP/IP,  In our encoding of the CMO's for TCP/IP,
Line 66  any CMObject consists of a tag and a body: \\
Line 66  any CMObject consists of a tag and a body: \\
   
 */  */
 /*&jp  /*&jp
 {\tt cmo\_tag} は object のタイプをあらわすタグであり,  {\tt cmo\_tag} object 帥ゃ帥違с,
 以下のように決めている.  篁ヤ羆冴.
 */  */
 //&eg The following is a list of tags of CMObject/Primitive.  //&eg The following is a list of tags of CMObject/Primitive.
 /*&C  /*&C
 @../SSkan/plugin/cmotag.h  @../SSkan/plugin/cmotag.h
 \begin{verbatim}  \begin{verbatim}
 #define LARGEID  0x7f000000  #define LARGEID  0x7f000000   /* 2130706432 */
 #define CMO_ERROR2 (LARGEID+2)  #define CMO_ERROR2 (LARGEID+2)
 #define CMO_NULL   1  #define CMO_NULL   1
 #define CMO_INT32  2  #define CMO_INT32  2
Line 85  any CMObject consists of a tag and a body: \\
Line 85  any CMObject consists of a tag and a body: \\
 */  */
   
 /*&jp  /*&jp
 以下, 各 object の フォーマットを説明する.  篁ヤ, object 若茯.
 サーバ, クライアントはすべての object の CMO 形式をサポートする必要はないが,  泣若, ゃ≪潟鴻 object CMO 綵√泣若綽荀,
 {\tt CMO\_ERROR2}, {\tt CMO\_NULL},  {\tt CMO\_ERROR2}, {\tt CMO\_NULL},
 {\tt CMO\_INT32}, {\tt CMO\_STRING}, {\tt CMO\_MATHCAP}, {\tt CMO\_LIST}  {\tt CMO\_INT32}, {\tt CMO\_STRING}, {\tt CMO\_MATHCAP}, {\tt CMO\_LIST}
 は最も基本的なデータであり,  堺若帥с,
 また全てのサーバ, クライアントが実装すべき CMO データである.  障泣若, ゃ≪潟絎茖鴻 CMO 若帥с.
 */  */
 /*&eg  /*&eg
 We will explain each object format.  We will explain each object format.
Line 106  all servers and clients have to implement them.
Line 106  all servers and clients have to implement them.
   
 \medbreak \noindent  \medbreak \noindent
 */  */
 //&jp CMObject Error2 は \\  //&jp CMObject Error2 \\
 //&eg CMObject Error2 is of the form \\  //&eg CMObject Error2 is of the form \\
 /*&C  /*&C
 \begin{tabular}{|c|c|}  \begin{tabular}{|c|c|}
Line 116  all servers and clients have to implement them.
Line 116  all servers and clients have to implement them.
 \end{tabular} \\  \end{tabular} \\
 */  */
 /*&jp  /*&jp
 なる形で表現する.  綵≪ц;憗.
 エラーの時に push する object であり, {\it CMObject} ob の  若 push object с, {\it CMObject} ob
 部分に詳細なエラー情報がはいる.  荅括完惹宴.
 ob はリストであり,  TCP/IP によるストリーム型接続の場合,  ob 鴻с,  TCP/IP 鴻若・膓翫,
 最初の成分はエラーを起こした OX メッセージ(後述)  若莎激 OX <祉若(緇菴)
 のシリアル番号でないといけない.  激≪垩с.
 シリアル番号は Integer32 で表現する.  激≪垩 Integer32 ц;憗.
   
   \noindent
   Remark: 罩翫兏宴, 若吾с CMO 帥違 {\it
   CMO\_ERROR2} 篁. 罨<篁罕吾с {\tt CMO\_ERROR}
   紊眼篋絎с.
 */  */
 /*&eg  /*&eg
 It is an object used when a server makes an error.  It is an object used when a server makes an error.
 {\it CMObject} ob carries error informations.  {\it CMObject} ob carries error informations.
 The instance ob is a list and in case of a stream connection like TCP/IP  The instance ob is a list and, in case of a stream connection like TCP/IP,
 the first element must be the serial number of the OX message  the first element must be the serial number of the OX message
 that caused the error.  that caused the error.
 The serial number is given by the data type Integer32.  The serial number is given by the data type Integer32.
   
   \noindent
   Remark: For a historical reason the CMO tag of the error object is
   named {\tt CMO\_ERROR2}. In the next version of OpenXM specification
   we may rename it {\tt CMO\_ERROR}.
 */  */
   
 /*&C  /*&C
Line 138  The serial number is given by the data type Integer32.
Line 148  The serial number is given by the data type Integer32.
 \medbreak \noindent  \medbreak \noindent
 */  */
   
 //&jp CMObject Null は \\  //&jp CMObject Null \\
 //&eg CMObject Null has the format \\  //&eg CMObject Null has the format \\
 /*&C  /*&C
 \begin{tabular}{|c|c|}  \begin{tabular}{|c|c|}
Line 148  The serial number is given by the data type Integer32.
Line 158  The serial number is given by the data type Integer32.
 \end{tabular} \\  \end{tabular} \\
 */  */
 /*&jp  /*&jp
 なる形で表現する.  綵≪ц;憗.
 */  */
   
 /*&C  /*&C
Line 156  The serial number is given by the data type Integer32.
Line 166  The serial number is given by the data type Integer32.
 \noindent  \noindent
 */  */
   
 //&jp 32 bit integer n は CMObject としては Integer32 と呼ばれ, \\  //&jp 32 bit integer n CMObject Integer32 若違, \\
 //&eg 32 bit integer n is called Integer32 as a CMObject and has the format \\  //&eg 32 bit integer n is called Integer32 as a CMObject and has the format \\
 /*&C  /*&C
 \begin{tabular}{|c|c|}  \begin{tabular}{|c|c|}
Line 165  The serial number is given by the data type Integer32.
Line 175  The serial number is given by the data type Integer32.
 \hline  \hline
 \end{tabular} \\  \end{tabular} \\
 */  */
 //&jp なる形で表現する.  //&jp 綵≪ц;憗.
   
 /*&C  /*&C
   
Line 173  The serial number is given by the data type Integer32.
Line 183  The serial number is given by the data type Integer32.
 */  */
   
   
 //&jp 長さ n の バイト列 data は CMObject としては, Datum 型とよばれ \\  //&jp 激 n ゃ data CMObject , Datum 違 \\
 //&eg A byte array of the length n is called Datum as a CMObject and has the format \\  //&eg A byte array of the length n is called Datum as a CMObject and has the format \\
 /*&C  /*&C
 \begin{tabular}{|c|c|c|c|}  \begin{tabular}{|c|c|c|c|}
Line 185  $\cdots$ & {\tt byte} {\rm  data[n-1]} \\ 
Line 195  $\cdots$ & {\tt byte} {\rm  data[n-1]} \\ 
 \cline{1-2}  \cline{1-2}
 \end{tabular} \\  \end{tabular} \\
 */  */
 //&jp と表現する.  //&jp 茵憗.
   
 /*&C  /*&C
   
 \noindent  \noindent
 */  */
   
 //&jp 長さ n の 文字列 data は, CMObject としては, Cstring 型とよばれ \\  //&jp 激 n 絖 data , CMObject , Cstring 違 \\
 //&eg String of n bytes is called Cstring as CMObject and has the format \\  //&eg String of n bytes is called Cstring as CMObject and has the format \\
 /*&C  /*&C
 \begin{tabular}{|c|c|c|c|}  \begin{tabular}{|c|c|c|c|}
Line 205  $\cdots$ & {\tt byte} {\rm data[n-1]} \\ 
Line 215  $\cdots$ & {\tt byte} {\rm data[n-1]} \\ 
 \end{tabular} \\  \end{tabular} \\
 */  */
 /*&jp  /*&jp
 と表現する.  C 言語で普通用いられる, 文字列のおわりの {\tt 0} は文字列  茵憗.  C 荐茯ф, 絖 {\tt 0} 絖
 に含めない.  .
 */  */
   
 /*&C  /*&C
   
 \noindent  \noindent
 */  */
 //&jp CMObject Mathcap は \\  //&jp CMObject Mathcap \\
 //&eg CMObject Mathcap  has the format \\  //&eg CMObject Mathcap  has the format \\
 /*&C  /*&C
 \begin{tabular}{|c|c|}  \begin{tabular}{|c|c|}
Line 223  $\cdots$ & {\tt byte} {\rm data[n-1]} \\ 
Line 233  $\cdots$ & {\tt byte} {\rm data[n-1]} \\ 
 \end{tabular} \\  \end{tabular} \\
 */  */
 /*&jp  /*&jp
 なる形で表現する.  綵≪ц;憗.
 {\tt ob} はリストであり少なくとも3つの要素をもつ.  {\tt ob} 鴻с絨3ゃ荀膣.
 0 番目の要素は, Integer32 で表した OpenXM protocol version number と,  0 荀膣, Integer32 ц; OpenXM protocol version number ,
 Cstring で表したシステム名, Server version, CPU type, その他の情報  Cstring ц;激鴻, Server version, CPU type, 篁
 のリストである.  鴻с.
 1 番目の要素は, システム xxx が扱うことの可能な  1 荀膣, 激鴻 xxx 宴純
 SM タグを, Integer32 で表現したものを集めたリストである.  SM 帥違, Integer32 ц;憗鴻с.
 3 番目の要素は, システム xxx があつかうことの可能な  3 荀膣, 激鴻 xxx ゃ純
 データ形式をあつめたリストである.  若水就綣ゃ鴻с.
 詳細は mathcap の節で説明する.  荅括完 mathcap 膀 \ref{subsubsection:mathcap} ц.
 */  */
 /*&eg  /*&eg
 ob is a list of which length is more than or equal to three.  ob is a list of which length is more than or equal to three.
Line 244  and extra informations.
Line 254  and extra informations.
 The second element is a list of SM tags in Integer 32.  The second element is a list of SM tags in Integer 32.
 The third element is a list of data type tags which the server or the client  The third element is a list of data type tags which the server or the client
 can understand.  can understand.
 The details will be explained in the section on mathcap.  The details will be explained in the section on mathcap \ref{subsubsection:mathcap}.
 */  */
   
 /*&C  /*&C
   
 \medbreak \noindent  \medbreak \noindent
 */  */
 //&jp 長さ m のリストは \\  //&jp 激 m 鴻 \\
 //&eg A list of the length m has the form \\  //&eg A list of the length m has the form \\
 /*&C  /*&C
 \begin{tabular}{|c|c|c|c|c|}  \begin{tabular}{|c|c|c|c|c|}
Line 261  The details will be explained in the section on mathca
Line 271  The details will be explained in the section on mathca
 \hline  \hline
 \end{tabular}\\  \end{tabular}\\
 */  */
 //&jp で表現する.  //&jp ц;憗.
   
   

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.8

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