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

Diff for /OpenXM/doc/OpenXM-specs/project.tex between version 1.1.1.1 and 1.5

version 1.1.1.1, 2000/01/20 08:52:46 version 1.5, 2020/03/14 01:21:56
Line 1 
Line 1 
 %% $OpenXM$  %% $OpenXM: OpenXM/doc/OpenXM-specs/project.tex,v 1.4 2000/02/02 02:03:41 takayama Exp $
 //&jp \section{現在検討中の機能}  //&jp \section{憜罎荐筝罘}
 //&eg \section{Projects in work in progress} (This part has not been translated.)  //&eg \section{Projects in work in progress}
   
   //&jp \subsection{ OX DATA with Length 罕 }
   //&eg \subsection{ OX DATA with Length }
   
 /*&jp  /*&jp
 \subsection{ OX DATA with Length の構造 }  Digital signature 篁 {\tt OX\_DATA}
    {\tt OX\_DATA\_WITH\_LENGTH }, 障, CMO ,
   , 腟若潟吾帥臀峨.
   綵≪若帥 {\it secured OX DATA} 若.
   */
   /*&eg
   {\tt OX\_DATA\_WITH\_LENGTH } is the OX tag for
   OX data message with a digital signature.
   It is followed by the serial number, CMO, an end mark and a digital signature.
   This type of OX data message is called {\it secured OX DATA}.
   */
   
 Digital signature 付の {\tt OX\_DATA} は  
 ヘッダ {\tt OX\_DATA\_WITH\_LENGTH }で, はじまり, CMO がきて,  
 それから, 終りのマークおよびデジタル署名がくる.  
 この形のデータを {\it secured OX DATA} と呼ぶ.  
 \begin{verbatim}  \begin{verbatim}
 #define OX_SECURED_DATA               521  #define OX_SECURED_DATA               521
 \end{verbatim}  \end{verbatim}
Line 21  Digital signature 付の {\tt OX\_DATA} は
Line 30  Digital signature 付の {\tt OX\_DATA} は
 \hline  \hline
 \end{tabular}  \end{tabular}
   
 {\tt size} フィールドに 値 -1 が入っている場合この情報を無視する.  //&jp {\tt size} c若 -1 ャc翫宴∴.
   //&eg If {\tt size} is equal to -1, then it is ignored.
   
 {\it tail } は次のように定義する.  //&jp {\it tail } 罨<絎臂.
   //&eg {\it tail } is defined as follows.
 \\ \noindent  \\ \noindent
 \begin{tabular}{|c|c|c|}  \hline  \begin{tabular}{|c|c|c|}  \hline
 {\tt int32 CMO\_START\_SIGNATURE} & {\tt int32} {\rm size}  {\tt int32 CMO\_START\_SIGNATURE} & {\tt int32} {\rm size}
