% $OpenXM: OpenXM/doc/OpenXM-specs/OX-RFC-103.oxw,v 1.3 2003/12/10 23:22:52 takayama Exp $ %% OXWEAVE=${OpenXM_HOME}/bin/oxweave --recursive --plain %% ${OXWEAVE} C ja >oxshell-ja.tex //&ja \documentclass{jarticle} //&en \documentclass{article} //&ja \title{OpenXM RFC 103 draft (RFC 100 追加)} //&en \title{OpenXM RFC 103 draft (RFC 100 supplement} //&C \author{OpenXM Committers} //&C \date{December 9, 2004} //&C \newtheorem{example}{Example} \usepackage{html} \begin{document} \maketitle /*&ja この RFC は OpenXM RFC 100 (および 101) の実装により明らかになった種々の問題点をもとに RFC 100 プロトコルへの幾つかの追加を提案する. */ //&ja \section{中断および変数の伝播} //&en \section{Propagation of an interruption and a value of a variable} //&ja \subsection{中断} //&en \subsection{Interruption} /*&ja OX RFC 103 では, エンジンは OX RFC 100 に定義された中断処理を完了したのち, さらに次の処理をおこなわないといけない. \\ 上意下達の中断処理: \begin{enumerate} \item 自分の子供プロセスをすべてリストする (たとえば asir の場合は {\tt ox\_get\_serverinfo() }). \item 子供プロセスに順番に OpenXM-RFC 100 の中断メッセージを送る. \end{enumerate} */ /*&en Engines complient to OX RFC 103 must execute the following procedures after finishing the interruption exception defined by OX RFC 100. \begin{enumerate} \item List all the child processes. (For example, use the function {\tt ox\_get\_serverinfo() } in case of asir). \item Send all the child processes the interruption message defined OX RFC 100. \end{enumerate} */ //&ja \subsection{サーバ木の大域変数} //&en \subsection{Global variable of the tree of the servers} //&ja OX RFC 103 対応のエンジンはエンジン関数 /*&en The engines complient to OX RFC 103 implement the engine function */ /*&C \begin{center} {\tt ox103\_set\_shared\_variable(} CMO string {\tt Name}, CMO object {\tt value}{\tt )} \end{center} */ /*&ja を実装している. この関数が呼ばれると, エンジンスタックマシンの変数 {\tt Name} に値 {\tt value} が設定され, さらに子どものプロセスすべてのエンジン関数 {\tt ox103\_set\_shared\_variable} をよぶ. */ /*&en When this function is called, the value {\tt value} is assigned to the variable {\tt Name} of the engine stackmachine and the engine calls the function {\tt ox103\_set\_shared\_variable} of all the child processes with the same arguments. */ /*&ja たとえば, この機能は asir-contrib において変数 {\tt Xm\_noX} (ox server 用の debug window を表示するかしないかのフラグ) の値を同報するのに用いている. */ /*&en For example, this protocol is used in the asir-contrib to broad cast the value of the variable {\tt Xm\_noX}, which is the flag of hiding the debug window of an ox server. */ //&ja \section{新しい CMO} //&en \section{New CMO} //&ja \section{ファイルへの読み書き} //&en \section{File IO} //&ja \section{エンジン認証手続き} //&en \section{Engine authentication} /*&ja バイトオーダーを決めるための情報交換 (OX-RFC 100 参照) の前に エンジン認証手続きをおこなう. 認証プロトコルについては別途定める. */ //&ja \section{貢献者} //&en \section{Contributors} /*&ja 中断および変数の伝播については高山が設計, asir および kan/sm1 への実装, 評価をおこなった. ({\tt OpenXM/src/asir-contrib/packages/src/oxrfc103.rr}, {\tt OpenXM/src/kan96xx/Doc/oxrfc103.sm1} をみよ). */ /*&ja 行列, ベクトルの CMO は NTL のサーバ化をテストケースとして 岩根が設計, 実装, 評価を行った. */ \end{document}