# HG changeset patch # User Nobuyasu Oshiro # Date 1374140013 -32400 # Node ID 9dcb40e74ab9a6109d599f27f6ee166ecd03e169 # Parent 04e41820d93042b5512754165f4cf27e346ec1a4 added some figres diff -r 04e41820d930 -r 9dcb40e74ab9 Paper/figures/alice_topology.xbb --- a/Paper/figures/alice_topology.xbb Thu Jul 18 17:33:39 2013 +0900 +++ b/Paper/figures/alice_topology.xbb Thu Jul 18 18:33:33 2013 +0900 @@ -4,5 +4,5 @@ %%HiResBoundingBox: 0.000000 0.000000 386.000000 218.000000 %%PDFVersion: 1.4 %%Pages: 1 -%%CreationDate: Thu Jul 18 14:26:34 2013 +%%CreationDate: Thu Jul 18 18:29:53 2013 diff -r 04e41820d930 -r 9dcb40e74ab9 Paper/figures/destructive_tree.xbb --- a/Paper/figures/destructive_tree.xbb Thu Jul 18 17:33:39 2013 +0900 +++ b/Paper/figures/destructive_tree.xbb Thu Jul 18 18:33:33 2013 +0900 @@ -4,5 +4,5 @@ %%HiResBoundingBox: 0.000000 0.000000 404.000000 207.000000 %%PDFVersion: 1.4 %%Pages: 1 -%%CreationDate: Thu Jul 18 14:26:34 2013 +%%CreationDate: Thu Jul 18 18:29:53 2013 diff -r 04e41820d930 -r 9dcb40e74ab9 Paper/figures/nodepath.xbb --- a/Paper/figures/nodepath.xbb Thu Jul 18 17:33:39 2013 +0900 +++ b/Paper/figures/nodepath.xbb Thu Jul 18 18:33:33 2013 +0900 @@ -4,5 +4,5 @@ %%HiResBoundingBox: 0.000000 0.000000 315.000000 310.000000 %%PDFVersion: 1.3 %%Pages: 1 -%%CreationDate: Thu Jul 18 14:26:34 2013 +%%CreationDate: Thu Jul 18 18:29:53 2013 diff -r 04e41820d930 -r 9dcb40e74ab9 Paper/figures/non_destructive_tree.xbb --- a/Paper/figures/non_destructive_tree.xbb Thu Jul 18 17:33:39 2013 +0900 +++ b/Paper/figures/non_destructive_tree.xbb Thu Jul 18 18:33:33 2013 +0900 @@ -4,5 +4,5 @@ %%HiResBoundingBox: 0.000000 0.000000 459.000000 207.000000 %%PDFVersion: 1.4 %%Pages: 1 -%%CreationDate: Thu Jul 18 14:26:34 2013 +%%CreationDate: Thu Jul 18 18:29:53 2013 diff -r 04e41820d930 -r 9dcb40e74ab9 Paper/figures/putLog.pdf Binary file Paper/figures/putLog.pdf has changed diff -r 04e41820d930 -r 9dcb40e74ab9 Paper/figures/putLog.xbb --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Paper/figures/putLog.xbb Thu Jul 18 18:33:33 2013 +0900 @@ -0,0 +1,8 @@ +%%Title: ./putLog.pdf +%%Creator: extractbb 20130405 +%%BoundingBox: 0 0 385 147 +%%HiResBoundingBox: 0.000000 0.000000 385.000000 147.000000 +%%PDFVersion: 1.4 +%%Pages: 1 +%%CreationDate: Thu Jul 18 18:29:53 2013 + diff -r 04e41820d930 -r 9dcb40e74ab9 Paper/graffle/putLog.graffle --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Paper/graffle/putLog.graffle Thu Jul 18 18:33:33 2013 +0900 @@ -0,0 +1,491 @@ + + + + + ActiveLayerIndex + 0 + ApplicationVersion + + com.omnigroup.OmniGraffle + 139.18.0.187838 + + AutoAdjust + + BackgroundGraphic + + Bounds + {{0, 0}, {558.99997329711914, 783}} + Class + SolidGraphic + ID + 2 + Style + + shadow + + Draws + NO + + stroke + + Draws + NO + + + + BaseZoom + 0 + CanvasOrigin + {0, 0} + ColumnAlign + 1 + ColumnSpacing + 36 + CreationDate + 2013-07-18 09:10:59 +0000 + Creator + Oshiro Nobuyasu + DisplayScale + 1 0/72 in = 1 0/72 in + GraphDocumentVersion + 8 + GraphicsList + + + Bounds + {{289.00000381469727, 150.5}, {168, 38}} + Class + ShapedGraphic + ID + 1 + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf370 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 LogUpdateCodeSegment} + + + + Class + LineGraphic + ID + 25 + Points + + {233.00000381469727, 172.5} + {285.00000381469727, 172.5} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + LineType + 1 + TailArrow + 0 + Width + 2 + + + + + Bounds + {{102.00000381469727, 226}, {36, 14}} + Class + ShapedGraphic + ID + 23 + Shape + Rectangle + Style + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf370 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs36 \cf0 put} + + + + Class + LineGraphic + Head + + ID + 18 + + ID + 22 + Points + + {130.36329139824284, 226} + {175.10328020274792, 195.77986771989319} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + LineType + 1 + TailArrow + 0 + Width + 2 + + + Tail + + ID + 23 + + + + Class + LineGraphic + ID + 21 + Points + + {119.32718502275097, 202} + {235.67282260664354, 202} + + Style + + stroke + + HeadArrow + 0 + Legacy + + LineType + 1 + TailArrow + 0 + + + + + Class + LineGraphic + ID + 20 + Points + + {119.32718502275097, 143} + {235.67282260664354, 143} + + Style + + stroke + + HeadArrow + 0 + Legacy + + LineType + 1 + TailArrow + 0 + + + + + Class + Group + Graphics + + + Bounds + {{167.00000381469727, 165.1280327360754}, {62, 30.371967263924684}} + Class + ShapedGraphic + ID + 18 + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf370 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 log} + + + + Bounds + {{167.00000381469727, 150.5}, {62, 14.628032736075321}} + Class + ShapedGraphic + ID + 19 + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf370 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 1} + + + + ID + 17 + + + Class + Group + Graphics + + + Bounds + {{125.00000381469727, 125.12328349074272}, {104, 16.876712328767123}} + Class + ShapedGraphic + ID + 10 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf370 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 "parent", "log"} + + + + Bounds + {{114.00000381469729, 120}, {126.99999999999994, 88.000000000000028}} + Class + ShapedGraphic + ID + 11 + Shape + Rectangle + Style + + stroke + + CornerRadius + 9 + + + + + ID + 9 + + + GridInfo + + GuidesLocked + NO + GuidesVisible + YES + HPages + 1 + ImageCounter + 1 + KeepToScale + + Layers + + + Lock + NO + Name + Layer 1 + Print + YES + View + YES + + + LayoutInfo + + Animate + NO + circoMinDist + 18 + circoSeparation + 0.0 + layoutEngine + dot + neatoSeparation + 0.0 + twopiSeparation + 0.0 + + LinksVisible + NO + MagnetsVisible + NO + MasterSheets + + ModificationDate + 2013-07-18 09:30:14 +0000 + Modifier + Oshiro Nobuyasu + NotesVisible + NO + Orientation + 2 + OriginVisible + NO + PageBreaks + YES + PrintInfo + + NSBottomMargin + + float + 41 + + NSHorizonalPagination + + coded + BAtzdHJlYW10eXBlZIHoA4QBQISEhAhOU051bWJlcgCEhAdOU1ZhbHVlAISECE5TT2JqZWN0AIWEASqEhAFxlwCG + + NSLeftMargin + + float + 18 + + NSPaperSize + + size + {594.99997329711914, 842} + + NSPrintReverseOrientation + + int + 0 + + NSRightMargin + + float + 18 + + NSTopMargin + + float + 18 + + + PrintOnePage + + ReadOnly + NO + RowAlign + 1 + RowSpacing + 36 + SheetTitle + Canvas 1 + SmartAlignmentGuidesActive + YES + SmartDistanceGuidesActive + YES + UniqueID + 1 + UseEntirePage + + VPages + 1 + WindowInfo + + CurrentSheet + 0 + ExpandedCanvases + + + name + Canvas 1 + + + Frame + {{154, 91}, {693, 922}} + ListView + + OutlineWidth + 142 + RightSidebar + + ShowRuler + + Sidebar + + SidebarWidth + 120 + VisibleRegion + {{0, 0}, {558, 783}} + Zoom + 1 + ZoomValues + + + Canvas 1 + 1 + 1 + + + + + diff -r 04e41820d930 -r 9dcb40e74ab9 Paper/jssst.tex --- a/Paper/jssst.tex Thu Jul 18 17:33:39 2013 +0900 +++ b/Paper/jssst.tex Thu Jul 18 18:33:33 2013 +0900 @@ -270,16 +270,19 @@ このクラスは TreeOperationLog を Value 型へと変換しフィールド変数で保持する. 実際に TreeOperationLog のシリアライズを行うソースを次に示す. -\begin{lstlisting}[label=operation_log, caption=TreeOperationLog のシリアライズ] +\begin{lstlisting}[label=unconvert, caption=TreeOperationLog のシリアライズ] public void unconvert(Iterable - _log) throws IOException { + _log) throws IOExceptio{ MessagePack msgpack = new MessagePack(); - List list = new LinkedList(); + List list + = new LinkedList(); for(TreeOperation op : _log) { - NodeOperation nOp = op.getNodeOperation(); - NodePath nodePath = op.getNodePath(); + NodeOperation nOp + = op.getNodeOperation(); + NodePath nPath + = op.getNodePath(); DefaultTreeOperation treeOp - = new DefaultTreeOperation(nodePath, nOp); + = new DefaultTreeOperation(nPath, nOp); DefaultTreeOperationContainer c = new DefaultTreeOperationContainer(); c.unconvert(treeOp); @@ -297,24 +300,35 @@ ノードの名前といった情報も保持するようにした. DefaultTreeOperationLogContainer により, TreeOperationLog を Data Segment へと put することができる. -\subsection{TreeOperationLog を扱う Data Segment} -Alice の各ノードは "log", "childLog" というキーで DefaultTreeOperationLogContiner を扱う(図\ref{fig:log}). +\subsection{ログを扱う Data Segment} +Alice の各ノードは "log", "childLog" というキーでログを扱う(図\ref{fig:topology}). + +\begin{figure}[htpb] + \begin{center} + \includegraphics[scale=0.50]{figures/alice_topology.pdf} + \caption{形成されるトポロジーと Data Segment} + \label{fig:topology} + \end{center} +\end{figure} "log" にはそのノードが行った木の編集のログが入る. 子供となるノードは親の "log" を待つ Code Segment を走らせており, ログが put されるとそのデータを受け取り 自身の変更へと適応を行う. +"parent" というキーを使うことで親ノードの Data Segment Manager にアクセスすることができる. + +\begin{figure}[htpb] + \begin{center} + \includegraphics[scale=0.50]{figures/putLog.pdf} + \caption{} + \label{fig:putlog} + \end{center} +\end{figure} + "childLog" には子供となるノードが行った編集のログが入れられる. Data Segment "childLog" にデータが入るの待っている Code Segment が常に走っており, 子供が行った木の編集は その Code Segment により親へと伝搬する. -\begin{figure}[htpb] - \begin{center} - \includegraphics[scale=0.50]{figures/alice_topology.pdf} - \caption{Data Segment による Log の記録} - \label{fig:log} - \end{center} -\end{figure} 親の "log" と, 子供により put される "childLog" にデータがいれられると, そのデータを元に データの編集を行う Code Segment が走りだす.