changeset 23:02067287fac3 draft

add file
author Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
date Sun, 12 Feb 2012 23:01:44 +0900
parents fe88829c8fe3
children 716f0a413687
files presen/pix/scenegraph1.graffle presen/pix/scenegraph1.png presen/presen1.html
diffstat 3 files changed, 1166 insertions(+), 56 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/presen/pix/scenegraph1.graffle	Sun Feb 12 23:01:44 2012 +0900
@@ -0,0 +1,1075 @@
+<?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>138.17.0.133677</string>
+	</array>
+	<key>AutoAdjust</key>
+	<true/>
+	<key>BackgroundGraphic</key>
+	<dict>
+		<key>Bounds</key>
+		<string>{{0, 0}, {559, 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>CanvasOrigin</key>
+	<string>{0, 0}</string>
+	<key>ColumnAlign</key>
+	<integer>1</integer>
+	<key>ColumnSpacing</key>
+	<real>36</real>
+	<key>CreationDate</key>
+	<string>2012-02-12 21:25:18 +0900</string>
+	<key>Creator</key>
+	<string>金城 裕</string>
+	<key>DisplayScale</key>
+	<string>1 0/72 in = 1 0/72 in</string>
+	<key>GraphDocumentVersion</key>
+	<integer>6</integer>
+	<key>GraphicsList</key>
+	<array>
+		<dict>
+			<key>Bounds</key>
+			<string>{{352.75, 414}, {52.5, 14}}</string>
+			<key>Class</key>
+			<string>ShapedGraphic</string>
+			<key>FitText</key>
+			<string>Vertical</string>
+			<key>Flow</key>
+			<string>Resize</string>
+			<key>ID</key>
+			<integer>61</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>Pad</key>
+				<integer>0</integer>
+				<key>Text</key>
+				<string>{\rtf1\ansi\ansicpg932\cocoartf1038\cocoasubrtf360
+{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 Collision}</string>
+				<key>VerticalPad</key>
+				<integer>0</integer>
+			</dict>
+		</dict>
+		<dict>
+			<key>Bounds</key>
+			<string>{{352.75, 397}, {52.5, 48}}</string>
+			<key>Class</key>
+			<string>ShapedGraphic</string>
+			<key>ID</key>
+			<integer>60</integer>
+			<key>Shape</key>
+			<string>Circle</string>
+			<key>Style</key>
+			<dict>
+				<key>shadow</key>
+				<dict>
+					<key>Draws</key>
+					<string>NO</string>
+				</dict>
+			</dict>
+			<key>Text</key>
+			<dict>
+				<key>VerticalPad</key>
+				<integer>0</integer>
+			</dict>
+		</dict>
+		<dict>
+			<key>Bounds</key>
+			<string>{{270, 397}, {52.5, 48}}</string>
+			<key>Class</key>
+			<string>ShapedGraphic</string>
+			<key>ID</key>
+			<integer>58</integer>
+			<key>Shape</key>
+			<string>Circle</string>
+			<key>Style</key>
+			<dict>
+				<key>shadow</key>
+				<dict>
+					<key>Draws</key>
+					<string>NO</string>
+				</dict>
+			</dict>
+			<key>Text</key>
+			<dict>
+				<key>Text</key>
+				<string>{\rtf1\ansi\ansicpg932\cocoartf1038\cocoasubrtf360
+{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 Move}</string>
+				<key>VerticalPad</key>
+				<integer>0</integer>
+			</dict>
+		</dict>
+		<dict>
+			<key>Class</key>
+			<string>LineGraphic</string>
+			<key>Head</key>
+			<dict>
+				<key>ID</key>
+				<integer>60</integer>
+			</dict>
+			<key>ID</key>
+			<integer>57</integer>
+			<key>Points</key>
+			<array>
+				<string>{352.307, 379.293}</string>
+				<string>{363.349, 401.128}</string>
+			</array>
+			<key>Style</key>
+			<dict>
+				<key>stroke</key>
+				<dict>
+					<key>HeadArrow</key>
+					<string>FilledArrow</string>
+					<key>Pattern</key>
+					<integer>1</integer>
+					<key>TailArrow</key>
+					<string>0</string>
+				</dict>
+			</dict>
+			<key>Tail</key>
+			<dict>
+				<key>ID</key>
+				<integer>50</integer>
+			</dict>
+		</dict>
+		<dict>
+			<key>Class</key>
+			<string>LineGraphic</string>
+			<key>Head</key>
+			<dict>
+				<key>ID</key>
+				<integer>58</integer>
+			</dict>
+			<key>ID</key>
+			<integer>56</integer>
+			<key>Points</key>
+			<array>
+				<string>{322.56, 378.727}</string>
+				<string>{310.552, 400.291}</string>
+			</array>
+			<key>Style</key>
+			<dict>
+				<key>stroke</key>
+				<dict>
+					<key>HeadArrow</key>
+					<string>FilledArrow</string>
+					<key>Pattern</key>
+					<integer>1</integer>
+					<key>TailArrow</key>
+					<string>0</string>
+				</dict>
+			</dict>
+			<key>Tail</key>
+			<dict>
+				<key>ID</key>
+				<integer>50</integer>
+			</dict>
+		</dict>
+		<dict>
+			<key>Class</key>
+			<string>LineGraphic</string>
+			<key>Head</key>
+			<dict>
+				<key>ID</key>
+				<integer>50</integer>
+			</dict>
+			<key>ID</key>
+			<integer>54</integer>
+			<key>Points</key>
+			<array>
+				<string>{295.921, 281.47}</string>
+				<string>{320.743, 324.299}</string>
+			</array>
+			<key>Style</key>
+			<dict>
+				<key>stroke</key>
+				<dict>
+					<key>HeadArrow</key>
+					<string>FilledArrow</string>
+					<key>TailArrow</key>
+					<string>0</string>
+				</dict>
+			</dict>
+			<key>Tail</key>
+			<dict>
+				<key>ID</key>
+				<integer>47</integer>
+			</dict>
+		</dict>
+		<dict>
+			<key>Class</key>
+			<string>LineGraphic</string>
+			<key>Head</key>
+			<dict>
+				<key>ID</key>
+				<integer>47</integer>
+			</dict>
+			<key>ID</key>
+			<integer>53</integer>
+			<key>Points</key>
+			<array>
+				<string>{239.365, 192.224}</string>
+				<string>{261.095, 228.372}</string>
+			</array>
+			<key>Style</key>
+			<dict>
+				<key>stroke</key>
+				<dict>
+					<key>HeadArrow</key>
+					<string>FilledArrow</string>
+					<key>TailArrow</key>
+					<string>0</string>
+				</dict>
+			</dict>
+			<key>Tail</key>
+			<dict>
+				<key>ID</key>
+				<integer>55</integer>
+			</dict>
+		</dict>
+		<dict>
+			<key>Class</key>
+			<string>LineGraphic</string>
+			<key>Head</key>
+			<dict>
+				<key>ID</key>
+				<integer>48</integer>
+			</dict>
+			<key>ID</key>
+			<integer>52</integer>
+			<key>Points</key>
+			<array>
+				<string>{149.882, 281.894}</string>
+				<string>{126.476, 325.079}</string>
+			</array>
+			<key>Style</key>
+			<dict>
+				<key>stroke</key>
+				<dict>
+					<key>HeadArrow</key>
+					<string>FilledArrow</string>
+					<key>TailArrow</key>
+					<string>0</string>
+				</dict>
+			</dict>
+			<key>Tail</key>
+			<dict>
+				<key>ID</key>
+				<integer>46</integer>
+			</dict>
+		</dict>
+		<dict>
+			<key>Class</key>
+			<string>LineGraphic</string>
+			<key>Head</key>
+			<dict>
+				<key>ID</key>
+				<integer>49</integer>
+			</dict>
+			<key>ID</key>
+			<integer>51</integer>
+			<key>Points</key>
+			<array>
+				<string>{180.921, 281.47}</string>
+				<string>{205.743, 324.299}</string>
+			</array>
+			<key>Style</key>
+			<dict>
+				<key>stroke</key>
+				<dict>
+					<key>HeadArrow</key>
+					<string>FilledArrow</string>
+					<key>TailArrow</key>
+					<string>0</string>
+				</dict>
+			</dict>
+			<key>Tail</key>
+			<dict>
+				<key>ID</key>
+				<integer>46</integer>
+			</dict>
+		</dict>
+		<dict>
+			<key>Class</key>
+			<string>LineGraphic</string>
+			<key>Head</key>
+			<dict>
+				<key>ID</key>
+				<integer>46</integer>
+			</dict>
+			<key>ID</key>
+			<integer>24</integer>
+			<key>Points</key>
+			<array>
+				<string>{206.855, 192.347}</string>
+				<string>{185.082, 229.229}</string>
+			</array>
+			<key>Style</key>
+			<dict>
+				<key>stroke</key>
+				<dict>
+					<key>HeadArrow</key>
+					<string>FilledArrow</string>
+					<key>TailArrow</key>
+					<string>0</string>
+				</dict>
+			</dict>
+			<key>Tail</key>
+			<dict>
+				<key>ID</key>
+				<integer>55</integer>
+			</dict>
+		</dict>
+		<dict>
+			<key>Bounds</key>
+			<string>{{306, 320}, {64, 62}}</string>
+			<key>Class</key>
+			<string>ShapedGraphic</string>
+			<key>ID</key>
+			<integer>50</integer>
+			<key>Shape</key>
+			<string>Circle</string>
+			<key>Style</key>
+			<dict>
+				<key>shadow</key>
+				<dict>
+					<key>Draws</key>
+					<string>NO</string>
+				</dict>
+			</dict>
+			<key>Text</key>
+			<dict>
+				<key>Text</key>
+				<string>{\rtf1\ansi\ansicpg932\cocoartf1038\cocoasubrtf360
+{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 SceneGraphNode}</string>
+				<key>VerticalPad</key>
+				<integer>0</integer>
+			</dict>
+		</dict>
+		<dict>
+			<key>Bounds</key>
+			<string>{{191, 320}, {64, 62}}</string>
+			<key>Class</key>
+			<string>ShapedGraphic</string>
+			<key>ID</key>
+			<integer>49</integer>
+			<key>Shape</key>
+			<string>Circle</string>
+			<key>Style</key>
+			<dict>
+				<key>shadow</key>
+				<dict>
+					<key>Draws</key>
+					<string>NO</string>
+				</dict>
+			</dict>
+			<key>Text</key>
+			<dict>
+				<key>Text</key>
+				<string>{\rtf1\ansi\ansicpg932\cocoartf1038\cocoasubrtf360
+{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 SceneGraphNode}</string>
+				<key>VerticalPad</key>
+				<integer>0</integer>
+			</dict>
+		</dict>
+		<dict>
+			<key>Bounds</key>
+			<string>{{76, 320}, {64, 62}}</string>
+			<key>Class</key>
+			<string>ShapedGraphic</string>
+			<key>ID</key>
+			<integer>48</integer>
+			<key>Shape</key>
+			<string>Circle</string>
+			<key>Style</key>
+			<dict>
+				<key>shadow</key>
+				<dict>
+					<key>Draws</key>
+					<string>NO</string>
+				</dict>
+			</dict>
+			<key>Text</key>
+			<dict>
+				<key>Text</key>
+				<string>{\rtf1\ansi\ansicpg932\cocoartf1038\cocoasubrtf360
+{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 SceneGraphNode}</string>
+				<key>VerticalPad</key>
+				<integer>0</integer>
+			</dict>
+		</dict>
+		<dict>
+			<key>Bounds</key>
+			<string>{{248, 223}, {64, 62}}</string>
+			<key>Class</key>
+			<string>ShapedGraphic</string>
+			<key>ID</key>
+			<integer>47</integer>
+			<key>Shape</key>
+			<string>Circle</string>
+			<key>Style</key>
+			<dict>
+				<key>shadow</key>
+				<dict>
+					<key>Draws</key>
+					<string>NO</string>
+				</dict>
+			</dict>
+			<key>Text</key>
+			<dict>
+				<key>Text</key>
+				<string>{\rtf1\ansi\ansicpg932\cocoartf1038\cocoasubrtf360
+{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 SceneGraphNode}</string>
+				<key>VerticalPad</key>
+				<integer>0</integer>
+			</dict>
+		</dict>
+		<dict>
+			<key>Bounds</key>
+			<string>{{133, 223}, {64, 62}}</string>
+			<key>Class</key>
+			<string>ShapedGraphic</string>
+			<key>ID</key>
+			<integer>46</integer>
+			<key>Shape</key>
+			<string>Circle</string>
+			<key>Style</key>
+			<dict>
+				<key>shadow</key>
+				<dict>
+					<key>Draws</key>
+					<string>NO</string>
+				</dict>
+			</dict>
+			<key>Text</key>
+			<dict>
+				<key>Text</key>
+				<string>{\rtf1\ansi\ansicpg932\cocoartf1038\cocoasubrtf360
+{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 SceneGraphNode}</string>
+				<key>VerticalPad</key>
+				<integer>0</integer>
+			</dict>
+		</dict>
+		<dict>
+			<key>Bounds</key>
+			<string>{{191, 134}, {64, 62}}</string>
+			<key>Class</key>
+			<string>ShapedGraphic</string>
+			<key>ID</key>
+			<integer>55</integer>
+			<key>Shape</key>
+			<string>Circle</string>
+			<key>Style</key>
+			<dict>
+				<key>shadow</key>
+				<dict>
+					<key>Draws</key>
+					<string>NO</string>
+				</dict>
+			</dict>
+			<key>Text</key>
+			<dict>
+				<key>Text</key>
+				<string>{\rtf1\ansi\ansicpg932\cocoartf1038\cocoasubrtf360
+{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 SceneGraphNode}</string>
+				<key>VerticalPad</key>
+				<integer>0</integer>
+			</dict>
+		</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>レイヤー 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>2012-02-12 21:25:25 +0900</string>
+	<key>Modifier</key>
+	<string>金城 裕</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>NSLeftMargin</key>
+		<array>
+			<string>float</string>
+			<string>18</string>
+		</array>
+		<key>NSPaperSize</key>
+		<array>
+			<string>size</string>
+			<string>{595, 842}</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>QuickLookPreview</key>
+	<data>
+	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
+	mrGOu73fcqk7TcKJ9p3cYI0QylbT9A1Ik72ANh8ncoVvbA80R3rjcIUMuXGrDW8FDYy1
+	z3IjdJqjrTzZ6XHkSQQ0VzwBbpFcWnhCuEWPSt4i8WnnyfDtoH03M0RDeaL2Jk8IC7HH
+	PBmZcaYtWODMeIdpccKk2dkfT3Eho3gNaSZWnABhHK6jCpZGnYXfSvLEUlozejpjSkTl
+	xVy4dIRGvvRGTUhDQnWk9aMBg7CnWCki8UCxfdNOlDVH3p07SDVF9XAuleivjHZsAcbu
+	Ax0xilTmA/xWGVv5p8DBw0p0NaBr6xsObiJtxMtQaz4bii7QyTLBKWFLHVjhBNupgW+J
+	Jbnh8MG3rjiiSySGuUQggp854EAyH/DlUfsuPGM+Jop4UyGGULaqWRSH2GkD1CwwK9hF
+	yFazUxsB7gB5PBDhGkj513AyAIGGSziqB5YPuP0XgIEUwNGJv0WAkXHCK4Jq4W7hQk8Y
+	a0WUH9RbxB3x3JYLSjeud/AO6Iik4tGgNVibevRoVCrioj3YFzcqmOaDaLGP0JK1MSvH
+	EwbUxb5IZmwj9Uds8jb2RLGVuBIWo7hWNBLOAwSP1nHCk6h0EDyMIcLYMVzQSAl1iPwT
+	j1Uy4zKLngTPi6tgN4+B58RQfFQ0kLN0lAN7RUMk4iXHpi3s6VMYni8DdqqE2fldjdph
+	pnqcBidPVf/8hV+mfp9vYPv9j56QrkZ4dK9BnbnKvYTxdENNltxTAefe1MK1Ys895FBE
+	NkS/5l6suJq1NffoVoBCdJV7EdNpXLSxp7z4FIh51dLc07Ul08T+lGAjbmN7aoAnX8p+
+	frISNOecCjjneP0ldwQFyTDxVCUThTXnGAXLOaeCmXOCgvgIzCfCS84JCpJz4uXX5RyO
+	4ScSjlrMp95GX3O+SeI9suTx5bxO/Y8lX+Q3+RpPtvRSu2fpD38AXy2EOgplbmRzdHJl
+	YW0KZW5kb2JqCjYgMCBvYmoKMjM2MgplbmRvYmoKMyAwIG9iago8PCAvVHlwZSAvUGFn
+	ZSAvUGFyZW50IDQgMCBSIC9SZXNvdXJjZXMgNyAwIFIgL0NvbnRlbnRzIDUgMCBSIC9N
+	ZWRpYUJveCBbMCAwIDU1OSA3ODNdCj4+CmVuZG9iago3IDAgb2JqCjw8IC9Qcm9jU2V0
+	IFsgL1BERiAvVGV4dCBdIC9Db2xvclNwYWNlIDw8IC9DczEgOCAwIFIgL0NzMiA5IDAg
+	UiA+PiAvRm9udCA8PAovRjEuMCAxMCAwIFIgPj4gPj4KZW5kb2JqCjExIDAgb2JqCjw8
+	IC9MZW5ndGggMTIgMCBSIC9OIDMgL0FsdGVybmF0ZSAvRGV2aWNlUkdCIC9GaWx0ZXIg
+	L0ZsYXRlRGVjb2RlID4+CnN0cmVhbQp4AYVUz2sTQRT+Nm6p0CIIWmsOsniQIklZq2hF
+	1Db9EWJrDNsftkWQZDNJ1m426+4mtaWI5OLRKt5F7aEH/4AeevBkL0qFWkUo3qsoYqEX
+	LfHNbky2perAzn7z3jfvfW923wANctI09YAE5A3HUqIRaWx8Qmr8iACOoglBNCVV2+xO
+	JAZBg3P5e+fYeg+BW1bDe/t3snetmtK2mgeE/UDgR5rZKrDvF3EKWRICiDzfoSnHdAjf
+	49jy7I85Tnl4wbUPKz3EWSJ8QDUtzn9NuFPNJdNAg0g4lPVxUj6c14uU1x0HaW5mxsgQ
+	vU+QprvM7qtioZxO9g6QvZ30fk6z3j7CIcILGa0/RriNnvWM1T/iYeGk5sSGPRwYNfT4
+	YBW3Gqn4NcIUXxBNJ6JUcdkuDfGYrv1W8kqCcJA4ymRhgHNaSE/XTG74uocFfSbXE6/i
+	d1ZR4XmPE2fe1N3vRdoCrzAOHQwaDJoNSFAQRQRhmLBQQIY8GjE0snI/I6sGG5N7MnUk
+	art0YkSxQXs23D23UaTdPP4oInGUQ7UIkvxB/iqvyU/lefnLXLDYVveUrZuauvLgO8Xl
+	mbkaHtfTyONzTV58ldR2k1dHlqx5erya7Bo/7FeXMeaCNY/Ec7D78S1flcyXKYwUxeNV
+	8+pLhHVaMTffn2x/Oz3iLs8utdZzrYmLN1abl2f9akj77qq8k+ZV+U9e9fH8Z83EY+Ip
+	MSZ2iuchiZfFLvGS2EurC+JgbccInZWGKdJtkfok1WBgmrz1L10/W3i9Rn8M9VGUGczS
+	VIn3f8IqZDSduQ5v+o/bx/wX5PeK558oAi9s4MiZum1Tce8QoWWlbnOuAhe/0X3wtm5r
+	o344/ARYPKsWrVI1nyC8ARx2h3oe6CmY05aWzTlShyyfk7rpymJSzFDbQ1JS1yXXZUsW
+	s5lVYul22JnTHW4coTlC98SnSmWT+q/xEbD9sFL5+axS2X5OGtaBl/pvwLz9RQplbmRz
+	dHJlYW0KZW5kb2JqCjEyIDAgb2JqCjczNwplbmRvYmoKOCAwIG9iagpbIC9JQ0NCYXNl
+	ZCAxMSAwIFIgXQplbmRvYmoKMTMgMCBvYmoKPDwgL0xlbmd0aCAxNCAwIFIgL04gMSAv
+	QWx0ZXJuYXRlIC9EZXZpY2VHcmF5IC9GaWx0ZXIgL0ZsYXRlRGVjb2RlID4+CnN0cmVh
+	bQp4AYVST0gUURz+zTYShIhBhXiIdwoJlSmsrKDadnVZlW1bldKiGGffuqOzM9Ob2TXF
+	kwRdojx1D6JjdOzQoZuXosCsS9cgqSAIPHXo+83s6iiEb3k73/v9/X7fe0RtnabvOylB
+	VHNDlSulp25OTYuDHylFHdROWKYV+OlicYyx67mSv7vX1mfS2LLex7V2+/Y9tZVlYCHq
+	Lba3EPohkWYAH5mfKGWAs8Adlq/YPgE8WA6sGvAjogMPmrkw09GcdKWyLZFT5qIoKq9i
+	O0mu+/m5xr6LtYmD/lyPZtaOvbPqqtFM1LT3RKG8D65EGc9fVPZsNRSnDeOcSEMaKfKu
+	1d8rTMcRkSsQSgZSNWS5n2pOnXXgdRi7XbqT4/j2EKU+yWCoibXpspkdhX0AdirL7BDw
+	BejxsmIP54F7Yf9bUcOTwCdhP2SHedatH/YXrlPge4Q9NeDOFK7F8dqKH14tAUP3VCNo
+	jHNNxNPXOXOkiO8x1BmY90Y5pgsxd5aqEzeAO2EfWapmCrFd+67qJe57AnfT4zvRmzkL
+	XKAcSXKxFdkU0DwJWBR9i7BJDjw+zh5V4HeomMAcuYnczSj3HtURG2ejUoFWeo1Xxk/j
+	ufHF+GVsGM+Afqx213t8/+njFXXXtj48+Y163DmuvZ0bVWFWcWUL3f/HMoSP2Sc5psHT
+	oVlYa9h25A+azEywDCjEfwU+l/qSE1Xc1e7tuEUSzFA+LGwluktUbinU6j2DSqwcK9gA
+	dnCSxCxaHLhTa7o5eHfYInpt+U1XsuuG/vr2evva8h5tyqgpKBPNs0RmlLFbo+TdeNv9
+	ZpERnzg6vue9ilrJ/klFED+FOVoq8hRV9FZQ1sRvZw5+G7Z+XD+l5/VB/TwJPa2f0a/o
+	oxG+DHRJz8JzUR+jSfCwaSHiEqCKgzPUTlRjjQPiKfHytFtkkf0PQBn9ZgplbmRzdHJl
+	YW0KZW5kb2JqCjE0IDAgb2JqCjcwNAplbmRvYmoKOSAwIG9iagpbIC9JQ0NCYXNlZCAx
+	MyAwIFIgXQplbmRvYmoKNCAwIG9iago8PCAvVHlwZSAvUGFnZXMgL01lZGlhQm94IFsw
+	IDAgNjEyIDc5Ml0gL0NvdW50IDEgL0tpZHMgWyAzIDAgUiBdID4+CmVuZG9iagoxNSAw
+	IG9iago8PCAvVHlwZSAvQ2F0YWxvZyAvT3V0bGluZXMgMiAwIFIgL1BhZ2VzIDQgMCBS
+	ID4+CmVuZG9iagoyIDAgb2JqCjw8IC9MYXN0IDE2IDAgUiAvRmlyc3QgMTcgMCBSID4+
+	CmVuZG9iagoxNyAwIG9iago8PCAvUGFyZW50IDE4IDAgUiAvQ291bnQgMCAvRGVzdCBb
+	IDMgMCBSIC9YWVogMCA3ODMgMCBdIC9UaXRsZSAo/v8wrTDjMPMw0DC5XDAwMCBcMDAw
+	MSkKPj4KZW5kb2JqCjE4IDAgb2JqCjw8ID4+CmVuZG9iagoxNiAwIG9iago8PCAvUGFy
+	ZW50IDE4IDAgUiAvQ291bnQgMCAvRGVzdCBbIDMgMCBSIC9YWVogMCA3ODMgMCBdIC9U
+	aXRsZSAo/v8wrTDjMPMw0DC5XDAwMCBcMDAwMSkKPj4KZW5kb2JqCjE5IDAgb2JqCjw8
+	IC9MZW5ndGggMjAgMCBSIC9MZW5ndGgxIDEwMjU2IC9GaWx0ZXIgL0ZsYXRlRGVjb2Rl
+	ID4+CnN0cmVhbQp4Ab1aeXxU1b3/nbvPksmsmT0zN5OZSTLZAyEhkYwhC1tiICoJEk0C
+	gYBQI4RYbOFFZZGI1BUQbCtaWbUMIYUBCqUUxL62itZCRftqKy5dUtv30NcCmXm/cyeJ
+	kGf78Q8/vXfO8jvn3HN/53t+5/f7nXOne9mKDkiCXmChYU5b1wJQrsBjAKR33tK2rgRt
+	oknvvJ5ub4LmMwDYJQu6Fi5N0NJTAGr3wiUrh5837QYwfrOzo21+oh6uYVrciQUJmozD
+	NL1zaffXE7RxANMZS+6ZN1xv6kU6Y2nb14ffD+8i7f1a29IOTPEKLMEoveue5d0KCYF0
+	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
+	TS8XJQ8dZtmlRtwh4nbzoXCqICzFIx7CCxxLcMfNCizgd0u1hDqY3c8cJVTzrzlI9gt2
+	e/1lW93Qe+8N2RU9bKNWxorbMSqdxlKxLjekr79UJyaS0PSZK8N+JtPIshxk4vYPbfYN
+	neOZyX4ePu+3tHSotHRMz7yoD+GvIJ+aZ9yuqkgR2s93SSoJnYktORlbweVd28p2Xn0D
+	ERo+BYt34Pf4L7ro38MC+PU2HwqgGKqgRvnCT7/h34L/MJiF/xq4DW6HZmxF8J8HibM1
+	AU/BYE7TjIY5c0JTOpb0dHQvmtemtBh5w62YacXQhaEXw2MYnsMQwXASwzkM72H4K+0W
+	gx6DF0M+hjCGBgytGLriwxfgNZoneM53I107hq4bQ9ePoRvH0JT76/ufN4aeP4ZWsLyO
+	n84x9YvG0PSb+fX9f20Mfc8YumsMTc82r39++Ri6h9L/B1VpacYKZW5kc3RyZWFtCmVu
+	ZG9iagoyMCAwIG9iago2NjU3CmVuZG9iagoyMSAwIG9iago8PCAvVHlwZSAvRm9udERl
+	c2NyaXB0b3IgL0FzY2VudCA3NzAgL0NhcEhlaWdodCA3MTcgL0Rlc2NlbnQgLTIzMCAv
+	RmxhZ3MgMzIKL0ZvbnRCQm94IFstOTUxIC00ODEgMTQ0NSAxMTIyXSAvRm9udE5hbWUg
+	L1pYTFBaWitIZWx2ZXRpY2EgL0l0YWxpY0FuZ2xlIDAKL1N0ZW1WIDAgL01heFdpZHRo
+	IDE1MDAgL1hIZWlnaHQgNjM3IC9Gb250RmlsZTIgMTkgMCBSID4+CmVuZG9iagoyMiAw
+	IG9iagpbIDcyMiAwIDAgMCA3NzggMCAwIDAgMCAwIDgzMyA3MjIgMCAwIDAgMCA2Njcg
+	MCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCA1NTYKMCA1MDAgNTU2IDU1NiAwIDAgNTU2
+	IDIyMiAwIDAgMjIyIDAgNTU2IDU1NiA1NTYgMCAzMzMgNTAwIDAgMCA1MDAgXQplbmRv
+	YmoKMTAgMCBvYmoKPDwgL1R5cGUgL0ZvbnQgL1N1YnR5cGUgL1RydWVUeXBlIC9CYXNl
+	Rm9udCAvWlhMUFpaK0hlbHZldGljYSAvRm9udERlc2NyaXB0b3IKMjEgMCBSIC9XaWR0
+	aHMgMjIgMCBSIC9GaXJzdENoYXIgNjcgL0xhc3RDaGFyIDExOCAvRW5jb2RpbmcgL01h
+	Y1JvbWFuRW5jb2RpbmcKPj4KZW5kb2JqCjIzIDAgb2JqCihNYWMgT1MgWCAxMC42Ljgg
+	UXVhcnR6IFBERkNvbnRleHQpCmVuZG9iagoyNCAwIG9iagooRDoyMDEyMDIxMjEyMjUz
+	OFowMCcwMCcpCmVuZG9iagoxIDAgb2JqCjw8IC9Qcm9kdWNlciAyMyAwIFIgL0NyZWF0
+	aW9uRGF0ZSAyNCAwIFIgL01vZERhdGUgMjQgMCBSID4+CmVuZG9iagp4cmVmCjAgMjUK
+	MDAwMDAwMDAwMCA2NTUzNSBmIAowMDAwMDEyMzA4IDAwMDAwIG4gCjAwMDAwMDQ2MDEg
+	MDAwMDAgbiAKMDAwMDAwMjQ3OCAwMDAwMCBuIAowMDAwMDA0NDUyIDAwMDAwIG4gCjAw
+	MDAwMDAwMjIgMDAwMDAgbiAKMDAwMDAwMjQ1OCAwMDAwMCBuIAowMDAwMDAyNTgyIDAw
+	MDAwIG4gCjAwMDAwMDM1NTIgMDAwMDAgbiAKMDAwMDAwNDQxNiAwMDAwMCBuIAowMDAw
+	MDEyMDM5IDAwMDAwIG4gCjAwMDAwMDI2OTIgMDAwMDAgbiAKMDAwMDAwMzUzMiAwMDAw
+	MCBuIAowMDAwMDAzNTg4IDAwMDAwIG4gCjAwMDAwMDQzOTYgMDAwMDAgbiAKMDAwMDAw
+	NDUzNSAwMDAwMCBuIAowMDAwMDA0Nzc4IDAwMDAwIG4gCjAwMDAwMDQ2NDkgMDAwMDAg
+	biAKMDAwMDAwNDc1NiAwMDAwMCBuIAowMDAwMDA0ODg1IDAwMDAwIG4gCjAwMDAwMTE2
+	MzMgMDAwMDAgbiAKMDAwMDAxMTY1NCAwMDAwMCBuIAowMDAwMDExODc5IDAwMDAwIG4g
+	CjAwMDAwMTIyMTQgMDAwMDAgbiAKMDAwMDAxMjI2NiAwMDAwMCBuIAp0cmFpbGVyCjw8
+	IC9TaXplIDI1IC9Sb290IDE1IDAgUiAvSW5mbyAxIDAgUiAvSUQgWyA8YzUxMmI2MjEy
+	YmNiMjJjNDA1YmY1MDIyZDdjZDNlMjI+CjxjNTEyYjYyMTJiY2IyMmM0MDViZjUwMjJk
+	N2NkM2UyMj4gXSA+PgpzdGFydHhyZWYKMTIzODMKJSVFT0YKMSAwIG9iago8PC9BdXRo
+	b3IgPGZlZmY5MWQxNTdjZTAwMjA4OGQ1PiAvQ3JlYXRpb25EYXRlIChEOjIwMTIwMjEy
+	MTIyNTAwWikvQ3JlYXRvciAoT21uaUdyYWZmbGUgNS4yLjMpL01vZERhdGUgKEQ6MjAx
+	MjAyMTIxMjI1MDBaKS9Qcm9kdWNlciAyMyAwIFIgPj4KZW5kb2JqCnhyZWYKMSAxCjAw
+	MDAwMTMwNDEgMDAwMDAgbiAKdHJhaWxlcgo8PC9JRCBbPGM1MTJiNjIxMmJjYjIyYzQw
+	NWJmNTAyMmQ3Y2QzZTIyPiA8YzUxMmI2MjEyYmNiMjJjNDA1YmY1MDIyZDdjZDNlMjI+
+	XSAvSW5mbyAxIDAgUiAvUHJldiAxMjM4MyAvUm9vdCAxNSAwIFIgL1NpemUgMjU+Pgpz
+	dGFydHhyZWYKMTMxOTgKJSVFT0YK
+	</data>
+	<key>QuickLookThumbnail</key>
+	<data>
+	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
+	APsBAQEHAQ0BEwEZAR8BJQErATIBOAE+AUUBTAFSAVkBYAFnAW4BdQF8AYMBiwGSAZoB
+	oQGpAbEBuQHBAckB0QHZAeEB6QHyAfoCAwIMAhQCHQImAi8COAJBAksCVAJdAmcCcQJ6
+	AoQCjgKYAqICrAK2AsECywLVAuAC6wL1AwADCwMWAyEDLQM4A0MDTwNaA2YDcgN+A4oD
+	lgOiA64DugPHA9MD4APsA/kEBgQTBCAELQQ7BEgEVQRjBHEEfgSMBJoEqAS2BMQE0wTh
+	BPAE/gUNBRwFKwU6BUkFWAVnBXcFhgWWBaYFtQXFBdUF5QX2BgYGFgYnBjcGSAZZBmoG
+	ewaMBp0GrwbABtEG4wb1BwcHGQcrBz0HTwdhB3QHhgeZB6wHvwfSB+UH+AgLCB8IMghG
+	CFoIbgiCCJYIqgi+CNII5wj7CRAJJQk6CU8JZAl5CY8JpAm6Cc8J5Qn7ChEKJwo9ClQK
+	agqBCpgKrgrFCtwK8wsLCyILOQtRC2kLgAuYC7ALyAvhC/kMEgwqDEMMXAx1DI4MpwzA
+	DNkM8w0NDSYNQA1aDXQNjg2pDcMN3g34DhMOLg5JDmQOfw6bDrYO0g7uDwkPJQ9BD14P
+	eg+WD7MPzw/sEAkQJhBDEGEQfhCbELkQ1xD1ERMRMRFPEW0RjBGqEckR6BIHEiYSRRJk
+	EoQSoxLDEuMTAxMjE0MTYxODE6QTxRPlFAYUJxRJFGoUixStFM4U8BUSFTQVVhV4FZsV
+	vRXgFgMWJhZJFmwWjxayFtYW+hcdF0EXZReJF64X0hf3GBsYQBhlGIoYrxjVGPoZIBlF
+	GWsZkRm3Gd0aBBoqGlEadxqeGsUa7BsUGzsbYxuKG7Ib2hwCHCocUhx7HKMczBz1HR4d
+	Rx1wHZkdwx3sHhYeQB5qHpQevh7pHxMfPh9pH5Qfvx/qIBUgQSBsIJggxCDwIRwhSCF1
+	IaEhziH7IiciVSKCIq8i3SMKIzgjZiOUI8Ij8CQfJE0kfCSrJNolCSU4JWgllyXHJfcm
+	JyZXJocmtyboJxgnSSd6J6sn3CgNKD8ocSiiKNQpBik4KWspnSnQKgIqNSpoKpsqzysC
+	KzYraSudK9EsBSw5LG4soizXLQwtQS12Last4S4WLkwugi63Lu4vJC9aL5Evxy/+MDUw
+	bDCkMNsxEjFKMYIxujHyMioyYzKbMtQzDTNGM38zuDPxNCs0ZTSeNNg1EzVNNYc1wjX9
+	Njc2cjauNuk3JDdgN5w31zgUOFA4jDjIOQU5Qjl/Obw5+To2OnQ6sjrvOy07azuqO+g8
+	JzxlPKQ84z0iPWE9oT3gPiA+YD6gPuA/IT9hP6I/4kAjQGRApkDnQSlBakGsQe5CMEJy
+	QrVC90M6Q31DwEQDREdEikTORRJFVUWaRd5GIkZnRqtG8Ec1R3tHwEgFSEtIkUjXSR1J
+	Y0mpSfBKN0p9SsRLDEtTS5pL4kwqTHJMuk0CTUpNk03cTiVObk63TwBPSU+TT91QJ1Bx
+	ULtRBlFQUZtR5lIxUnxSx1MTU19TqlP2VEJUj1TbVShVdVXCVg9WXFapVvdXRFeSV+BY
+	L1h9WMtZGllpWbhaB1pWWqZa9VtFW5Vb5Vw1XIZc1l0nXXhdyV4aXmxevV8PX2Ffs2AF
+	YFdgqmD8YU9homH1YklinGLwY0Njl2PrZEBklGTpZT1lkmXnZj1mkmboZz1nk2fpaD9o
+	lmjsaUNpmmnxakhqn2r3a09rp2v/bFdsr20IbWBtuW4SbmtuxG8eb3hv0XArcIZw4HE6
+	cZVx8HJLcqZzAXNdc7h0FHRwdMx1KHWFdeF2Pnabdvh3VnezeBF4bnjMeSp5iXnnekZ6
+	pXsEe2N7wnwhfIF84X1BfaF+AX5ifsJ/I3+Ef+WAR4CogQqBa4HNgjCCkoL0g1eDuoQd
+	hICE44VHhauGDoZyhteHO4efiASIaYjOiTOJmYn+imSKyoswi5aL/IxjjMqNMY2Yjf+O
+	Zo7OjzaPnpAGkG6Q1pE/kaiSEZJ6kuOTTZO2lCCUipT0lV+VyZY0lp+XCpd1l+CYTJi4
+	mSSZkJn8mmia1ZtCm6+cHJyJnPedZJ3SnkCerp8dn4uf+qBpoNihR6G2oiailqMGo3aj
+	5qRWpMelOKWpphqmi6b9p26n4KhSqMSpN6mpqhyqj6sCq3Wr6axcrNCtRK24ri2uoa8W
+	r4uwALB1sOqxYLHWskuywrM4s660JbSctRO1irYBtnm28Ldot+C4WbjRuUq5wro7urW7
+	LrunvCG8m70VvY++Cr6Evv+/er/1wHDA7MFnwePCX8Lbw1jD1MRRxM7FS8XIxkbGw8dB
+	x7/IPci8yTrJuco4yrfLNsu2zDXMtc01zbXONs62zzfPuNA50LrRPNG+0j/SwdNE08bU
+	SdTL1U7V0dZV1tjXXNfg2GTY6Nls2fHadtr724DcBdyK3RDdlt4c3qLfKd+v4DbgveFE
+	4cziU+Lb42Pj6+Rz5PzlhOYN5pbnH+ep6DLovOlG6dDqW+rl63Dr++yG7RHtnO4o7rTv
+	QO/M8Fjw5fFy8f/yjPMZ86f0NPTC9VD13vZt9vv3ivgZ+Kj5OPnH+lf65/t3/Af8mP0p
+	/br+S/7c/23//3BhcmEAAAAAAAMAAAACZmYAAPKnAAANWQAAE9AAAAoOdmNndAAAAAAA
+	AAABAAEAAAAAAAAAAQAAAAEAAAAAAAAAAQAAAAEAAAAAAAAAAQAAbmRpbgAAAAAAAAA2
+	AACpQAAAUYAAADUAAACrAAAAJMAAABGAAABQQAAAVEAAAjMzAAIzMwACMzMAAAAAAAAA
+	AHNmMzIAAAAAAAELtwAABZb///NXAAAHKQAA/df///u3///9pgAAA9oAAMD2bW1vZAAA
+	AAAAAB5tAABXlAADcZvF5zuAAAAAAAAAAAAAAAAAAAAAAA==
+	</data>
+	<key>ReadOnly</key>
+	<string>NO</string>
+	<key>RowAlign</key>
+	<integer>1</integer>
+	<key>RowSpacing</key>
+	<real>36</real>
+	<key>SheetTitle</key>
+	<string>キャンバス 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/>
+		<key>Frame</key>
+		<string>{{576, 55}, {693, 937}}</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>キャンバス 1</string>
+				<real>1</real>
+				<real>1</real>
+			</array>
+		</array>
+	</dict>
+	<key>saveQuickLookFiles</key>
+	<string>YES</string>
+</dict>
+</plist>
Binary file presen/pix/scenegraph1.png has changed
--- a/presen/presen1.html	Sun Feb 12 17:51:19 2012 +0900
+++ b/presen/presen1.html	Sun Feb 12 23:01:44 2012 +0900
@@ -105,10 +105,25 @@
   <li>ソフトウェアMailQueueの実装</li>
   <li>TaskをグルーピングするTaskArrayの実装</li>
   <li>明示的なDMAロードを隠蔽するMemorySegmentのAPIの実装</li>
-</ul>
+</ul><br>
 などの改良を行い、信頼性のある並列プログラミングフレームワークを目指す。
 </font>
 
+<li class="slide">
+<h1>発表構成</h1>
+<ul>
+  <li>Cellの機能</li>
+  <li>Ceriumの構成</li>
+  <li>Ceriumに行った改良とその効果</li>
+  <ul>
+    <li>TaskArrayの実装(Mailの待ち時間の削減)</li>
+    <li>ソフトウェアMailQueueの実装(Mailの待ち時間の削減)</li>
+    <li>MemorySegmentの実装(アーキテクチャ依存記述の隠蔽)</li>
+  </ul>
+  <li>まとめ</li>
+  <li>今後の課題</li>
+</ul>
+
 <li class="slide">
 <h1>Cell Broadband Engine</h1>
 <font size="5">
@@ -131,18 +146,22 @@
 </font>
 
 <li class="slide">
-<h1>DMA転送</h1>
-SPE は直接 MainMemory にアクセスできない。 明示的な DMA 転送命令を用いてデータにアクセスする。データは
+<h1>Cellの機能(DMA転送)</h1>
+<font size="6">
+Cell の SPE は直接 MainMemory にアクセスできない。 明示的な DMA 転送命令を用いてデータにアクセスする。転送するデータの条件として
 
 <ul>
   <li>16アラインメントに揃える</li>
-  <li>16byte の倍数のサイズ</li>
-  <li>一度の転送は16KB の大きさまで</li>
-</ul>
+  <li>16byte の倍数のサイズでなければならない</li>
+  <li>一度の転送は16KB の大きさまでできる</li>
+</ul><br>
 
+プログラムが明示的にDMA命令を発行して、データ転送を行う
+</font>
 
 <li class="slide">
-<h1>Mailbox</h1>
+<h1>Cellの機能(Mailbox)</h1>
+<font size="6">
 
 PPE と SPE の通信には Mailbox を用いる
 
@@ -154,22 +173,26 @@
     <li>SPU Outbound Mailbox: SPE -> PPE</li>
     <li>SPU Outbound interrupt Mailbox: SPE -> PPE (割り込み)</li>
   </ul>
-</ul>
+</ul><br>
 
+
+</font>
 <li class="slide">
 <h1>Cerium</h1>
+<font size="6">
 Cerium とは
+
 <ul>
   <li>並列プログラミング用のフレームワーク</li>
   <li>学生実験での使用を考慮して PS3/Cell, Linux, MacOSX で動作する</li>
-  <li>構成</li>
+  <li>Ceriumの構成</li>
   <ul>
     <li>TaskManager</li>
     <li>RenderingEngine</li>
     <li>SceneGraph</li>
   </ul>
 </ul>
-
+</font>
 
 <li class="slide">
 <h1>TaskManager</h1>
@@ -177,15 +200,15 @@
 
 <ul>
   <li>Task とよばれるデータ構造を提供</li>
-  <li>処理(単位は関数に近い)を Task で記述していく</li>
-  <li>定義された、Task の情報に沿って各コアに処理を割り振る</li>
-</ul>
+  <li>ユーザは処理(単位は関数に近い)を Task で記述していく</li>
+  <li>定義されたTask は、Task 情報に沿って各コアに処理を割り振られる</li>
+</ul><br>
 
 Task で記述された部分の、自動的な並列処理スケジューリングを行う。
 
 <li class="slide">
 <h1>RenderingEngine(1/2)</h1>
-PS3 では Graphics Engien の仕様が公開されていないので、独自の RenderingEngine を開発した。
+PS3 では Graphics Engine の仕様が公開されていないので、独自の RenderingEngine を開発した。
 Task で記述され、主に3つの Task から構成される
 <ul>
   <li>CreatePolygonTask</li>
@@ -213,10 +236,15 @@
 
 <li class="slide">
 <h1>SceneGraph</h1>
-ゲームのシーンを構成する木構造のグラフ。
+ゲームのシーンを構成する木構造のグラフ。各 Node がゲームのオブジェクトになる。オブジェクトには Move 関数と collision  関数が設定でき、ステイトパターンで入れ替える。
+
+<p style="text-align: center;">
+<img class="scale" src="pix/scenegraph1.png" width="30%" alt="" title="At a Glance" />
+</p>
+
 
 <li class="slide">
-<h1>Cerium の改良</h1>
+<h1>Cerium の改良(Mailの待ち時間)</h1>
 <font size="5">
 RenderingEngine を用いた例題で、ball bound, panel がある。(FPS = Frame per second)
 
@@ -255,21 +283,18 @@
   </ul>
 </ul>
 
-ball bound では Mail 待ちが約70%と、稼働率が出ていない。<br>
-panel は ball bound より処理の描画の処理が重く、その分稼働率が高くなっている。
-アムダールの法則より稼働率がでないとマルチコアの性能は発揮されない。フレームワークとしての信頼性が十分でない
+ball bound では Mail 待ちが約70%、稼働率23%と十分な稼働率ではない。(panel は ball bound より描画の処理が重く、その分稼働率が高くなっている)<br>
+アムダールの法則より稼働率がでないとマルチコアの性能は発揮されない。フレームワークとしての信頼性が十分でない問題がある
 </font>
 
 <li class="slide">
 <h1>Mail 通知のスケジューリング</h1>
+稼働率を向上させるために、Mail の待ち時間を削減する。<br><br>
 Cerium では SPE が Mail で 待ち時間が発生するタイミングは2つ
 
 <ul>
   <li>TaskList を待つ場合</li>
-  <li>Mail の書き込みを待つ場合</li>
-  <ul>
-
-  </ul>
+  <li>SPE から Mailbox へ書き込む際の待ち</li>
 </ul>
 
 <li class="slide">
@@ -295,12 +320,16 @@
 
 <li class="slide">
 <h1>TaskArray(1/3)</h1>
-TaskList は Cerium 側で固定長であり、ユーザは変更することができない。ユーザが設定できる TaskList のようなものが、TaskArrayである。TaskArray は複数の Task をグルーピングできる。
+<font size="5">
+Task毎に依存関係の解決のため、Mail を通知する。バリア同期など複数の Task が同じ Task を待つ場合にはグルーピングできる。
+Task のグルーピングを可能にするために TaskArray を実装した。
 
 <p style="text-align: center;">
 <img class="scale" src="pix/taskarray1.png" width="80%" alt="" title="At a Glance" />
 </p>
 
+</font>
+
 <li class="slide">
 <h1>TaskArray(2/3)</h1>
 例えば TaskListのサイズが4, TaskArray のサイズが4の場合、Task が8個の場合
@@ -361,7 +390,6 @@
 <th>67.6%</th>
 </tr>
 
-
 <tr>
 <th>あり</th>
 <th>4.2</th>
@@ -377,7 +405,7 @@
 
 <li class="slide">
 <h1>MailQueue(1/3)</h1>
-ソフトウェア MailQueue の実装
+Task 毎の Mail 書き込み時の待ち時間を削減するため、MailQueue を実装した。
 
 <ul>
   <li>SPE から Mailbox に書き出せない場合に MailQueue へと書きだす</li>
@@ -385,8 +413,6 @@
   <li>MailQueue に残っている Mail は TaskList のTask を消化した時点で、すべて書き出す処理を挟む</li>
 </ul>
 
-Task 毎の Mail 書き込み時の待ち時間を削減するのが目的
-
 <li class="slide">
 <h1>MailQueue(2/3)</h1>
 
@@ -398,9 +424,9 @@
 
 <li class="slide">
 <h1>MailQueue(3/3)</h1>
+<font size="5">
 MailQeueuの効果
 
-<font size="5">
 <table border="1" cellspacing="0" cellspacing="2" cellpadding="5"  align="center">
 <caption>ball bound</caption>
 <tr>
@@ -457,9 +483,12 @@
 </table>
 </font>
 
+ball bound , panel ともに Mail 待ち時間が削減され、稼働率、FPS の向上につながった。
+
+
 <li class="slide">
-<h1>MemorySegment(1/7)</h1>
-CreateSpanTask では明示的にDMA転送命令を記述している。
+<h1>Ceriumの改良(アーキテクチャ依存記述の隠蔽)</h1>
+RenderingEngine の Task内 では明示的にDMA転送命令を記述している。
 
 <ul>
   <li>処理するデータ構造上の理由、Task内でのデータロードが必要</li>
@@ -467,12 +496,13 @@
   <li>他のアーキテクチャなどでは不要</li>
 </ul><br>
 
+フレームワークとしての汎用性に欠ける。
 アーキテクチャ依存の記述を隠蔽できるAPIが必要になった。
 
 <li class="slide">
-<h1>MemorySegment(2/7)</h1>
+<h1>MemorySegment(1/6)</h1>
 明示的なDMA転送命令を隠蔽するため MemorySegment を実装した
-
+MemorySegemnt はデータ構造。LS 内のデータを管理する。
 <ul>
   <li>一定のメモリを確保し、ハッシュで管理(LRU方式)</li>
   <li>API 内部で自動的なキャッシュを行う (サイズは任意に設定できる)</li>
@@ -485,7 +515,7 @@
 </ul>
 
 <li class="slide">
-<h1>MemorySegment(3/7)</h1>
+<h1>MemorySegment(2/6)</h1>
 
 <p style="text-align: center;">
 <img class="scale" src="pix/getsegment1.png" width="50%" alt="" title="At a Glance" />
@@ -493,7 +523,7 @@
 
 
 <li class="slide">
-<h1>MemorySegment(4/7)</h1>
+<h1>MemorySegment(3/6)</h1>
 
 <p style="text-align: center;">
 <img class="scale" src="pix/putsegment1.png" width="50%" alt="" title="At a Glance" />
@@ -501,7 +531,7 @@
 
 
 <li class="slide">
-<h1>MemorySegment(5/7)</h1>
+<h1>MemorySegment(4/6)</h1>
 明示的に記述したDMA転送命令の例
 <pre>
 loop() {
@@ -523,7 +553,7 @@
 </pre>
 
 <li class="slide">
-<h1>MemorySegment(6/7)</h1>
+<h1>MemorySegment(5/6)</h1>
 MemorySegment を適応させた例
 <pre>
 loop() {
@@ -543,29 +573,28 @@
 </pre>
 
 <li class="slide">
-<h1>MemorySegment(7/7)</h1>
+<h1>MemorySegment(6/6)</h1>
 MemorySemgment を導入
 
 <ul>
   <li>アーキテクチャ依存の記述を隠蔽することに成功した</li>
   <li>汎用的な Task 内でのデータ転送APIとして使用でき</li>
   <li>Core i7, Xeon などの汎用のメニーコアにも対応可能</li>
-  <li>CreateSpanTask 内のデータロードと、DrawspanTask の Texture のロードに使用している</li>
 </ul>
 
 <li class="slide">
-<h1>まとめ(1)</h1>
+<h1>まとめ(1/2)</h1>
 並列プログラミングフレームワーク Cerium の改良を行った。
 
 <ul>
-  <li>Mail の待ち時間を削減、稼働率とFPSの向上に成功</li>
-  <li>汎用的なデータ転送APIを実装した</li>
-  <li>Cell アーキテクチャ依存の記述の隠蔽に成功</li>
-</ul>
+  <li>MailQeueu, TaskArry を実装、導入した。その結果 Mail の待ち時間の削減、稼働率と FPS の向上に成功した</li>
+  <li>MemorySegment を実装し、汎用的なデータ転送APIが利用できるようになった。Cell アーキテクチャ依存の記述の隠蔽に成功</li>
+</ul><br>
 
+以上の改良を行い、稼働率の向上、アーキテクチャ依存のコードの排除に成功し、フレームワークとしての信頼性が向上した。
 
 <li class="slide">
-<h1>まとめ(2)</h1>
+<h1>まとめ(2/2)</h1>
 
 改良の効果を示す
 
@@ -651,18 +680,24 @@
 
 <li class="slide">
 <h1>今後の課題</h1>
-アムダールの法則より、
 
-
-<li class="slide">
-<h1>自動的な依存関係の解決</h1>
-
-<li class="slide">
-<h1>Task 化による並列化率の向上</h1>
-
-<li class="slide">
-<h1>SPE の LS の利用方法</h1>
-
+<ul>
+  <li>SceneGraph 部分の Task 化</li>
+  <ul>
+    <li>Task 化によって並列化率の向上</li>
+  </ul>
+  <li>自動的な依存関係の解決</li>
+  <ul>
+    <li>扱うデータから Task の依存関係がわかる</li>
+    <li>ユーザが複雑な依存関係を設定しない</li>
+  </ul>
+  <li>プログラムとデータの On demand Load</li>
+  <ul>
+    <li>プログラムコードはすべて LS に置いている</li>
+    <li>LS の容量を圧迫しプログラムが動作しなくなる</li>
+    <li>すべてのデータを扱う包括的なデータ構造が必要</li>
+  </ul>
+</ul>
 
 <li class="slide">
 <h1></h1>