Mercurial > hg > Papers > 2009 > rep-verify-sigos
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}として使えるものを +目指している。 +プロトコル自体の信頼性を増すために、プロトコル自体の正しさ、及び、 +実装の正しさを調べることを可能にする。 +