changeset 21:9dcb40e74ab9

added some figres
author Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
date Thu, 18 Jul 2013 18:33:33 +0900
parents 04e41820d930
children 4cc89b4cf3dd
files Paper/figures/alice_topology.xbb Paper/figures/destructive_tree.xbb Paper/figures/nodepath.xbb Paper/figures/non_destructive_tree.xbb Paper/figures/putLog.pdf Paper/figures/putLog.xbb Paper/graffle/putLog.graffle Paper/jssst.tex
diffstat 8 files changed, 532 insertions(+), 19 deletions(-) [+]
line wrap: on
line diff
--- 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
 
--- 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
 
--- 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
 
--- 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
 
Binary file Paper/figures/putLog.pdf has changed
--- /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
+
--- /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 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>ActiveLayerIndex</key>
+	<integer>0</integer>
+	<key>ApplicationVersion</key>
+	<array>
+		<string>com.omnigroup.OmniGraffle</string>
+		<string>139.18.0.187838</string>
+	</array>
+	<key>AutoAdjust</key>
+	<true/>
+	<key>BackgroundGraphic</key>
+	<dict>
+		<key>Bounds</key>
+		<string>{{0, 0}, {558.99997329711914, 783}}</string>
+		<key>Class</key>
+		<string>SolidGraphic</string>
+		<key>ID</key>
+		<integer>2</integer>
+		<key>Style</key>
+		<dict>
+			<key>shadow</key>
+			<dict>
+				<key>Draws</key>
+				<string>NO</string>
+			</dict>
+			<key>stroke</key>
+			<dict>
+				<key>Draws</key>
+				<string>NO</string>
+			</dict>
+		</dict>
+	</dict>
+	<key>BaseZoom</key>
+	<integer>0</integer>
+	<key>CanvasOrigin</key>
+	<string>{0, 0}</string>
+	<key>ColumnAlign</key>
+	<integer>1</integer>
+	<key>ColumnSpacing</key>
+	<real>36</real>
+	<key>CreationDate</key>
+	<string>2013-07-18 09:10:59 +0000</string>
+	<key>Creator</key>
+	<string>Oshiro Nobuyasu</string>
+	<key>DisplayScale</key>
+	<string>1 0/72 in = 1 0/72 in</string>
+	<key>GraphDocumentVersion</key>
+	<integer>8</integer>
+	<key>GraphicsList</key>
+	<array>
+		<dict>
+			<key>Bounds</key>
+			<string>{{289.00000381469727, 150.5}, {168, 38}}</string>
+			<key>Class</key>
+			<string>ShapedGraphic</string>
+			<key>ID</key>
+			<integer>1</integer>
+			<key>Shape</key>
+			<string>Rectangle</string>
+			<key>Text</key>
+			<dict>
+				<key>Text</key>
+				<string>{\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}</string>
+			</dict>
+		</dict>
+		<dict>
+			<key>Class</key>
+			<string>LineGraphic</string>
+			<key>ID</key>
+			<integer>25</integer>
+			<key>Points</key>
+			<array>
+				<string>{233.00000381469727, 172.5}</string>
+				<string>{285.00000381469727, 172.5}</string>
+			</array>
+			<key>Style</key>
+			<dict>
+				<key>stroke</key>
+				<dict>
+					<key>HeadArrow</key>
+					<string>FilledArrow</string>
+					<key>Legacy</key>
+					<true/>
+					<key>LineType</key>
+					<integer>1</integer>
+					<key>TailArrow</key>
+					<string>0</string>
+					<key>Width</key>
+					<real>2</real>
+				</dict>
+			</dict>
+		</dict>
+		<dict>
+			<key>Bounds</key>
+			<string>{{102.00000381469727, 226}, {36, 14}}</string>
+			<key>Class</key>
+			<string>ShapedGraphic</string>
+			<key>ID</key>
+			<integer>23</integer>
+			<key>Shape</key>
+			<string>Rectangle</string>
+			<key>Style</key>
+			<dict>
+				<key>shadow</key>
+				<dict>
+					<key>Draws</key>
+					<string>NO</string>
+				</dict>
+				<key>stroke</key>
+				<dict>
+					<key>Draws</key>
+					<string>NO</string>
+				</dict>
+			</dict>
+			<key>Text</key>
+			<dict>
+				<key>Text</key>
+				<string>{\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}</string>
+			</dict>
+		</dict>
+		<dict>
+			<key>Class</key>
+			<string>LineGraphic</string>
+			<key>Head</key>
+			<dict>
+				<key>ID</key>
+				<integer>18</integer>
+			</dict>
+			<key>ID</key>
+			<integer>22</integer>
+			<key>Points</key>
+			<array>
+				<string>{130.36329139824284, 226}</string>
+				<string>{175.10328020274792, 195.77986771989319}</string>
+			</array>
+			<key>Style</key>
+			<dict>
+				<key>stroke</key>
+				<dict>
+					<key>HeadArrow</key>
+					<string>FilledArrow</string>
+					<key>Legacy</key>
+					<true/>
+					<key>LineType</key>
+					<integer>1</integer>
+					<key>TailArrow</key>
+					<string>0</string>
+					<key>Width</key>
+					<real>2</real>
+				</dict>
+			</dict>
+			<key>Tail</key>
+			<dict>
+				<key>ID</key>
+				<integer>23</integer>
+			</dict>
+		</dict>
+		<dict>
+			<key>Class</key>
+			<string>LineGraphic</string>
+			<key>ID</key>
+			<integer>21</integer>
+			<key>Points</key>
+			<array>
+				<string>{119.32718502275097, 202}</string>
+				<string>{235.67282260664354, 202}</string>
+			</array>
+			<key>Style</key>
+			<dict>
+				<key>stroke</key>
+				<dict>
+					<key>HeadArrow</key>
+					<string>0</string>
+					<key>Legacy</key>
+					<true/>
+					<key>LineType</key>
+					<integer>1</integer>
+					<key>TailArrow</key>
+					<string>0</string>
+				</dict>
+			</dict>
+		</dict>
+		<dict>
+			<key>Class</key>
+			<string>LineGraphic</string>
+			<key>ID</key>
+			<integer>20</integer>
+			<key>Points</key>
+			<array>
+				<string>{119.32718502275097, 143}</string>
+				<string>{235.67282260664354, 143}</string>
+			</array>
+			<key>Style</key>
+			<dict>
+				<key>stroke</key>
+				<dict>
+					<key>HeadArrow</key>
+					<string>0</string>
+					<key>Legacy</key>
+					<true/>
+					<key>LineType</key>
+					<integer>1</integer>
+					<key>TailArrow</key>
+					<string>0</string>
+				</dict>
+			</dict>
+		</dict>
+		<dict>
+			<key>Class</key>
+			<string>Group</string>
+			<key>Graphics</key>
+			<array>
+				<dict>
+					<key>Bounds</key>
+					<string>{{167.00000381469727, 165.1280327360754}, {62, 30.371967263924684}}</string>
+					<key>Class</key>
+					<string>ShapedGraphic</string>
+					<key>ID</key>
+					<integer>18</integer>
+					<key>Shape</key>
+					<string>Rectangle</string>
+					<key>Text</key>
+					<dict>
+						<key>Text</key>
+						<string>{\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}</string>
+					</dict>
+				</dict>
+				<dict>
+					<key>Bounds</key>
+					<string>{{167.00000381469727, 150.5}, {62, 14.628032736075321}}</string>
+					<key>Class</key>
+					<string>ShapedGraphic</string>
+					<key>ID</key>
+					<integer>19</integer>
+					<key>Shape</key>
+					<string>Rectangle</string>
+					<key>Text</key>
+					<dict>
+						<key>Text</key>
+						<string>{\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}</string>
+					</dict>
+				</dict>
+			</array>
+			<key>ID</key>
+			<integer>17</integer>
+		</dict>
+		<dict>
+			<key>Class</key>
+			<string>Group</string>
+			<key>Graphics</key>
+			<array>
+				<dict>
+					<key>Bounds</key>
+					<string>{{125.00000381469727, 125.12328349074272}, {104, 16.876712328767123}}</string>
+					<key>Class</key>
+					<string>ShapedGraphic</string>
+					<key>ID</key>
+					<integer>10</integer>
+					<key>Shape</key>
+					<string>Rectangle</string>
+					<key>Style</key>
+					<dict>
+						<key>fill</key>
+						<dict>
+							<key>Draws</key>
+							<string>NO</string>
+						</dict>
+						<key>shadow</key>
+						<dict>
+							<key>Draws</key>
+							<string>NO</string>
+						</dict>
+						<key>stroke</key>
+						<dict>
+							<key>Draws</key>
+							<string>NO</string>
+						</dict>
+					</dict>
+					<key>Text</key>
+					<dict>
+						<key>Text</key>
+						<string>{\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"}</string>
+					</dict>
+				</dict>
+				<dict>
+					<key>Bounds</key>
+					<string>{{114.00000381469729, 120}, {126.99999999999994, 88.000000000000028}}</string>
+					<key>Class</key>
+					<string>ShapedGraphic</string>
+					<key>ID</key>
+					<integer>11</integer>
+					<key>Shape</key>
+					<string>Rectangle</string>
+					<key>Style</key>
+					<dict>
+						<key>stroke</key>
+						<dict>
+							<key>CornerRadius</key>
+							<real>9</real>
+						</dict>
+					</dict>
+				</dict>
+			</array>
+			<key>ID</key>
+			<integer>9</integer>
+		</dict>
+	</array>
+	<key>GridInfo</key>
+	<dict/>
+	<key>GuidesLocked</key>
+	<string>NO</string>
+	<key>GuidesVisible</key>
+	<string>YES</string>
+	<key>HPages</key>
+	<integer>1</integer>
+	<key>ImageCounter</key>
+	<integer>1</integer>
+	<key>KeepToScale</key>
+	<false/>
+	<key>Layers</key>
+	<array>
+		<dict>
+			<key>Lock</key>
+			<string>NO</string>
+			<key>Name</key>
+			<string>Layer 1</string>
+			<key>Print</key>
+			<string>YES</string>
+			<key>View</key>
+			<string>YES</string>
+		</dict>
+	</array>
+	<key>LayoutInfo</key>
+	<dict>
+		<key>Animate</key>
+		<string>NO</string>
+		<key>circoMinDist</key>
+		<real>18</real>
+		<key>circoSeparation</key>
+		<real>0.0</real>
+		<key>layoutEngine</key>
+		<string>dot</string>
+		<key>neatoSeparation</key>
+		<real>0.0</real>
+		<key>twopiSeparation</key>
+		<real>0.0</real>
+	</dict>
+	<key>LinksVisible</key>
+	<string>NO</string>
+	<key>MagnetsVisible</key>
+	<string>NO</string>
+	<key>MasterSheets</key>
+	<array/>
+	<key>ModificationDate</key>
+	<string>2013-07-18 09:30:14 +0000</string>
+	<key>Modifier</key>
+	<string>Oshiro Nobuyasu</string>
+	<key>NotesVisible</key>
+	<string>NO</string>
+	<key>Orientation</key>
+	<integer>2</integer>
+	<key>OriginVisible</key>
+	<string>NO</string>
+	<key>PageBreaks</key>
+	<string>YES</string>
+	<key>PrintInfo</key>
+	<dict>
+		<key>NSBottomMargin</key>
+		<array>
+			<string>float</string>
+			<string>41</string>
+		</array>
+		<key>NSHorizonalPagination</key>
+		<array>
+			<string>coded</string>
+			<string>BAtzdHJlYW10eXBlZIHoA4QBQISEhAhOU051bWJlcgCEhAdOU1ZhbHVlAISECE5TT2JqZWN0AIWEASqEhAFxlwCG</string>
+		</array>
+		<key>NSLeftMargin</key>
+		<array>
+			<string>float</string>
+			<string>18</string>
+		</array>
+		<key>NSPaperSize</key>
+		<array>
+			<string>size</string>
+			<string>{594.99997329711914, 842}</string>
+		</array>
+		<key>NSPrintReverseOrientation</key>
+		<array>
+			<string>int</string>
+			<string>0</string>
+		</array>
+		<key>NSRightMargin</key>
+		<array>
+			<string>float</string>
+			<string>18</string>
+		</array>
+		<key>NSTopMargin</key>
+		<array>
+			<string>float</string>
+			<string>18</string>
+		</array>
+	</dict>
+	<key>PrintOnePage</key>
+	<false/>
+	<key>ReadOnly</key>
+	<string>NO</string>
+	<key>RowAlign</key>
+	<integer>1</integer>
+	<key>RowSpacing</key>
+	<real>36</real>
+	<key>SheetTitle</key>
+	<string>Canvas 1</string>
+	<key>SmartAlignmentGuidesActive</key>
+	<string>YES</string>
+	<key>SmartDistanceGuidesActive</key>
+	<string>YES</string>
+	<key>UniqueID</key>
+	<integer>1</integer>
+	<key>UseEntirePage</key>
+	<false/>
+	<key>VPages</key>
+	<integer>1</integer>
+	<key>WindowInfo</key>
+	<dict>
+		<key>CurrentSheet</key>
+		<integer>0</integer>
+		<key>ExpandedCanvases</key>
+		<array>
+			<dict>
+				<key>name</key>
+				<string>Canvas 1</string>
+			</dict>
+		</array>
+		<key>Frame</key>
+		<string>{{154, 91}, {693, 922}}</string>
+		<key>ListView</key>
+		<true/>
+		<key>OutlineWidth</key>
+		<integer>142</integer>
+		<key>RightSidebar</key>
+		<false/>
+		<key>ShowRuler</key>
+		<true/>
+		<key>Sidebar</key>
+		<true/>
+		<key>SidebarWidth</key>
+		<integer>120</integer>
+		<key>VisibleRegion</key>
+		<string>{{0, 0}, {558, 783}}</string>
+		<key>Zoom</key>
+		<real>1</real>
+		<key>ZoomValues</key>
+		<array>
+			<array>
+				<string>Canvas 1</string>
+				<real>1</real>
+				<real>1</real>
+			</array>
+		</array>
+	</dict>
+</dict>
+</plist>
--- 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
-  <TreeOperation> _log) throws IOException {
+  <TreeOperation> _log) throws IOExceptio{
  MessagePack msgpack = new MessagePack();
- List<Value> list = new LinkedList<Value>();
+ List<Value> list 
+  = new LinkedList<Value>();
  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 が走りだす.