changeset 7:6d15c7d67941

fix
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Fri, 24 Apr 2009 08:31:40 +0900
parents 74bad457cfc2
children 93c2d8dc3469
files presentation/rep-verify-sigos.ind
diffstat 1 files changed, 59 insertions(+), 73 deletions(-) [+]
line wrap: on
line diff
--- a/presentation/rep-verify-sigos.ind	Fri Apr 24 07:50:06 2009 +0900
+++ b/presentation/rep-verify-sigos.ind	Fri Apr 24 08:31:40 2009 +0900
@@ -2,15 +2,18 @@
 
 --author: 与儀健人, 宮城健太, 河野真治
 
---はじめに
-
-
---Remote Editing Protocol の設計方針
+--Remote Editing Protocol って?
 
 複数の「既存」のEditorを相互に接続する
 
     Emacs, Vim, Eclipse など
 
+ずいぶん、ながくやってますが...
+
+まだ、動いてません。
+
+--Remote Editing Protocol の設計方針
+
 Local Editing を阻害しない
 
 接続されたEditorは同等
@@ -37,6 +40,12 @@
 
 	Session Manager
 
+--Session Manager
+
+Editor はdefaultで、ローカルなSession Manager に接続する
+
+<center><img src="fig/one_session_manager.jpg" alt="Session Managerの導入"></center>
+
 --Protocol の構成
 
 	Session Manager への接続 (sm_join)
@@ -47,6 +56,24 @@
 
 	Editor Command の衝突の解消(Merge)
 
+---Session managerの接続protocol
+
+<center><img src="fig/many_session_manager.jpg" alt="Session Manager同士の接続"></center>
+
+---Session 接続 protocol
+
+<center><img src="fig/sm_join.jpg" alt="join コマンド"></center>
+
+<center><img src="fig/use_case_put_join_over_sm.jpg" alt="Session Managerを介したエディタの接続"></center>
+
+
+---Merge Protocol
+
+編集の衝突を解決する
+
+<center><img src="fig/new_merge.jpg" alt="Session Ring上のREPコマンドの送信"></center>
+
+
 --Merge をSession Manager 上で行なう
 
 	編集Sessionはring を構成する
@@ -55,6 +82,29 @@
 
 	Command と Ack はringをそれぞれ一周する
 
+---Merge のSession Managerへの移動
+
+Merge 作業とEditor上の編集が衝突する場合もある
+
+<center><img src="fig/reMerge.jpg" alt="リマージ"></center>
+
+Editor側のlockが可能ならばlockしても良い。(optional)
+
+lock の実装が難しい場合もある。
+
+--Editor 側で実装する必要がある機能
+
+<table border="1">
+<tr><td>1 <td> 編集機能の user_insert,user_deteleへの分解
+<tr><td>2 <td>分解したEditor Command の送信 
+<tr><td>3 <td> join,put Command のUI部分と、Command の送信 
+<tr><td>4 <td> join_ack,put_ack の受け取りとsid,eidの設定
+<tr><td>5 <td> 外部からのEditor Commandの非同期受け取りと実行 
+<tr><td>6 <td> sync Command を受け取った場合の user_insert,user_deteleの生成 
+<tr><td>7 <td> Merge 時のlock (optional) 
+<tr><td>8 <td>  quit Command 
+</table>
+
 --Protocol はかなり複雑
 
 	2つでは大丈夫だが、3つでおかしくなる
@@ -107,77 +157,13 @@
 
 テストの正しさは終了時に判定するのが簡単
 
----Session managerの導入
-
-<center><img src="fig/one_session_manager.pdf" alt="Session Managerの導入"></center>
-
----Session managerの接続protocol
-
-<center><img src="fig/many_session_manager.pdf" alt="Session Manager同士の接続"></center>
-
----Session 接続 protocol
-
-<center><img src="fig/sm_join.pdf" alt="join コマンド"></center>
-
-<center><img src="fig/use_case_put_join_over_sm.pdf" alt="Session Managerを介したエディタの接続"></center>
-
----Editor Command
-
 
----Merge Protocol
-
-
-<center><img src="fig/new_merge.pdf" alt="Session Ring上のREPコマンドの送信"></center>
-
-
----Merge のSession Managerへの移動
-
+--まとめ
 
-<center><img src="fig/reMerge.pdf" alt="リマージ"></center>
-
-
---Protocol の正しさ
-
-
---Protocol の実装
-
+REPのSession Manager のプロトコルを設計し、実装した
 
-Editor 側で実装する必要があるのは、表\ref{tb:sync}の機能である。
-\begin{table}[htdp]
-\caption{Editor 側での実装}
-\begin{center}
-\begin{tabular}{|l|l|}
-\hline
-1 & 編集機能の{\tt user\_insert,user\_detele}への分解と、分解したEditor Command の送信 \\
-\hline
-2 & {\tt join,put} Command のUI部分と、Command の送信 \\
-\hline
-3 & {\tt join,put} Command のUI部分と、Command の送信 \\
-\hline
-4 & {\tt join\_ack,put\_ack} の受け取りとsid,eidの設定 \\
-\hline
-5 & 外部からのEditor Commandの非同期受け取りと実行 \\
-\hline
-6 & {\tt sync} Command を受け取った場合の{\tt user\_insert,user\_detele}の生成 \\
-\hline
-7 & Merge 時のlock (optional) \\
-\hline
-7 & {\tt quit} Command \\
-\hline
-\end{tabular}
-\end{center}
-\label{tb:sync}
-\end{table}%
+Java PathFinder で検証するためのSocket/Thread 互換通信ライブラリを実装した
 
-
---Socket Simulator
-
-
---検証とデバッグ
+Java PathFinder で検証するために、状態の数を下げる変更を検討中
 
-
---比較
-
-
---最後に
-
+まだ、バグが残っているので...