# HG changeset patch # User Nobuyasu Oshiro # Date 1374110064 -32400 # Node ID 2132391fcb657b533eb93f54b867187be60fc120 # Parent f5028ec67c385417ad6a085fc7eae26ccb6e64a7 wrote TreeOperationLog diff -r f5028ec67c38 -r 2132391fcb65 Paper/jssst.tex --- a/Paper/jssst.tex Thu Jul 18 09:46:01 2013 +0900 +++ b/Paper/jssst.tex Thu Jul 18 10:14:24 2013 +0900 @@ -238,7 +238,23 @@ 削除する attribute は文字列のキーで指定する. \subsection{TreeOperationLog} -Jungle ではこれら API を使用してデータの編集を行なっていく. +上記の API を使用すると Editor 内部では OperationLog として順次つまれていき, 最終 +的に commit されることで編集が行われる. +複数の OperationLog の集まりを TreeOperationLog といい, これは編集の単位となる. +例えば, 後述する掲示板の実装では1つの書き込みに対して1つの Node を作成し, attribute を +もたせている. +その時のログは次のようになる. +\begin{verbatim} +[APPEND_CHILD:<-1>:pos:1] +[PUT_ATTRIBUTE:<-1,1>:key:author,value:oshiro] +[PUT_ATTRIBUTE:<-1,1>:key:mes,value:hello] +[PUT_ATTRIBUTE:<-1,1>:key:key,value:hoge] +[PUT_ATTRIBUTE:<-1,1>:key:timestamp,value:0] +\end{verbatim} +<>により囲まれている数値は NodePath を示す. +このログの塊が1つの TreeOperationLog となる. + +\subsection{Alice を用いた分散実装}