=================================================================== RCS file: /home/cvs/OpenXM/doc/OpenXM-specs/project.tex,v retrieving revision 1.1.1.1 retrieving revision 1.5 diff -u -p -r1.1.1.1 -r1.5 --- OpenXM/doc/OpenXM-specs/project.tex 2000/01/20 08:52:46 1.1.1.1 +++ OpenXM/doc/OpenXM-specs/project.tex 2020/03/14 01:21:56 1.5 @@ -1,14 +1,23 @@ -%% $OpenXM$ -//&jp \section{現在検討中の機能} -//&eg \section{Projects in work in progress} (This part has not been translated.) +%% $OpenXM: OpenXM/doc/OpenXM-specs/project.tex,v 1.4 2000/02/02 02:03:41 takayama Exp $ +//&jp \section{憜罎荐筝罘} +//&eg \section{Projects in work in progress} +//&jp \subsection{ OX DATA with Length 罕 } +//&eg \subsection{ OX DATA with Length } + /*&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} #define OX_SECURED_DATA 521 \end{verbatim} @@ -21,9 +30,11 @@ Digital signature 付の {\tt OX\_DATA} は \hline \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 \begin{tabular}{|c|c|c|} \hline {\tt int32 CMO\_START\_SIGNATURE} & {\tt int32} {\rm size} @@ -31,70 +42,125 @@ Digital signature 付の {\tt OX\_DATA} は \hline \end{tabular} -ここで, {\tt size} はバイト列 {\it signature} 部の長さ. -{\it signature} は, Hash 関数を用いた, {\it CMO data} -にたいする, デジタル署名をいれ, 不正な serialized object -を検出する. -Tail の {\tt size} フィールドが 0 の場合, デジタル署名部はない. +/*&jp +, {\tt size} ゃ {\it signature} 激. +{\it signature} , Hash ∽違, {\it CMO data} +, 吾帥臀峨, 筝罩c serialized object +罎冴. +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} -\item {\tt OX\_DATA} のみを用いて CMObject を送る (mathcap 付). -\item {\tt OX\_SECURED\_DATA} のみを用いて CMObject を送る. -\item {\tt OX\_DATA} および -{\tt OX\_SECURED\_DATA} を混在して -使用できるようにする. -\item {\tt OX\_DATA} のみを用いてかつ mathcap も用いない(一番高速). +\item {\tt OX\_DATA} 帥 CMObject (mathcap 篁). +\item {\tt OX\_SECURED\_DATA} 帥 CMObject . +\item {\tt OX\_DATA} +{\tt OX\_SECURED\_DATA} 羞桁 +篏睡с. +\item {\tt OX\_DATA} 帥 mathcap (筝蕭). \end{enumerate} -1 の短所は, mathcap の実装が不十分で, -理解できない CMObject をうけとると, -以後の CMObject は理解できなくなる. -1 の長所は, 長さフィールドの計算を -おこなわないため, データを送り出す側に負担がかからないことである. -2 の長所は, mathcap の実装が不十分で, -理解できない CMObject をうけとっても, -長さフィールドを用いて, 通信回線のダウンを -防ぐことができる. -2 の短所は, 長さフィールドの計算を -おこなうため, データを送り出す側に負担がかかることである. +*/ +/*&eg +\begin{enumerate} +\item Only {\tt OX\_DATA} is used with checking by mathcap. +\item Only {\tt OX\_SECURED\_DATA} is used. +\item Both {\tt OX\_DATA} and {\tt OX\_SECURED\_DATA} can be used. +\item Only {\tt OX\_DATA} is used without checking by mathcap. +\end{enumerate} +*/ +/*&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 の交換はセッションの開始時点で必須という訳ではない -ことに注意されたい. -たとえば, -モード 4 で通信して, -それから, -mathcap を交換して, -モード 1 へ移行することも可能なように実装すべきである. +/*&jp +mathcap 篋ゆ祉激с潟紮鴻у荐潟с羈 +. ,≪若 4 ч篆<,, mathcap 篋ゆ,≪ + 1 悟Щ茵純絎茖鴻с. +*/ +/*&eg +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} -#define CMO_PRIVATE 0x7fff0000 +#define CMO_PRIVATE 0x7fff0000 /* 2147418112 */ \end{verbatim} +/*&jp {\tt CMO\_PRIVATE} = {\tt OX\_PRIVATE} = {\tt SM\_PRIVATE} -よりはじまる, 0x10000 個の ID は, private 領域として予約されている. -各サーバの開発者間で表現方法につきまだ合意がないような, CMObject, -OX Message, SMobject を表現するために使用する. +障, 0x10000 ID , private 篋膣. +泣若肴ц;憝号ゃ障, CMObject, +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}) -プロトコルを変換するための -ライブラリやサーバを用意すれば, {\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 に対する, -add, sub, mul, などの基本的な計算は {\tt SM\_executeFunction} -で全てのシステムで実行できるように検討している. -スタックマシンの制御構造についても検討している. - - +/*&jp +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. */