Line 31  Digital signature 付の {\tt OX\_DATA} は
Line 42  Digital signature 付の {\tt OX\_DATA} は
 \hline  \hline
 \end{tabular}  \end{tabular}
   
 ここで, {\tt size} はバイト列 {\it signature} 部の長さ.  /*&jp
 {\it signature} は, Hash 関数を用いた, {\it CMO data}  , {\tt size} ゃ {\it signature} 激.
 にたいする, デジタル署名をいれ, 不正な serialized object  {\it signature} , Hash ∽違, {\it CMO data}
 を検出する.  , 吾帥臀峨, 筝罩c serialized object
 Tail の {\tt size} フィールドが 0 の場合, デジタル署名部はない.  罎冴.
   Tail {\tt size} c若 0 翫, 吾帥臀峨.
   */
   /*&eg
   Here {\tt size} is the length of {\it signature}.
   {\it signature} is a digital signature of {\it CMO data} by
   a Hash function and is used to detect invalid serialized objects.
   If {\tt size} of Tail is equal to 0, then it has no digital signature.
   */
   
 クライアント, サーバの実装には次の3つの選択がある.  //&jp ゃ≪潟, 泣若絎茖罨<4ゃ御.
   //&eg Currently there are four modes of communicating data.
   /*&jp
 \begin{enumerate}  \begin{enumerate}
 \item {\tt OX\_DATA} のみを用いて CMObject を送る (mathcap 付).  \item {\tt OX\_DATA} 帥 CMObject (mathcap 篁).
 \item {\tt OX\_SECURED\_DATA} のみを用いて CMObject を送る.  \item {\tt OX\_SECURED\_DATA} 帥 CMObject .
 \item {\tt OX\_DATA} および  \item {\tt OX\_DATA}
 {\tt OX\_SECURED\_DATA} を混在して  {\tt OX\_SECURED\_DATA} 羞桁
 使用できるようにする.  篏睡с.
 \item {\tt OX\_DATA} のみを用いてかつ mathcap も用いない(一番高速).  \item {\tt OX\_DATA} 帥 mathcap (筝蕭).
 \end{enumerate}  \end{enumerate}
 1 の短所は, mathcap の実装が不十分で,  */
 理解できない CMObject をうけとると,  /*&eg
 以後の CMObject は理解できなくなる.  \begin{enumerate}
 1 の長所は, 長さフィールドの計算を  \item Only {\tt OX\_DATA} is used with checking by mathcap.
 おこなわないため, データを送り出す側に負担がかからないことである.  \item Only {\tt OX\_SECURED\_DATA} is used.
 2 の長所は, mathcap の実装が不十分で,  \item Both {\tt OX\_DATA} and {\tt OX\_SECURED\_DATA} can be used.
 理解できない CMObject をうけとっても,  \item Only {\tt OX\_DATA} is used without checking by mathcap.
 長さフィールドを用いて, 通信回線のダウンを  \end{enumerate}
 防ぐことができる.  */
 2 の短所は, 長さフィールドの計算を  /*&jp
 おこなうため, データを送り出す側に負担がかかることである.  1 , mathcap 絎茖筝,茹cс CMObject
   ,篁ュ CMObject 茹cс.  1 傑, 激c若荐
   膊, 若帥冴眼莢с.
   2 傑, mathcap 絎茖筝,茹cс CMObject
   ,激c若, 篆≦膩潟蚊с.  2
   , 激c若荐膊, 若帥冴眼莢
   с.
   */
   /*&eg
   Suppose that the mathcap handling is incomplete and an application
   has received unknown CMObject.
   In mode 1, the application cannot detect the end of the CMObject
   and it will not be able to understand the subsequent messages.
   In mode 2, the application can detect the end of the unknown CMObject
   from the size information. However, in mode 2, additional cost is
   required on the sender to compute the total length of CMObjects.
   */
   
 現在のすべてのサンプルサーバは, 1, 4 のみを実装している.  //&jp 憜鴻泣潟泣若, 1, 4 帥絎茖.
   //&teg Currently all sample servers implements only 1 and 4.
   
 mathcap の交換はセッションの開始時点で必須という訳ではない  /*&jp
 ことに注意されたい.  mathcap 篋ゆ祉激с潟紮鴻у荐潟с羈
 たとえば,  .  ,≪若 4 ч篆<,, mathcap 篋ゆ,≪
 モード 4 で通信して,   1 悟Щ茵純絎茖鴻с.
 それから,  */
 mathcap を交換して,  /*&eg
 モード 1 へ移行することも可能なように実装すべきである.  Note that the exchange of mathcaps are not necessary at the start
   of a session. Any server should be implemented so that it can
   change the communication mode dynamically, say, from 4 to 1.
   */
   
   //&jp \subsection{泣若鴻帥激潟若≦宍罘純c}
   //&eg \subsection{Local extension on server stack machines}
   
 \subsection{サーバスタックマシンはローカルな拡張機能をもってよい}  
   
 \begin{verbatim}  \begin{verbatim}
 #define  CMO_PRIVATE   0x7fff0000  #define  CMO_PRIVATE   0x7fff0000  /* 2147418112 */
 \end{verbatim}  \end{verbatim}
   
   /*&jp
 {\tt CMO\_PRIVATE} = {\tt OX\_PRIVATE} = {\tt SM\_PRIVATE}  {\tt CMO\_PRIVATE} = {\tt OX\_PRIVATE} = {\tt SM\_PRIVATE}
 よりはじまる, 0x10000 個の ID は, private 領域として予約されている.  障, 0x10000 ID , private 篋膣.
 各サーバの開発者間で表現方法につきまだ合意がないような, CMObject,  泣若肴ц;憝号ゃ障, CMObject,
 OX Message, SMobject を表現するために使用する.  OX Message, SMobject 茵憗篏睡.
   */
   /*&eg
   0x10000 ID's beginning from
   {\tt CMO\_PRIVATE} = {\tt OX\_PRIVATE} = {\tt SM\_PRIVATE}
   are reserved for private use.
   They can be used to represent OX tags, CMObjects, SMobjects
   which are not authorized yet.
   */
   
 \subsection{MathLink や open math などの通信規約の実装}  
   
 Open asir, open sm1 と Mathematica の用いている MathLink や  //&jp \subsection{MathLink OpenMath 篆∴靘絎茖}
   //&eg \subsection{Implementation of other protocols such as MathLink and OpenMath}
   
   /*&jp
   Open asir, open sm1 Mathematica MathLink
 Open Math (\cite{openmath})  Open Math (\cite{openmath})
 プロトコルを変換するための  潟紊
 ライブラリやサーバを用意すれば, {\tt asir} や {\tt kan/sm1} の  ゃ泣若, {\tt asir} {\tt kan/sm1}
 内部構造を理解することなしに, これらに準拠したシステムと通信できる.  罕茹c, 羣激鴻篆<с.
   */
   /*&eg
   If we provide a library or a server for protocol conversion
   between CMO and ``foreign'' protocols such as MathLink or OpenMath,
   a client conforming to such protocols can communicate with
   Asir or kan/sm1 without knowing their internal structures.
   */
   
 \subsection{共通スタックマシン言語}  //&jp \subsection{演鴻帥激活茯}
   //&eg \subsection{Common operations on stack machines}
   
 CMO に付随した, たとえば, Integer 32 に対する,  /*&jp
 add, sub, mul, などの基本的な計算は {\tt SM\_executeFunction}  CMO 篁, , Integer 32 絲障,
 で全てのシステムで実行できるように検討している.  add, sub, mul, 堺荐膊 {\tt SM\_executeFunction}
 スタックマシンの制御構造についても検討している.  у激鴻у茵с罎荐.
   鴻帥激潟九勝罕ゃ罎荐.
   */
   /*&eg
   Fundamental operations such as {\tt add}, {\tt sub}, {\tt mul} should be
   executed on any server by {\tt SM\_executeFunction}.
   Control structures on stack machines such as {\tt if} and {\tt for}
   are also being considered.
 */  */
   

Legend:
Removed from v.1.1.1.1  
changed lines
  Added in v.1.5

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