Mercurial > hg > Papers > 2018 > nozomi-master
changeset 150:6e9c42922c8d
add chapter3
author | Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp> |
---|---|
date | Sat, 27 Jan 2018 23:47:41 +0900 |
parents | d57aa814a69a |
children | 3c425e8911cf |
files | ChristieClass.graffle paper/nozomi-master.pdf paper/nozomi-master.tex |
diffstat | 3 files changed, 324 insertions(+), 353 deletions(-) [+] |
line wrap: on
line diff
--- a/ChristieClass.graffle Sat Jan 27 19:16:38 2018 +0900 +++ b/ChristieClass.graffle Sat Jan 27 23:47:41 2018 +0900 @@ -26,7 +26,7 @@ <key>MasterSheets</key> <array/> <key>ModificationDate</key> - <string>2018-01-27 10:12:29 +0000</string> + <string>2018-01-27 13:20:08 +0000</string> <key>Modifier</key> <string>Nozomi Teruya</string> <key>NotesVisible</key> @@ -1227,8 +1227,8 @@ <integer>90</integer> <key>Points</key> <array> - <string>{291.25002216280194, 142.03051490088521}</string> - <string>{247.49999311143267, 141.61871868362599}</string> + <string>{291.25001321257429, 142.17356659382125}</string> + <string>{247.49998678792383, 141.85535768237662}</string> </array> <key>Style</key> <dict> @@ -1310,8 +1310,8 @@ <integer>88</integer> <key>Points</key> <array> - <string>{394.25000919399019, 176.5}</string> - <string>{394.25000919399019, 270.5}</string> + <string>{404.86796214506819, 190.49999993384441}</string> + <string>{404.82500695589715, 279.00001111248685}</string> </array> <key>Style</key> <dict> @@ -1340,7 +1340,7 @@ <array> <dict> <key>Bounds</key> - <string>{{291.75, 136}, {205, 14}}</string> + <string>{{291.75, 136}, {226.25, 14}}</string> <key>Class</key> <string>ShapedGraphic</string> <key>FitText</key> @@ -1376,7 +1376,7 @@ </dict> <dict> <key>Bounds</key> - <string>{{291.75, 150}, {205, 12}}</string> + <string>{{291.75, 150}, {226.25, 12}}</string> <key>Class</key> <string>ShapedGraphic</string> <key>FitText</key> @@ -1407,7 +1407,7 @@ </dict> <dict> <key>Bounds</key> - <string>{{291.75, 162}, {205, 14}}</string> + <string>{{291.75, 162}, {226.25, 28}}</string> <key>Class</key> <string>ShapedGraphic</string> <key>FitText</key> @@ -1436,7 +1436,7 @@ {\colortbl;\red255\green255\blue255;} \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural -\f0\fs24 \cf0 public void run();}</string> +\f0\fs24 \cf0 public void run(CodeGearManager cgm);}</string> <key>VerticalPad</key> <integer>0</integer> </dict> @@ -1600,8 +1600,8 @@ <integer>79</integer> <key>Points</key> <array> - <string>{394.25000286906311, 311.5}</string> - <string>{394.25000286906311, 338.5}</string> + <string>{404.10901776419723, 319.99741076995082}</string> + <string>{402.03960598191975, 340.25275020044165}</string> </array> <key>Style</key> <dict> @@ -1630,7 +1630,7 @@ <array> <dict> <key>Bounds</key> - <string>{{324.25, 271}, {140, 14}}</string> + <string>{{334.875, 279.5}, {140, 14}}</string> <key>Class</key> <string>ShapedGraphic</string> <key>FitText</key> @@ -1666,7 +1666,7 @@ </dict> <dict> <key>Bounds</key> - <string>{{324.25, 285}, {140, 12}}</string> + <string>{{334.875, 293.5}, {140, 12}}</string> <key>Class</key> <string>ShapedGraphic</string> <key>FitText</key> @@ -1697,7 +1697,7 @@ </dict> <dict> <key>Bounds</key> - <string>{{324.25, 297}, {140, 14}}</string> + <string>{{334.875, 305.5}, {140, 14}}</string> <key>Class</key> <string>ShapedGraphic</string> <key>FitText</key> @@ -1803,7 +1803,7 @@ <key>Points</key> <array> <string>{394.24999646454881, 559.5}</string> - <string>{394.24999646454881, 598.5}</string> + <string>{394.24999646454881, 599.5}</string> </array> <key>Style</key> <dict> @@ -1883,8 +1883,8 @@ <integer>9</integer> <key>Points</key> <array> - <string>{394.24999661260711, 423.5}</string> - <string>{394.24999661260711, 520.5}</string> + <string>{400.38439778417131, 425.24911134367545}</string> + <string>{394.69783203446519, 520.50088919314396}</string> </array> <key>Style</key> <dict> @@ -1918,8 +1918,8 @@ <integer>71</integer> <key>Points</key> <array> - <string>{323.75128185370824, 283.05787840962086}</string> - <string>{247.49871097860932, 288.52856272911339}</string> + <string>{334.37534712224652, 289.1283179823327}</string> + <string>{247.49961346096504, 292.36715737642493}</string> </array> <key>Style</key> <dict> @@ -2014,7 +2014,7 @@ {\colortbl;\red255\green255\blue255;} \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc -\f0\b\fs24 \cf0 <interface>\ +\f0\b\fs24 \cf0 <abstract>\ DataSegmentManager}</string> <key>VerticalPad</key> <integer>0</integer> @@ -2236,7 +2236,7 @@ <array> <dict> <key>Bounds</key> - <string>{{236.5, 339}, {315.5, 14}}</string> + <string>{{243.5, 340.75}, {315.5, 14}}</string> <key>Class</key> <string>ShapedGraphic</string> <key>FitText</key> @@ -2272,7 +2272,7 @@ </dict> <dict> <key>Bounds</key> - <string>{{236.5, 353}, {315.5, 42}}</string> + <string>{{243.5, 354.75}, {315.5, 42}}</string> <key>Class</key> <string>ShapedGraphic</string> <key>FitText</key> @@ -2311,7 +2311,7 @@ </dict> <dict> <key>Bounds</key> - <string>{{236.5, 395}, {315.5, 28}}</string> + <string>{{243.5, 396.75}, {315.5, 28}}</string> <key>Class</key> <string>ShapedGraphic</string> <key>FitText</key> @@ -2501,7 +2501,7 @@ <array> <dict> <key>Bounds</key> - <string>{{302.75, 599}, {183, 14}}</string> + <string>{{302.75, 600}, {183, 14}}</string> <key>Class</key> <string>ShapedGraphic</string> <key>FitText</key> @@ -2537,7 +2537,7 @@ </dict> <dict> <key>Bounds</key> - <string>{{302.75, 613}, {183, 28}}</string> + <string>{{302.75, 614}, {183, 28}}</string> <key>Class</key> <string>ShapedGraphic</string> <key>FitText</key> @@ -2576,7 +2576,7 @@ </dict> <dict> <key>Bounds</key> - <string>{{302.75, 641}, {183, 70}}</string> + <string>{{302.75, 642}, {183, 70}}</string> <key>Class</key> <string>ShapedGraphic</string> <key>FitText</key> @@ -2717,8 +2717,250 @@ <key>GraphicsList</key> <array> <dict> + <key>Class</key> + <string>LineGraphic</string> + <key>Head</key> + <dict> + <key>ID</key> + <integer>40</integer> + </dict> + <key>ID</key> + <integer>42</integer> + <key>Points</key> + <array> + <string>{190.99204826201537, 437.21156105812548}</string> + <string>{349.94713712278894, 465.90381536512433}</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> + </dict> + </dict> + <key>Tail</key> + <dict> + <key>ID</key> + <integer>35</integer> + </dict> + </dict> + <dict> + <key>Class</key> + <string>LineGraphic</string> + <key>Head</key> + <dict> + <key>ID</key> + <integer>37</integer> + </dict> + <key>ID</key> + <integer>41</integer> + <key>Points</key> + <array> + <string>{373.00908814438878, 295.79378221744162}</string> + <string>{221.58071347308666, 325.06618178215422}</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> + </dict> + </dict> + <key>Tail</key> + <dict> + <key>ID</key> + <integer>16</integer> + </dict> + </dict> + <dict> <key>Bounds</key> - <string>{{266.5, 512.25}, {34, 14}}</string> + <string>{{349.5, 461}, {146, 36}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>ID</key> + <integer>40</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>stroke</key> + <dict> + <key>CornerRadius</key> + <real>9</real> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg1252\cocoartf1348\cocoasubrtf170 +\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 get(data);\ +get(remoteNodeName);}</string> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{332.5, 500.5}, {175, 44.5}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>ID</key> + <integer>39</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>stroke</key> + <dict> + <key>CornerRadius</key> + <real>9</real> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg1252\cocoartf1348\cocoasubrtf170 +\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 print("from " + remoteNodoName + \ +" : " + data);}</string> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{373.5, 551}, {90, 36}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>ID</key> + <integer>38</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>stroke</key> + <dict> + <key>CornerRadius</key> + <real>9</real> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg1252\cocoartf1348\cocoasubrtf170 +\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 data++;}</string> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{76.5, 321}, {146, 36}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>ID</key> + <integer>37</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>stroke</key> + <dict> + <key>CornerRadius</key> + <real>9</real> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg1252\cocoartf1348\cocoasubrtf170 +\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 get(data);\ +get(remoteNodeName);}</string> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{59.5, 360.5}, {175, 44.5}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>ID</key> + <integer>36</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>stroke</key> + <dict> + <key>CornerRadius</key> + <real>9</real> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg1252\cocoartf1348\cocoasubrtf170 +\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 print("from " + remoteNodoName + \ +" : " + data);}</string> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{100.5, 411}, {90, 36}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>ID</key> + <integer>35</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>stroke</key> + <dict> + <key>CornerRadius</key> + <real>9</real> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg1252\cocoartf1348\cocoasubrtf170 +\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 data++;}</string> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{262.5, 422}, {34, 14}}</string> <key>Class</key> <string>ShapedGraphic</string> <key>FitText</key> @@ -2765,127 +3007,8 @@ <string>NO</string> </dict> <dict> - <key>Class</key> - <string>LineGraphic</string> - <key>Head</key> - <dict> - <key>ID</key> - <integer>32</integer> - </dict> - <key>ID</key> - <integer>33</integer> - <key>Points</key> - <array> - <string>{192.4946833735026, 521.18796615835527}</string> - <string>{377.0053166264974, 548.31203384164473}</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> - </dict> - </dict> - <key>Tail</key> - <dict> - <key>ID</key> - <integer>22</integer> - </dict> - </dict> - <dict> <key>Bounds</key> - <string>{{377.5, 537}, {90, 36}}</string> - <key>Class</key> - <string>ShapedGraphic</string> - <key>ID</key> - <integer>32</integer> - <key>Shape</key> - <string>Rectangle</string> - <key>Style</key> - <dict> - <key>stroke</key> - <dict> - <key>CornerRadius</key> - <real>9</real> - </dict> - </dict> - <key>Text</key> - <dict> - <key>Text</key> - <string>{\rtf1\ansi\ansicpg1252\cocoartf1348\cocoasubrtf170 -\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 get(data);}</string> - </dict> - </dict> - <dict> - <key>Bounds</key> - <string>{{335, 576}, {175, 36}}</string> - <key>Class</key> - <string>ShapedGraphic</string> - <key>ID</key> - <integer>31</integer> - <key>Shape</key> - <string>Rectangle</string> - <key>Style</key> - <dict> - <key>stroke</key> - <dict> - <key>CornerRadius</key> - <real>9</real> - </dict> - </dict> - <key>Text</key> - <dict> - <key>Text</key> - <string>{\rtf1\ansi\ansicpg1252\cocoartf1348\cocoasubrtf170 -\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 print(nodoName + " : " + data);}</string> - </dict> - </dict> - <dict> - <key>Bounds</key> - <string>{{377.5, 615.5}, {90, 36}}</string> - <key>Class</key> - <string>ShapedGraphic</string> - <key>ID</key> - <integer>30</integer> - <key>Shape</key> - <string>Rectangle</string> - <key>Style</key> - <dict> - <key>stroke</key> - <dict> - <key>CornerRadius</key> - <real>9</real> - </dict> - </dict> - <key>Text</key> - <dict> - <key>Text</key> - <string>{\rtf1\ansi\ansicpg1252\cocoartf1348\cocoasubrtf170 -\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 data++;}</string> - </dict> - </dict> - <dict> - <key>Bounds</key> - <string>{{216, 697}, {111, 18}}</string> + <string>{{224, 634}, {111, 18}}</string> <key>Class</key> <string>ShapedGraphic</string> <key>FitText</key> @@ -2934,7 +3057,7 @@ </dict> <dict> <key>Bounds</key> - <string>{{266.5, 384.5}, {34, 14}}</string> + <string>{{266.5, 287}, {34, 14}}</string> <key>Class</key> <string>ShapedGraphic</string> <key>FitText</key> @@ -2982,7 +3105,7 @@ </dict> <dict> <key>Bounds</key> - <string>{{262.5, 256.75}, {34, 14}}</string> + <string>{{262.5, 165}, {34, 14}}</string> <key>Class</key> <string>ShapedGraphic</string> <key>FitText</key> @@ -3034,49 +3157,14 @@ <key>Head</key> <dict> <key>ID</key> - <integer>24</integer> - </dict> - <key>ID</key> - <integer>26</integer> - <key>Points</key> - <array> - <string>{374.51121679783228, 389.74771966197915}</string> - <string>{192.48878320216778, 426.7522803380208}</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> - </dict> - </dict> - <key>Tail</key> - <dict> - <key>ID</key> - <integer>16</integer> - </dict> - </dict> - <dict> - <key>Class</key> - <string>LineGraphic</string> - <key>Head</key> - <dict> - <key>ID</key> <integer>21</integer> </dict> <key>ID</key> <integer>25</integer> <key>Points</key> <array> - <string>{190.99214157881519, 260.91206911796149}</string> - <string>{374.50785842118478, 293.83793088475926}</string> + <string>{194.99791540417229, 176.16768159863761}</string> + <string>{349.00208017453059, 190.27470865526877}</string> </array> <key>Style</key> <dict> @@ -3095,96 +3183,12 @@ <key>Tail</key> <dict> <key>ID</key> - <integer>8</integer> - </dict> - </dict> - <dict> - <key>Bounds</key> - <string>{{102, 418}, {90, 36}}</string> - <key>Class</key> - <string>ShapedGraphic</string> - <key>ID</key> - <integer>24</integer> - <key>Shape</key> - <string>Rectangle</string> - <key>Style</key> - <dict> - <key>stroke</key> - <dict> - <key>CornerRadius</key> - <real>9</real> - </dict> - </dict> - <key>Text</key> - <dict> - <key>Text</key> - <string>{\rtf1\ansi\ansicpg1252\cocoartf1348\cocoasubrtf170 -\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 get(data);}</string> + <integer>7</integer> </dict> </dict> <dict> <key>Bounds</key> - <string>{{59.5, 457}, {175, 36}}</string> - <key>Class</key> - <string>ShapedGraphic</string> - <key>ID</key> - <integer>23</integer> - <key>Shape</key> - <string>Rectangle</string> - <key>Style</key> - <dict> - <key>stroke</key> - <dict> - <key>CornerRadius</key> - <real>9</real> - </dict> - </dict> - <key>Text</key> - <dict> - <key>Text</key> - <string>{\rtf1\ansi\ansicpg1252\cocoartf1348\cocoasubrtf170 -\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 print(nodoName + " : " + data);}</string> - </dict> - </dict> - <dict> - <key>Bounds</key> - <string>{{102, 496.5}, {90, 36}}</string> - <key>Class</key> - <string>ShapedGraphic</string> - <key>ID</key> - <integer>22</integer> - <key>Shape</key> - <string>Rectangle</string> - <key>Style</key> - <dict> - <key>stroke</key> - <dict> - <key>CornerRadius</key> - <real>9</real> - </dict> - </dict> - <key>Text</key> - <dict> - <key>Text</key> - <string>{\rtf1\ansi\ansicpg1252\cocoartf1348\cocoasubrtf170 -\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 data++;}</string> - </dict> - </dict> - <dict> - <key>Bounds</key> - <string>{{375, 284}, {90, 36}}</string> + <string>{{349.5, 179}, {146, 36}}</string> <key>Class</key> <string>ShapedGraphic</string> <key>ID</key> @@ -3207,12 +3211,13 @@ {\colortbl;\red255\green255\blue255;} \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc -\f0\fs24 \cf0 get(data);}</string> +\f0\fs24 \cf0 get(data);\ +get(remoteNodeName);}</string> </dict> </dict> <dict> <key>Bounds</key> - <string>{{332.5, 323}, {175, 36}}</string> + <string>{{332.5, 218.5}, {175, 44.5}}</string> <key>Class</key> <string>ShapedGraphic</string> <key>ID</key> @@ -3235,12 +3240,13 @@ {\colortbl;\red255\green255\blue255;} \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc -\f0\fs24 \cf0 print(nodoName + " : " + data);}</string> +\f0\fs24 \cf0 print("from " + remoteNodoName + \ +" : " + data);}</string> </dict> </dict> <dict> <key>Bounds</key> - <string>{{375, 362.5}, {90, 36}}</string> + <string>{{373.5, 269}, {90, 36}}</string> <key>Class</key> <string>ShapedGraphic</string> <key>ID</key> @@ -3316,7 +3322,7 @@ </dict> <dict> <key>Bounds</key> - <string>{{325, 143}, {190, 529}}</string> + <string>{{325, 143}, {190, 457.5}}</string> <key>Class</key> <string>ShapedGraphic</string> <key>ID</key> @@ -3326,63 +3332,7 @@ </dict> <dict> <key>Bounds</key> - <string>{{58, 194.375}, {175, 36}}</string> - <key>Class</key> - <string>ShapedGraphic</string> - <key>ID</key> - <integer>9</integer> - <key>Shape</key> - <string>Rectangle</string> - <key>Style</key> - <dict> - <key>stroke</key> - <dict> - <key>CornerRadius</key> - <real>9</real> - </dict> - </dict> - <key>Text</key> - <dict> - <key>Text</key> - <string>{\rtf1\ansi\ansicpg1252\cocoartf1348\cocoasubrtf170 -\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 print(nodoName + " : " + data);}</string> - </dict> - </dict> - <dict> - <key>Bounds</key> - <string>{{100.5, 234.75}, {90, 36}}</string> - <key>Class</key> - <string>ShapedGraphic</string> - <key>ID</key> - <integer>8</integer> - <key>Shape</key> - <string>Rectangle</string> - <key>Style</key> - <dict> - <key>stroke</key> - <dict> - <key>CornerRadius</key> - <real>9</real> - </dict> - </dict> - <key>Text</key> - <dict> - <key>Text</key> - <string>{\rtf1\ansi\ansicpg1252\cocoartf1348\cocoasubrtf170 -\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 data++;}</string> - </dict> - </dict> - <dict> - <key>Bounds</key> - <string>{{100.5, 154}, {90, 36}}</string> + <string>{{104.5, 154}, {90, 36}}</string> <key>Class</key> <string>ShapedGraphic</string> <key>ID</key> @@ -3458,7 +3408,7 @@ </dict> <dict> <key>Bounds</key> - <string>{{52, 143}, {190, 529}}</string> + <string>{{52, 143}, {190, 449.5}}</string> <key>Class</key> <string>ShapedGraphic</string> <key>ID</key> @@ -3526,7 +3476,7 @@ <key>WindowInfo</key> <dict> <key>CurrentSheet</key> - <integer>2</integer> + <integer>1</integer> <key>ExpandedCanvases</key> <array> <dict> @@ -3535,7 +3485,7 @@ </dict> </array> <key>Frame</key> - <string>{{152, 4}, {693, 773}}</string> + <string>{{152, 4}, {807, 773}}</string> <key>ListView</key> <true/> <key>OutlineWidth</key> @@ -3549,7 +3499,7 @@ <key>SidebarWidth</key> <integer>120</integer> <key>VisibleRegion</key> - <string>{{0, 54.5}, {558, 619}}</string> + <string>{{-57, 15}, {672, 619}}</string> <key>Zoom</key> <real>1</real> <key>ZoomValues</key>
--- a/paper/nozomi-master.tex Sat Jan 27 19:16:38 2018 +0900 +++ b/paper/nozomi-master.tex Sat Jan 27 23:47:41 2018 +0900 @@ -154,9 +154,7 @@ \section{Data Segment API} DSの保存・取得にはAliceが提供するAPIを用いる。 - putとupdate、flipはOutput DS APIと呼ばれ、DSをDSMに保存する際に用いる。 - peekとtakeはInput DS APIと呼ばれ、DSをDSMから取得する際に使用する。 \begin{itemize} @@ -279,9 +277,8 @@ %API \subsection{TopologyManager} -Aliceでは、ノード間の接続管理やトポロジーの構成管理を、Topology ManagerというMeta Computationが提供している。 -プログラマはトポロジーファイルを用意し、Topology Managerに読み込ませるだけでトポロジーを構成すること -ができる。 +Aliceでは、ノード間の接続管理やトポロジーの構成管理を、Topology ManagerとTopology NodeというMeta Computationが提供している。 +プログラマはトポロジーファイルを用意し、Topology Managerに読み込ませるだけでトポロジーを構成することができる。 トポロジーファイルはDOT Language\cite{dot}という言語で記述される。 DOT Languageとは、プレーンテキストを用いてデータ構造としてのグラフを表現するためのデータ記述言語の一 つである。 @@ -290,11 +287,10 @@ \lstinputlisting[label=src:topologyfile, caption=トポロジーファイルの例]{source/TopologyFile.dot} DOT Languageファイルはdotコマンドを用いてグラフの画像ファイルを生成することができる。そのため、記述したトポロジーが正しいか可視化することが可能である。 -\newpage - Topology Managerはトポロジーファイルを読み込み、参加を表明したクライアント(以下、Topology Node)に接続するべきクライアントのIPアドレスやポート番号、接続名を送る(図\ref{fig:topologymanager})。 また、トポロジーファイルでlavelとして指定した名前はRemote DSMの名前としてTopology Nodeに渡される。 そのため、Topology NodeはTopology ManagerのIPアドレスさえ知っていれば自分の接続すべきノードのデータを受け取り、ノード間での正しい接続を実現できる。 + \begin{figure}[h] \begin{center} \includegraphics{images/topologymanager.pdf} @@ -309,7 +305,7 @@ され接続処理が順次行われる。 そしてTopology Managerが持つトポロジー情報が更新される。 現在Topology Managerでは動的なトポロジータイプとして二分木に対応している。 - +%TopologyNodeとnodenameの説明もう少し \chapter{Aliceの問題点} \section{直感的でないAPI} @@ -331,7 +327,7 @@ 現在のAliceではsetKeyが柔軟に使えるがために、慎重に書かなければプログラムの信頼性が保てない。 そのため、動的なsetKeyはできないように制限したほうが良いと考える。 -\section{型がわからない} +\section{型が推測できない} inputDSを受け取るReceiverはデータをObject型で持っており、そのデータをCS内で扱うには正しい型にキャストする必要がある。 しかし、inputDSで指定するのはkeyのみであり、そのデータの型までは分からない。 そのため、DSの型を知るにはputしている部分まで辿る必要がある。 @@ -344,9 +340,33 @@ 2.4のCodeSegmentの例題である通り、key名とそのkeyで待ち合わせたDSを受け取るReceiver名は異なることがある。 もしプログラマが適当に命名してしまえば後々混乱を招くため、待ち合わせるkey名とinput DS の変数名一致を強制させたい。 -\section{DataSegmentManagerを複数持てない} -\subsection{TopologyManagerのNAT超え機能} -\subsection{Jungleのテスト} +\section{LocalDataSegmentManagerを複数持てない} +Aliceでは1つのノードにつき1つしかLocalDSMを立ち上げられない作りになっている。 +そのために以下のような問題が発生した。 + +\subsection{1つのノードで複数台DSM同士のテストが行えない} +%ローカルで複数できないからテストが気軽にできない + + +\subsection{TopologyManagerの拡張が困難} +Aliceではより自由度の高い通信を行うために、TopologyManagerに幾つかの機能を追加すること考えていた。 + +例えば、NAT越えの機能である。NAT越えは分散アプリケーション構築における課題の1つでもあるが、プログラマにとってその実装は容易ではない。Topology ManagerにNATを越えたノード間通信機能をつけることにより、NATを気にせずに通信が行えるようにしたい。 +また、別トポロジーで立ち上げたアプリケーション同士を接続する機能も追加したいと考えていた。 +TreeTopologyのVNCアプリとStarTopologyのチャットアプリの連携したいといった要望が生まれたためである。 + +TopologyManagerはネットワークごと、トポロジーごとに存在するため、いずれの機能も複数のTopologyManager同士を連携させることで可能となる。 +1つのノードに複数のTopologyManagerを対応させるには、TopologyNodeが複数のnodeNameを持つ必要がある。 + +%図 + +そこで、通常のLocal DSMとは別にTopology ManagerごとのMeta LocalDSMを立ち上げる方法を考えた。 + +それぞれのTopology Managerに対応するLocalDSMを作り、それぞれに対応したnodeNameを格納することで、DSMを切り替えるだけでTopologyNodeの仕様は変えずに複数のTopology Managerに対応できるという設計である。 + +しかし、現在のAliceのコードではDSMを管理するclassがstatic classであったため、複数のLocal DSMを持つことができない。 +staticを取り除こうとしたところ、Aliceの大部分のコードを修正する必要があることがわかった。 +よって、再設計の際にはstatic classのない実装を行い、DSM切り替えによる方式を実現したい。 @@ -379,17 +399,18 @@ %odsはない。dsmを指定して直接putする。 %getDataで正しい型でとれる。 -%CodeGearの記述方法 +\section{CodeGearの記述方法} \lstinputlisting[label=src:StartCodeGear, caption=StartCodeGearの例]{source/christie/StartTest.java} \lstinputlisting[label=src:TestCodeGear, caption=CodeGearの例]{source/christie/TestCodeGear.java} - \section{DataGearManagerの複数立ち上げ} +%Remoteへの接続 -\section{} +\section{DataGearの拡張} + \chapter{Christieの評価} \section{Akka}