diff 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 diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/2.tex	Sat Mar 28 16:26:43 2009 +0900
@@ -0,0 +1,39 @@
+\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}として使えるものを
+目指している。
+プロトコル自体の信頼性を増すために、プロトコル自体の正しさ、及び、
+実装の正しさを調べることを可能にする。
+