view 2.tex @ 5:34bfeb51e287

add section tex file, Makefile
author gongo@gendarme.local
date Sat, 28 Mar 2009 16:26:43 +0900
parents
children
line wrap: on
line source

\section{ Remote Editing Protocol の設計方針}

複数人が同じテキストを共有して編集するプロトコルは、
さまざまなものが提案されているが、汎用エディタに実装
する前堤のプロトコルはほとんどない。Remote Editing Protocol 
では、複数のSession Managerと、リング状のSession の上に
編集コマンドを循環させる方法を取っている 。

\begin{figure}[tb]
  \begin{center}
    \includegraphics[width=12cm]{fig/editor_to_editor2.pdf}
    \caption{REPでの相互接続}
    \label{REPでの相互接続}
  \end{center}
\end{figure}

この方法を採用した理由はいくつがある。
集中サーバを用いない\underline{分散実装}が一つの前堤になっている。
Session Manager 自体が分散していて、Session Manager は、
(分離されたMergerを除けば)編集コマンドを中継するだけである。
また、既存のエディタを用いるために、
\underline{localな編集}を妨げない点を重視している。遠隔/共有編集を実現
することによって、本来の編集機能が速度低下などにより損なわれることはない。
一度に大量の通信をすることなどを避け
\underline{Network負荷が軽い}こと。
複雑なコマンド入力などのない\underline{Simple なユーザInterface}。
これらを実現するために\underline{Conflictを非同期に解決}し、
変更の伝播の遅延は容認する。また、
\underline{小人数向け}の共有とする。遅延を容認するために、
\underline{遠距離でも使用可能}となる。また、オープンソースとして実装し、
\underline{教育用途}に向いている。特に、XP (eXtreme Programming) \cite{bib:xp}
における\underline{Pair Programming}での使用を意識しているので、
\underline{Emacs/vim/Eclipseの相互接続}を重視する (\figref{REPでの相互接続})。
将来的には、動的な変更を可能とする
\underline{Inter-Application Protocol}として使えるものを
目指している。
プロトコル自体の信頼性を増すために、プロトコル自体の正しさ、及び、
実装の正しさを調べることを可能にする。