Mercurial > hg > Papers > 2016 > parusu-sigos
changeset 2:600562c0d5d2
Update
author | Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp> |
---|---|
date | Fri, 06 May 2016 01:56:15 +0900 |
parents | fe6323d1602d |
children | d46b6944f881 |
files | paper/pic/cbc_goto.graffle paper/pic/cbc_goto.pdf paper/sigos.pdf paper/sigos.tex |
diffstat | 4 files changed, 1092 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/paper/pic/cbc_goto.graffle Fri May 06 01:56:15 2016 +0900 @@ -0,0 +1,1037 @@ +<?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.OmniGraffle6</string> + <string>167.2.0.244490</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>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>2011-11-12 11:03:25 +0000</string> + <key>Creator</key> + <string>Nobuyasu Oshiro</string> + <key>DisplayScale</key> + <string>1 in = 1.00000 in</string> + <key>GraphDocumentVersion</key> + <integer>12</integer> + <key>GraphicsList</key> + <array> + <dict> + <key>Bounds</key> + <string>{{315.5, 89.625}, {45.933593999999999, 18.375}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>ID</key> + <integer>32</integer> + <key>Magnets</key> + <array> + <string>{1, 1}</string> + <string>{1, -1}</string> + <string>{-1, -1}</string> + <string>{-1, 1}</string> + <string>{0, 1}</string> + <string>{0, -1}</string> + <string>{1, 0}</string> + <string>{-1, 0}</string> + <string>{-0.5, -0.233518}</string> + <string>{-0.49144199, 0.26006298999999999}</string> + <string>{0.50711799000000002, -0.22408600000000001}</string> + <string>{0.50711799000000002, 0.26717900999999999}</string> + <string>{-0.27430999, -0.47402799000000001}</string> + <string>{0.27977999999999997, -0.47847801000000001}</string> + <string>{0.29393801000000003, 0.54304397000000004}</string> + <string>{-0.28623198999999999, 0.55380397999999997}</string> + </array> + <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\cocoartf1348\cocoasubrtf170 +{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\fs24 \cf0 goto}</string> + <key>VerticalPad</key> + <real>0.0</real> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{315.5, 171}, {45.933593999999999, 18.375}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>ID</key> + <integer>31</integer> + <key>Magnets</key> + <array> + <string>{1, 1}</string> + <string>{1, -1}</string> + <string>{-1, -1}</string> + <string>{-1, 1}</string> + <string>{0, 1}</string> + <string>{0, -1}</string> + <string>{1, 0}</string> + <string>{-1, 0}</string> + <string>{-0.5, -0.233518}</string> + <string>{-0.49144199, 0.26006298999999999}</string> + <string>{0.50711799000000002, -0.22408600000000001}</string> + <string>{0.50711799000000002, 0.26717900999999999}</string> + <string>{-0.27430999, -0.47402799000000001}</string> + <string>{0.27977999999999997, -0.47847801000000001}</string> + <string>{0.29393801000000003, 0.54304397000000004}</string> + <string>{-0.28623198999999999, 0.55380397999999997}</string> + </array> + <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\cocoartf1348\cocoasubrtf170 +{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\fs24 \cf0 goto}</string> + <key>VerticalPad</key> + <real>0.0</real> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{190.20312000000001, 167}, {45.933593999999999, 18.375}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>ID</key> + <integer>30</integer> + <key>Magnets</key> + <array> + <string>{1, 1}</string> + <string>{1, -1}</string> + <string>{-1, -1}</string> + <string>{-1, 1}</string> + <string>{0, 1}</string> + <string>{0, -1}</string> + <string>{1, 0}</string> + <string>{-1, 0}</string> + <string>{-0.5, -0.233518}</string> + <string>{-0.49144199, 0.26006298999999999}</string> + <string>{0.50711799000000002, -0.22408600000000001}</string> + <string>{0.50711799000000002, 0.26717900999999999}</string> + <string>{-0.27430999, -0.47402799000000001}</string> + <string>{0.27977999999999997, -0.47847801000000001}</string> + <string>{0.29393801000000003, 0.54304397000000004}</string> + <string>{-0.28623198999999999, 0.55380397999999997}</string> + </array> + <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\cocoartf1348\cocoasubrtf170 +{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\fs24 \cf0 goto}</string> + <key>VerticalPad</key> + <real>0.0</real> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{405.93358999999998, 125}, {54, 18}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>ID</key> + <integer>29</integer> + <key>Magnets</key> + <array> + <string>{1, 1}</string> + <string>{1, -1}</string> + <string>{-1, -1}</string> + <string>{-1, 1}</string> + <string>{0, 1}</string> + <string>{0, -1}</string> + <string>{1, 0}</string> + <string>{-1, 0}</string> + <string>{-0.5, -0.233518}</string> + <string>{-0.49144199, 0.26006298999999999}</string> + <string>{0.50711799000000002, -0.22408600000000001}</string> + <string>{0.50711799000000002, 0.26717900999999999}</string> + <string>{-0.27430999, -0.47402799000000001}</string> + <string>{0.27977999999999997, -0.47847801000000001}</string> + <string>{0.29393801000000003, 0.54304397000000004}</string> + <string>{-0.28623198999999999, 0.55380397999999997}</string> + </array> + <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\cocoartf1348\cocoasubrtf170 +{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\fs24 \cf0 goto}</string> + <key>VerticalPad</key> + <real>0.0</real> + </dict> + </dict> + <dict> + <key>AllowLabelDrop</key> + <false/> + <key>Class</key> + <string>LineGraphic</string> + <key>ID</key> + <integer>28</integer> + <key>Points</key> + <array> + <string>{412.93358999999998, 143.02043}</string> + <string>{462.43358999999998, 143}</string> + </array> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>HeadArrow</key> + <string>FilledArrow</string> + <key>HeadScale</key> + <real>1.4285709857940674</real> + <key>Legacy</key> + <true/> + <key>TailArrow</key> + <string>0</string> + <key>TailScale</key> + <real>0.5</real> + </dict> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{90, 126}, {54, 18}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>ID</key> + <integer>27</integer> + <key>Magnets</key> + <array> + <string>{1, 1}</string> + <string>{1, -1}</string> + <string>{-1, -1}</string> + <string>{-1, 1}</string> + <string>{0, 1}</string> + <string>{0, -1}</string> + <string>{1, 0}</string> + <string>{-1, 0}</string> + <string>{-0.5, -0.233518}</string> + <string>{-0.49144199, 0.26006298999999999}</string> + <string>{0.50711799000000002, -0.22408600000000001}</string> + <string>{0.50711799000000002, 0.26717900999999999}</string> + <string>{-0.27430999, -0.47402799000000001}</string> + <string>{0.27977999999999997, -0.47847801000000001}</string> + <string>{0.29393801000000003, 0.54304397000000004}</string> + <string>{-0.28623198999999999, 0.55380397999999997}</string> + </array> + <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\cocoartf1348\cocoasubrtf170 +{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\fs24 \cf0 goto}</string> + <key>VerticalPad</key> + <real>0.0</real> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{252, 134.3125}, {45.933593999999999, 18.375}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>ID</key> + <integer>26</integer> + <key>Magnets</key> + <array> + <string>{1, 1}</string> + <string>{1, -1}</string> + <string>{-1, -1}</string> + <string>{-1, 1}</string> + <string>{0, 1}</string> + <string>{0, -1}</string> + <string>{1, 0}</string> + <string>{-1, 0}</string> + <string>{-0.5, -0.233518}</string> + <string>{-0.49144199, 0.26006298999999999}</string> + <string>{0.50711799000000002, -0.22408600000000001}</string> + <string>{0.50711799000000002, 0.26717900999999999}</string> + <string>{-0.27430999, -0.47402799000000001}</string> + <string>{0.27977999999999997, -0.47847801000000001}</string> + <string>{0.29393801000000003, 0.54304397000000004}</string> + <string>{-0.28623198999999999, 0.55380397999999997}</string> + </array> + <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\cocoartf1348\cocoasubrtf170 +{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\fs24 \cf0 goto}</string> + <key>VerticalPad</key> + <real>0.0</real> + </dict> + </dict> + <dict> + <key>AllowLabelDrop</key> + <false/> + <key>Class</key> + <string>LineGraphic</string> + <key>Head</key> + <dict> + <key>ID</key> + <integer>3</integer> + </dict> + <key>ID</key> + <integer>23</integer> + <key>Points</key> + <array> + <string>{97, 144.03550999999999}</string> + <string>{146.49998746293761, 144.0150711098278}</string> + </array> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>HeadArrow</key> + <string>FilledArrow</string> + <key>HeadScale</key> + <real>1.4285709857940674</real> + <key>Legacy</key> + <true/> + <key>TailArrow</key> + <string>0</string> + <key>TailScale</key> + <real>0.5</real> + </dict> + </dict> + </dict> + <dict> + <key>Class</key> + <string>LineGraphic</string> + <key>Head</key> + <dict> + <key>ID</key> + <integer>5</integer> + </dict> + <key>ID</key> + <integer>11</integer> + <key>Points</key> + <array> + <string>{307.06832644961662, 99.005708590904717}</string> + <string>{348.41386755785959, 126.00973315833174}</string> + </array> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </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>1</integer> + </dict> + </dict> + <dict> + <key>Class</key> + <string>LineGraphic</string> + <key>Head</key> + <dict> + <key>ID</key> + <integer>5</integer> + </dict> + <key>ID</key> + <integer>38</integer> + <key>Points</key> + <array> + <string>{307.26186045457405, 188.16336426740673}</string> + <string>{348.23813954515032, 161.83663573235037}</string> + </array> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </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>34</integer> + </dict> + </dict> + <dict> + <key>Class</key> + <string>LineGraphic</string> + <key>Head</key> + <dict> + <key>ID</key> + <integer>34</integer> + </dict> + <key>ID</key> + <integer>37</integer> + <key>Points</key> + <array> + <string>{210.76185637532367, 161.83663311602177}</string> + <string>{251.73814361460188, 188.16336689285151}</string> + </array> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </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>3</integer> + </dict> + </dict> + <dict> + <key>Class</key> + <string>LineGraphic</string> + <key>Head</key> + <dict> + <key>ID</key> + <integer>1</integer> + </dict> + <key>ID</key> + <integer>8</integer> + <key>Points</key> + <array> + <string>{210.56036004631343, 125.98738390291257}</string> + <string>{251.89396917594394, 98.972989609515338}</string> + </array> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </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>3</integer> + </dict> + </dict> + <dict> + <key>Class</key> + <string>LineGraphic</string> + <key>Head</key> + <dict> + <key>ID</key> + <integer>34</integer> + </dict> + <key>ID</key> + <integer>36</integer> + <key>Points</key> + <array> + <string>{293.55569627859614, 106.37834050302079}</string> + <string>{315.5, 146}</string> + <string>{294.53436892560063, 180.94271845733229}</string> + </array> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </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>1</integer> + </dict> + </dict> + <dict> + <key>Class</key> + <string>LineGraphic</string> + <key>Head</key> + <dict> + <key>ID</key> + <integer>1</integer> + </dict> + <key>ID</key> + <integer>35</integer> + <key>Points</key> + <array> + <string>{263.99039783562887, 181.10804590903402}</string> + <string>{239, 141}</string> + <string>{262.95578718585557, 105.50994490984354}</string> + </array> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </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>34</integer> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{340, 117}, {72, 54}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>ID</key> + <integer>5</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\ansicpg1252\cocoartf1348\cocoasubrtf170 +{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\fs24 \cf0 code segment\ +D}</string> + <key>VerticalPad</key> + <real>0.0</real> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{243.5, 179}, {72, 54}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>ID</key> + <integer>34</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\ansicpg1252\cocoartf1348\cocoasubrtf170 +{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\fs24 \cf0 code segment\ +C}</string> + <key>VerticalPad</key> + <real>0.0</real> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{147, 117}, {72, 54}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>ID</key> + <integer>3</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\ansicpg1252\cocoartf1348\cocoasubrtf170 +{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\fs24 \cf0 code segment A}</string> + <key>VerticalPad</key> + <real>0.0</real> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{243.5, 54}, {72, 54}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>ID</key> + <integer>1</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\ansicpg1252\cocoartf1348\cocoasubrtf170 +{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\fs24 \cf0 code segment\ +B}</string> + <key>VerticalPad</key> + <real>0.0</real> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{197.56640999999999, 98.625}, {45.933593999999999, 18.375}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>ID</key> + <integer>25</integer> + <key>Magnets</key> + <array> + <string>{1, 1}</string> + <string>{1, -1}</string> + <string>{-1, -1}</string> + <string>{-1, 1}</string> + <string>{0, 1}</string> + <string>{0, -1}</string> + <string>{1, 0}</string> + <string>{-1, 0}</string> + <string>{-0.5, -0.233518}</string> + <string>{-0.49144199, 0.26006298999999999}</string> + <string>{0.50711799000000002, -0.22408600000000001}</string> + <string>{0.50711799000000002, 0.26717900999999999}</string> + <string>{-0.27430999, -0.47402799000000001}</string> + <string>{0.27977999999999997, -0.47847801000000001}</string> + <string>{0.29393801000000003, 0.54304397000000004}</string> + <string>{-0.28623198999999999, 0.55380397999999997}</string> + </array> + <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\cocoartf1348\cocoasubrtf170 +{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\fs24 \cf0 goto}</string> + <key>VerticalPad</key> + <real>0.0</real> + </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>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>neatoLineLength</key> + <real>0.20000000298023224</real> + <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>2015-10-27 21:38:00 +0000</string> + <key>Modifier</key> + <string>Tatsuki IHA</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>coded</string> + <string>BAtzdHJlYW10eXBlZIHoA4QBQISEhAhOU051bWJlcgCEhAdOU1ZhbHVlAISECE5TT2JqZWN0AIWEASqEhAFxlwCG</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>Expanded_Canvases</key> + <array/> + <key>Frame</key> + <string>{{4, -0}, {1913, 983}}</string> + <key>ShowInfo</key> + <true/> + <key>ShowRuler</key> + <true/> + <key>Sidebar</key> + <true/> + <key>SidebarWidth</key> + <integer>200</integer> + <key>TopSlabHeight</key> + <real>250</real> + <key>VisibleRegion</key> + <string>{{-420, -21}, {1399, 826}}</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/sigos.tex Wed May 04 18:43:15 2016 +0900 +++ b/paper/sigos.tex Fri May 06 01:56:15 2016 +0900 @@ -88,10 +88,63 @@ % Introduce \section{GearsOS} + \section{Code Gear と Data Gear} +Gears OS はプログラムの単位として Gear を用いる。 +Gear は並列実行の単位、データの分割、Gear 間の接続等になる。 + +Code Gear はプログラムの処理そのものである。 +Code Gear は任意の数の Input Data Gear を参照し、 処理が完了すると任意の数の Output Data Gear に書き込む。 +Code Gear は接続された Data Gear 以外には参照行わない。 + +Data Gear は Data そのものを表しており、int や文字列などの Primitive Data Type が入っている。 + +Gears OS では Code Gear と Input / Output Data Gear の対応から依存関係を解決し、 Code Gear の並列実行を可能とする。 +図\ref{fig:codeGear_dataGear} に Code Gear と Data Gear を使用した実行を示す。 + +Gear の特徴として処理やデータの構造が Code Gear、 Data Gear に閉じていることにある。 +これにより、実行時間、メモリ使用量などを予想可能なものにする事が可能になる。 + +\begin{figure}[ht] + \begin{center} + \includegraphics[width=70mm]{./pic/codeGear_dataGear.pdf} + \end{center} + \caption{Code Gear と Data Gear での実行} + \label{fig:codeGear_dataGear} +\end{figure} + +\section{Continuation based C} +Gears OS の実装は本研究室で開発している CbC(Continuation based C)を用いて行う。 +CbC は処理を Code Segment を用いて記述することを基本としているため、 Gears OS の Code Gear を記述するのに適している。 -\section{} -\section{} +CbC のプログラムでは C の関数の代わりに Code Segment を用いてい処理を記述している。 Code Segment は C の関数と異なり戻り値を持たない。 +Code Segment の宣言は C の関数の構文と同様に行い、 型に \_\_code を使うことで宣言できる。 + +Code Segment から Code Segment への移動は goto の後に Code Segment 名と引数を並べた記述するという構文を用いて行う。 +この goto による処理の遷移を継続と呼ぶ。 図\ref{fig:cbc_goto} は Code Segment 間の継続関係を表している。 + +C では関数呼び出しを行うたび、関数の引数の値がスタックに積まれていくが、Code Segment では戻り値を持たないため、スタックに値を積んでいく必要がなくスタックを変更する必要が無い。 +このようなスタックに値を積まない継続、つまり呼び出し元の環境を持たない継続を軽量継続と呼ぶ。 +軽量継続により、並列化、ループ制御、関数コールとスタックの操作を意識した最適化がソースコードレベルで行えるようにする。 + +\begin{figure}[ht] + \begin{center} + \includegraphics[width=70mm]{./pic/cbc_goto.pdf} + \end{center} + \caption{gotoによる Code Segment 間の接続} + \label{fig:cbc_goto} +\end{figure} +\section{CbC での Gears OS の構文サポート} +CbC は Gears OS の構文のサポートを行う。 + +Gesrs OS では Contextという接続可能な Data Gear のリストからデータを取り出して処理行う。 +しかし、 Context を直接扱うのはセキュリティ上好ましくない。 +そこで Gears OS では Context から必要なデータを取り出して Code Gear に接続する stub を定義する。 +stub は Code Gear から推論することが可能のため、 CbC は自動的に stub の生成を行う。 + +また、Code Gear の遷移には meta computation を行うために Meta Code Gear を挟む。 +CbC では Meta Code Gear への接続も自動的に行うようにする。 + \section{まとめ} \nocite{*}