changeset 55:58349e71879a

add svg
author anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
date Wed, 27 May 2020 16:02:23 +0900
parents b11a5c6c2905
children 76a8f55f23fa
files slide/assets/context1.svg slide/assets/context2.svg slide/assets/context_last.svg slide/gen.sh slide/slide.html slide/slide.md
diffstat 6 files changed, 143 insertions(+), 19 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/slide/assets/context1.svg	Wed May 27 16:02:23 2020 +0900
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns="http://www.w3.org/2000/svg" style="background-color: rgb(255, 255, 255);" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="613px" height="113px" viewBox="-0.5 -0.5 613 113" content="&lt;mxfile host=&quot;app.diagrams.net&quot; modified=&quot;2020-05-27T06:35:43.077Z&quot; agent=&quot;5.0 (Macintosh)&quot; etag=&quot;owqeQxJgEDqNRXTCkNxS&quot; version=&quot;13.1.3&quot; type=&quot;device&quot;&gt;&lt;diagram id=&quot;AQVKn8Yv4vHMTmgfO7Ah&quot; name=&quot;Page-1&quot;&gt;7VZNc5swEP01HNPhI2B8NHaSXjrtjKfNtDcVrUETgagQBvfXd4UEmOC28UwOOeRia99qV6v3lgUn2BbdgyRV/klQ4I7v0s4Jdo7vr2MPfzVwMkC4Dg2QSUYN5E3Anv0GC7oWbRiFerZRCcEVq+ZgKsoSUjXDiJSinW87CD4/tSIZLIB9SvgSfWRU5QaN/dWEfwSW5cPJXrQ2noIMm+1N6pxQ0Z5BwZ0TbKUQyqyKbgtcczfwYuLu/+IdC5NQqpcEEPrjiX9txf3jSnxeud8D+Q1u7DWOhDf2wrZYdRoYwLorvTxw6DaaUSdIoKR2uUs5qWuWIpirgiPg4bJWUjyNhN2aiMGMQmNbsT33QxwgYg4GutBjuqA30obtBqIAJU+4pZ2ECS3Z+ZkmAyaBE8WO8/TE9kc2phtP+CIYHuy7tpXHPLaT/dtwnqIWjUzBRp0L8SxR6P4nkSIyA7VIhIuza09Qr/MVmnsXNI84kpUcRF/nJH70qxGD46bu9drgBlSlm5y4yvT/Fp/9ByByyIbFmYTGvWgsLBWfYjSSNmcK9hVJtafFOfKvbpp65QhSQXdtt9iAeC6Ct7b2WTN50YVu8obJdKlzZlJdrYv7Lox+PIK3p8ylMfkaymRCiZeqgoyqOf2Es6zUIxiZBYmA5p3hu2tjHQWjVIcnErAS8rNP5aJd6dnSsxQmTrjTuRolajuQX0fH4JmOvhsvdLw0rv3rVURzeo+aMTl9jAR3fwA=&lt;/diagram&gt;&lt;/mxfile&gt;"><defs/><g><path d="M 173 62.5 L 173 49.5 L 382.51 49.5 L 382.51 15 L 419 56 L 382.51 97 L 382.51 62.5 Z" fill="none" stroke="#000000" stroke-width="4" stroke-linejoin="round" stroke-miterlimit="10" pointer-events="all"/><ellipse cx="81" cy="56" rx="80" ry="55" fill="#ffffff" stroke="#000000" stroke-width="3" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 158px; height: 1px; padding-top: 56px; margin-left: 2px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><font style="font-size: 20px">CodeGear</font></div></div></div></foreignObject><text x="81" y="60" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">CodeGear</text></switch></g><ellipse cx="531" cy="56" rx="80" ry="55" fill="#ffffff" stroke="#000000" stroke-width="3" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 158px; height: 1px; padding-top: 56px; margin-left: 452px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><font style="font-size: 20px">CodeGear</font></div></div></div></foreignObject><text x="531" y="60" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">CodeGear</text></switch></g><rect x="251" y="19" width="50" height="20" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 29px; margin-left: 276px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: nowrap; "><font style="font-size: 20px">goto</font></div></div></div></foreignObject><text x="276" y="33" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">goto</text></switch></g></g><switch><g requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"/><a transform="translate(0,-5)" xlink:href="https://desk.draw.io/support/solutions/articles/16000042487" target="_blank"><text text-anchor="middle" font-size="10px" x="50%" y="100%">Viewer does not support full SVG 1.1</text></a></switch></svg>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/slide/assets/context2.svg	Wed May 27 16:02:23 2020 +0900
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns="http://www.w3.org/2000/svg" style="background-color: rgb(255, 255, 255);" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="672px" height="293px" viewBox="-0.5 -0.5 672 293" content="&lt;mxfile host=&quot;app.diagrams.net&quot; modified=&quot;2020-05-27T06:37:07.422Z&quot; agent=&quot;5.0 (Macintosh)&quot; etag=&quot;pXyEaRcD-u89NN3poAKe&quot; version=&quot;13.1.3&quot; type=&quot;device&quot;&gt;&lt;diagram id=&quot;AQVKn8Yv4vHMTmgfO7Ah&quot; name=&quot;Page-1&quot;&gt;7ZfBctsgEIafRsdkhLAk+xjbSXpox5nJtGlywxKRNMbGRciW+/RdCRCS5TROOo7bmV5s+BcW2G8R4ODJsrwVZJ1+4TFljufGpYOnjueNhgh+K2GnBH/kKyERWawkZIX77CfVoqvVIotp3mkoOWcyW3fFiK9WNJIdjQjBt91mz5x1R12ThPaE+4iwvvqQxTJV6tALrf6JZklqRkbBSFmWxDTWK8lTEvNtS8LXDp4IzqUqLcsJZVXsTFxUv5sXrM3EBF3JYzqQ+GnBvm75zUPIZ6H7iMU3eqGXsSGs0AvWk5U7EwGY97oqPjNaXlURdfCYrmJdnEaM5HkWgZjKJQMBQTGXgi+agA1UD1MNfFXXsJF7OcSgqIFp3ONhF4iasEG6Ub6kUuygydaC8XWw0xYTownKiMw2XfdE50fSuGtGuOMZDOy5OpUbPzqTvYHfdZHzQkRU92qD2HMU9hy5XUeSiITKniMotJZtpZrzG5ijA8wDBsEaP/N6nhZ+8KPgxnCR17yuoAFQKa0RSkn1P4G9f0uJMN5gcsqhMvcSC6YKuxgq422aSXq/JlFl2cJ35HfZZHNlQ4Wk5VuzRXcYdiGgka63kgkFB7IJIfflzOmgeiuX4X8uYMHeXwcGH/+RjIr5EYGb82IV0/jzvBFItEhEpc4KybIV1XpMxGIGbjJZRcO9dP2u6NXqx7HAfRaeOeHbLLzRqVgMTrRJpkQSMKp94l4du1eEIllhONd+CfcYhQcYuQf2S3AqRP6HIBobp3Nh6fyr0Jq7xNmgBX8MDYUvHT4WWn2noeL96Mx3FkJNGKOMJ4IsoeGaigwCAa73bHfWcB7SAe6Qbj6p7ePMvInapIenIo2814+z99zvYW7f9ZaqK4/12eSb6rRsG6c7XXOOvPXD9Orr9ev3WnV7fi3Vz/aKGHR3Pt7f0ce+IjDac7SfMO9+RUDVvkpVc/u0x9e/AA==&lt;/diagram&gt;&lt;/mxfile&gt;"><defs/><g><path d="M 173.06 122.48 L 172.93 109.48 L 632.45 104.89 L 632.1 70.39 L 669 111.02 L 632.92 152.38 L 632.58 117.88 Z" fill="none" stroke="#000000" stroke-width="4" stroke-linejoin="round" stroke-miterlimit="10" pointer-events="all"/><ellipse cx="81" cy="116" rx="80" ry="55" fill="#ffffff" stroke="#000000" stroke-width="3" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 158px; height: 1px; padding-top: 116px; margin-left: 2px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><font style="font-size: 20px">CodeGear</font></div></div></div></foreignObject><text x="81" y="120" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">CodeGear</text></switch></g><ellipse cx="321" cy="116" rx="80" ry="55" fill="#ffffff" stroke="#000000" stroke-width="3" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 158px; height: 1px; padding-top: 116px; margin-left: 242px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><font style="font-size: 20px">CodeGear</font></div></div></div></foreignObject><text x="321" y="120" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">CodeGear</text></switch></g><path d="M 241 1 L 502 1 L 522 21 L 522 291 L 261 291 L 241 271 L 241 1 Z" fill="#ffffff" stroke="#000000" stroke-width="3" stroke-miterlimit="10" pointer-events="all"/><path d="M 241 1 L 502 1 L 522 21 L 261 21 Z" fill-opacity="0.05" fill="#000000" stroke="none" pointer-events="all"/><path d="M 241 1 L 261 21 L 261 291 L 241 271 Z" fill-opacity="0.1" fill="#000000" stroke="none" pointer-events="all"/><path d="M 261 291 L 261 21 L 241 1 M 261 21 L 522 21" fill="none" stroke="#000000" stroke-width="3" stroke-miterlimit="10" pointer-events="all"/><rect x="291" y="41" width="200" height="60" fill="#ffffff" stroke="#000000" stroke-width="3" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 198px; height: 1px; padding-top: 71px; margin-left: 292px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><font style="font-size: 20px">Data Gear A</font></div></div></div></foreignObject><text x="391" y="75" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Data Gear A</text></switch></g><rect x="291" y="116" width="200" height="60" fill="#ffffff" stroke="#000000" stroke-width="3" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 198px; height: 1px; padding-top: 146px; margin-left: 292px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><font style="font-size: 20px">Data Gear B<br /></font></div></div></div></foreignObject><text x="391" y="150" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Data Gear B&#xa;</text></switch></g><path d="M 284 271 L 323 191 L 479 191 L 440 271 Z" fill="#ffffff" stroke="#000000" stroke-width="3" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 193px; height: 1px; padding-top: 231px; margin-left: 285px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><font style="font-size: 17px">Code Gear Pointer<br /></font></div></div></div></foreignObject><text x="382" y="235" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Code Gear Pointer&#xa;</text></switch></g><path d="M 144.89 149.1 L 292.86 225.51" fill="none" stroke="#000000" stroke-width="4" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 299.53 228.95 L 288.35 228.8 L 292.86 225.51 L 292.94 219.92 Z" fill="#000000" stroke="#000000" stroke-width="4" stroke-miterlimit="10" pointer-events="all"/></g><switch><g requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"/><a transform="translate(0,-5)" xlink:href="https://desk.draw.io/support/solutions/articles/16000042487" target="_blank"><text text-anchor="middle" font-size="10px" x="50%" y="100%">Viewer does not support full SVG 1.1</text></a></switch></svg>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/slide/assets/context_last.svg	Wed May 27 16:02:23 2020 +0900
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns="http://www.w3.org/2000/svg" style="background-color: rgb(255, 255, 255);" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="843px" height="463px" viewBox="-0.5 -0.5 843 463" content="&lt;mxfile host=&quot;app.diagrams.net&quot; modified=&quot;2020-05-27T06:33:58.824Z&quot; agent=&quot;5.0 (Macintosh)&quot; version=&quot;13.1.3&quot; etag=&quot;ckA6ckliLs1KLlh26yxn&quot; type=&quot;device&quot;&gt;&lt;diagram id=&quot;vQ_f-lmZXq0hr5uRBPwC&quot;&gt;7VnBdqMgFP2aLNsjosYsm6TTWbSnPSeLaZdEqTol4hBszHz9oIBKNK2Ttkl7ZjYtXOAB9737QDKCs1VxxVAW39AQk5FthcUIzke2PfGB+FsCWwm4E1cCEUtCCYEGWCS/sQItheZJiNdGR04p4UlmggFNUxxwA0OM0Y3Z7ZESc9YMRbgDLAJEuuiPJOSxRH173ODfcRLFembgTWTLCunOaifrGIV004Lg5QjOGKVcllbFDJOSO82LHPdtT2u9MIZTPmSALQc8I5Krval18a3erFhiVhYfCS4uSvJGcIrTUBXnAUHrdRIIMOYrIgAgimvO6FPNjSNH6KrnyrryK7DOfSgQOTEOO9Q3ewE1QyKyMF1hzraiy6bxgat4jVv0a4xhgnjybJpHKhSi2lw9wx1NxMS2paK2tqOC1nZc08Sa5izAalSb8x1D444hyzTEEYsw7xgShda2G6hyab97YY97PSJ4mT7SakmNn71fOdUNZ+vKNReig3BA0TSKUlT+nwlFX2HEtDWxDmlQNndiSKxKaFNUpps44XiRoaBs2Yjs8FLgNGHxjBnHxd8Ghhrgm3yDiaq34gZ4PYEDgLU/SAyvvOAC578LykC0T+kDd3iWC/LlAI6WNE9DHF4vawAFTxEr0duckyTFCg8Re7oVZhJebtw6t1wTtCv0eLTDLu22Po3btNuTd6Dd6wahyO4LVU1pydKUSSpLHkSNMh7TiKaIXFOaKRJ/Ys636rRAOaemL3CR8PtW+aGi1FW1eaEsV5WtrqRiK/eyo+NoQI60gK+BZnBVM0bfYZYIRjBTYPfI23OgyWNCHQXq8lIlfNXLGezkwQfaUIeNPyhXzRFHolGmK+tiaMoyQ+MkaWu8o59xj36snrTlvYN8/K8gHwfAtnzOjqufyefSz+Qo+plqo0vWSOerKqq+RR9DUfousZeRN+in0cxDq+U1/RhHzyuyOUghQH8ffxKJ6PW8QSNgvO8+3Gik+njC7HCl6Pug4AgRggmNGFqJjlkrbRltrXx2GmF50BBWffVr37D1O0tbWP57CKvvHeHf+8oZe6f8ygHwdBeGwbftdsIDH5LwnJ6EZ58w4X3UA8ANri4FX0shHjAV4vhHVciAh4BDnjZ7T/Mm1veE94Bghj2x/OneRR3TpXD3pjb0XRTuxAbcPZkOfhcV1eZJXXZvfpeAl38A&lt;/diagram&gt;&lt;/mxfile&gt;"><defs/><g><path d="M 173.06 122.48 L 172.93 109.48 L 632.45 104.89 L 632.1 70.39 L 669 111.02 L 632.92 152.38 L 632.58 117.88 Z" fill="none" stroke="#000000" stroke-width="4" stroke-linejoin="round" stroke-miterlimit="10" pointer-events="all"/><ellipse cx="81" cy="116" rx="80" ry="55" fill="#ffffff" stroke="#000000" stroke-width="3" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 158px; height: 1px; padding-top: 116px; margin-left: 2px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><font style="font-size: 20px">CodeGear</font></div></div></div></foreignObject><text x="81" y="120" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">CodeGear</text></switch></g><ellipse cx="321" cy="116" rx="80" ry="55" fill="#ffffff" stroke="#000000" stroke-width="3" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 158px; height: 1px; padding-top: 116px; margin-left: 242px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><font style="font-size: 20px">CodeGear</font></div></div></div></foreignObject><text x="321" y="120" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">CodeGear</text></switch></g><path d="M 241 1 L 502 1 L 522 21 L 522 291 L 261 291 L 241 271 L 241 1 Z" fill="#ffffff" stroke="#000000" stroke-width="3" stroke-miterlimit="10" pointer-events="all"/><path d="M 241 1 L 502 1 L 522 21 L 261 21 Z" fill-opacity="0.05" fill="#000000" stroke="none" pointer-events="all"/><path d="M 241 1 L 261 21 L 261 291 L 241 271 Z" fill-opacity="0.1" fill="#000000" stroke="none" pointer-events="all"/><path d="M 261 291 L 261 21 L 241 1 M 261 21 L 522 21" fill="none" stroke="#000000" stroke-width="3" stroke-miterlimit="10" pointer-events="all"/><path d="M 491 71 L 613.12 342.06" fill="none" stroke="#000000" stroke-width="4" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 616.2 348.9 L 607.54 341.84 L 613.12 342.06 L 616.65 337.73 Z" fill="#000000" stroke="#000000" stroke-width="4" stroke-miterlimit="10" pointer-events="all"/><rect x="291" y="41" width="200" height="60" fill="#ffffff" stroke="#000000" stroke-width="3" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 198px; height: 1px; padding-top: 71px; margin-left: 292px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><font style="font-size: 20px">Data Gear A</font></div></div></div></foreignObject><text x="391" y="75" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Data Gear A</text></switch></g><path d="M 491 146 L 591.54 338.41" fill="none" stroke="#000000" stroke-width="4" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 595.01 345.06 L 585.95 338.51 L 591.54 338.41 L 594.81 333.88 Z" fill="#000000" stroke="#000000" stroke-width="4" stroke-miterlimit="10" pointer-events="all"/><rect x="291" y="116" width="200" height="60" fill="#ffffff" stroke="#000000" stroke-width="3" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 198px; height: 1px; padding-top: 146px; margin-left: 292px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><font style="font-size: 20px">Data Gear B<br /></font></div></div></div></foreignObject><text x="391" y="150" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Data Gear B&#xa;</text></switch></g><path d="M 381.5 271 L 543.97 361.29" fill="none" stroke="#000000" stroke-width="4" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 550.52 364.94 L 539.35 364.45 L 543.97 361.29 L 544.21 355.71 Z" fill="#000000" stroke="#000000" stroke-width="4" stroke-miterlimit="10" pointer-events="all"/><path d="M 284 271 L 323 191 L 479 191 L 440 271 Z" fill="#ffffff" stroke="#000000" stroke-width="3" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 193px; height: 1px; padding-top: 231px; margin-left: 285px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><font style="font-size: 17px">Code Gear Pointer<br /></font></div></div></div></foreignObject><text x="382" y="235" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Code Gear Pointer&#xa;</text></switch></g><ellipse cx="761" cy="116" rx="80" ry="55" fill="#ffffff" stroke="#000000" stroke-width="3" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 158px; height: 1px; padding-top: 116px; margin-left: 682px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><font style="font-size: 20px">CodeGear</font></div></div></div></foreignObject><text x="761" y="120" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">CodeGear</text></switch></g><path d="M 667.57 367.11 L 755.85 181.81" fill="none" stroke="#000000" stroke-width="4" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 759.08 175.04 L 759.29 186.22 L 755.85 181.81 L 750.26 181.91 Z" fill="#000000" stroke="#000000" stroke-width="4" stroke-miterlimit="10" pointer-events="all"/><ellipse cx="611" cy="406" rx="80" ry="55" fill="#ffffff" stroke="#000000" stroke-width="3" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 158px; height: 1px; padding-top: 406px; margin-left: 532px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><font style="font-size: 20px">Meta CodeGear</font></div></div></div></foreignObject><text x="611" y="410" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Meta CodeGear</text></switch></g><path d="M 144.89 149.1 L 292.86 225.51" fill="none" stroke="#000000" stroke-width="4" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 299.53 228.95 L 288.35 228.8 L 292.86 225.51 L 292.94 219.92 Z" fill="#000000" stroke="#000000" stroke-width="4" stroke-miterlimit="10" pointer-events="all"/></g><switch><g requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"/><a transform="translate(0,-5)" xlink:href="https://desk.draw.io/support/solutions/articles/16000042487" target="_blank"><text text-anchor="middle" font-size="10px" x="50%" y="100%">Viewer does not support full SVG 1.1</text></a></switch></svg>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/slide/gen.sh	Wed May 27 16:02:23 2020 +0900
@@ -0,0 +1,2 @@
+marp --theme ./themes/example.css --html slide.md
+open slide.html
--- a/slide/slide.html	Wed May 27 14:32:41 2020 +0900
+++ b/slide/slide.html	Wed May 27 16:02:23 2020 +0900
@@ -12,8 +12,8 @@
 
 /* @theme example */div#p>svg>foreignObject>section{background-image:url("assets/logo.svg");background-position:right 3% bottom 2%;background-repeat:no-repeat;background-attachment:5%;background-size:20% auto}
 
-/* @theme aiuhs9plvkf3wiwce2rs80ez7rcgddscms99vcbt5g6 */div#p>svg>foreignObject>section[data-marpit-advanced-background=background]{display:block!important;padding:0!important}div#p>svg>foreignObject>section[data-marpit-advanced-background=background]:after,div#p>svg>foreignObject>section[data-marpit-advanced-background=background]:before,div#p>svg>foreignObject>section[data-marpit-advanced-background=content]:after,div#p>svg>foreignObject>section[data-marpit-advanced-background=content]:before{display:none!important}div#p>svg>foreignObject>section[data-marpit-advanced-background=background]>div[data-marpit-advanced-background-container]{all:initial;display:flex;flex-direction:row;height:100%;overflow:hidden;width:100%}div#p>svg>foreignObject>section[data-marpit-advanced-background=background]>div[data-marpit-advanced-background-container][data-marpit-advanced-background-direction=vertical]{flex-direction:column}div#p>svg>foreignObject>section[data-marpit-advanced-background=background][data-marpit-advanced-background-split]>div[data-marpit-advanced-background-container]{width:var(--marpit-advanced-background-split,50%)}div#p>svg>foreignObject>section[data-marpit-advanced-background=background][data-marpit-advanced-background-split=right]>div[data-marpit-advanced-background-container]{margin-left:calc(100% - var(--marpit-advanced-background-split, 50%))}div#p>svg>foreignObject>section[data-marpit-advanced-background=background]>div[data-marpit-advanced-background-container]>figure{all:initial;background-position:center;background-repeat:no-repeat;background-size:cover;flex:auto;margin:0}div#p>svg>foreignObject>section[data-marpit-advanced-background=content],div#p>svg>foreignObject>section[data-marpit-advanced-background=pseudo]{background:transparent!important}div#p>svg>foreignObject>section[data-marpit-advanced-background=pseudo],div#p>svg[data-marpit-svg]>foreignObject[data-marpit-advanced-background=pseudo]{pointer-events:none!important}div#p>svg>foreignObject>section[data-marpit-advanced-background-split]{width:100%;height:100%}</style></head><body><div class="bespoke-marp-osc"><button data-bespoke-marp-osc="prev" tabindex="-1" title="Previous slide">Previous slide</button><span data-bespoke-marp-osc="page"></span><button data-bespoke-marp-osc="next" tabindex="-1" title="Next slide">Next slide</button><button data-bespoke-marp-osc="fullscreen" tabindex="-1" title="Toggle fullscreen (f)">Toggle fullscreen</button><button data-bespoke-marp-osc="presenter" tabindex="-1" title="Open presenter view (p)">Open presenter view</button></div><div id="p"><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="1" data-paginate="true" data-theme="aiuhs9plvkf3wiwce2rs80ez7rcgddscms99vcbt5g6" data-marpit-pagination="1" data-marpit-pagination-total="11" style="--paginate:true;--theme:aiuhs9plvkf3wiwce2rs80ez7rcgddscms99vcbt5g6;">
-<h1>xv6の構成要素の継続の分析</h1>
+/* @theme uykuymgtbk90iqgino298l7iz6xb7r6nm2bab9bce4g */div#p>svg>foreignObject>section[data-marpit-advanced-background=background]{display:block!important;padding:0!important}div#p>svg>foreignObject>section[data-marpit-advanced-background=background]:after,div#p>svg>foreignObject>section[data-marpit-advanced-background=background]:before,div#p>svg>foreignObject>section[data-marpit-advanced-background=content]:after,div#p>svg>foreignObject>section[data-marpit-advanced-background=content]:before{display:none!important}div#p>svg>foreignObject>section[data-marpit-advanced-background=background]>div[data-marpit-advanced-background-container]{all:initial;display:flex;flex-direction:row;height:100%;overflow:hidden;width:100%}div#p>svg>foreignObject>section[data-marpit-advanced-background=background]>div[data-marpit-advanced-background-container][data-marpit-advanced-background-direction=vertical]{flex-direction:column}div#p>svg>foreignObject>section[data-marpit-advanced-background=background][data-marpit-advanced-background-split]>div[data-marpit-advanced-background-container]{width:var(--marpit-advanced-background-split,50%)}div#p>svg>foreignObject>section[data-marpit-advanced-background=background][data-marpit-advanced-background-split=right]>div[data-marpit-advanced-background-container]{margin-left:calc(100% - var(--marpit-advanced-background-split, 50%))}div#p>svg>foreignObject>section[data-marpit-advanced-background=background]>div[data-marpit-advanced-background-container]>figure{all:initial;background-position:center;background-repeat:no-repeat;background-size:cover;flex:auto;margin:0}div#p>svg>foreignObject>section[data-marpit-advanced-background=content],div#p>svg>foreignObject>section[data-marpit-advanced-background=pseudo]{background:transparent!important}div#p>svg>foreignObject>section[data-marpit-advanced-background=pseudo],div#p>svg[data-marpit-svg]>foreignObject[data-marpit-advanced-background=pseudo]{pointer-events:none!important}div#p>svg>foreignObject>section[data-marpit-advanced-background-split]{width:100%;height:100%}</style></head><body><div class="bespoke-marp-osc"><button data-bespoke-marp-osc="prev" tabindex="-1" title="Previous slide">Previous slide</button><span data-bespoke-marp-osc="page"></span><button data-bespoke-marp-osc="next" tabindex="-1" title="Next slide">Next slide</button><button data-bespoke-marp-osc="fullscreen" tabindex="-1" title="Toggle fullscreen (f)">Toggle fullscreen</button><button data-bespoke-marp-osc="presenter" tabindex="-1" title="Open presenter view (p)">Open presenter view</button></div><div id="p"><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="1" data-paginate="true" data-theme="uykuymgtbk90iqgino298l7iz6xb7r6nm2bab9bce4g" data-marpit-pagination="1" data-marpit-pagination-total="16" style="--paginate:true;--theme:uykuymgtbk90iqgino298l7iz6xb7r6nm2bab9bce4g;">
+<h1><svg data-marp-fitting="svg"><foreignObject><span data-marp-fitting-svg-content> xv6の構成要素の継続の分析</span></foreignObject></svg></h1>
 <ul>
 <li>清水 隆博
 <ul>
@@ -27,7 +27,7 @@
 </li>
 </ul>
 </section>
-</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="2" data-paginate="true" data-theme="aiuhs9plvkf3wiwce2rs80ez7rcgddscms99vcbt5g6" data-marpit-pagination="2" data-marpit-pagination-total="11" style="--paginate:true;--theme:aiuhs9plvkf3wiwce2rs80ez7rcgddscms99vcbt5g6;">
+</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="2" data-paginate="true" data-theme="uykuymgtbk90iqgino298l7iz6xb7r6nm2bab9bce4g" data-marpit-pagination="2" data-marpit-pagination-total="16" style="--paginate:true;--theme:uykuymgtbk90iqgino298l7iz6xb7r6nm2bab9bce4g;">
 <h1>研究目的</h1>
 <ul>
 <li>アプリケーションの信頼性を向上させるたい
@@ -48,7 +48,7 @@
 </li>
 </ul>
 </section>
-</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="3" data-paginate="true" data-theme="aiuhs9plvkf3wiwce2rs80ez7rcgddscms99vcbt5g6" data-marpit-pagination="3" data-marpit-pagination-total="11" style="--paginate:true;--theme:aiuhs9plvkf3wiwce2rs80ez7rcgddscms99vcbt5g6;">
+</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="3" data-paginate="true" data-theme="uykuymgtbk90iqgino298l7iz6xb7r6nm2bab9bce4g" data-marpit-pagination="3" data-marpit-pagination-total="16" style="--paginate:true;--theme:uykuymgtbk90iqgino298l7iz6xb7r6nm2bab9bce4g;">
 <h1>OSの信頼性</h1>
 <ul>
 <li>OSそのもの動作も保証されるべき</li>
@@ -71,7 +71,7 @@
 <li>ノーマル、メタレベルの計算の両方を保証しないといけない</li>
 </ul>
 </section>
-</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="4" data-paginate="true" data-theme="aiuhs9plvkf3wiwce2rs80ez7rcgddscms99vcbt5g6" data-marpit-pagination="4" data-marpit-pagination-total="11" style="--paginate:true;--theme:aiuhs9plvkf3wiwce2rs80ez7rcgddscms99vcbt5g6;">
+</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="4" data-paginate="true" data-theme="uykuymgtbk90iqgino298l7iz6xb7r6nm2bab9bce4g" data-marpit-pagination="4" data-marpit-pagination-total="16" style="--paginate:true;--theme:uykuymgtbk90iqgino298l7iz6xb7r6nm2bab9bce4g;">
 <h1>テスト以外で信頼性を高める方法</h1>
 <ul>
 <li>モデル検査
@@ -97,7 +97,7 @@
 <li>OSをこれらの方法で信頼性を高めたい</li>
 </ul>
 </section>
-</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="5" data-paginate="true" data-theme="aiuhs9plvkf3wiwce2rs80ez7rcgddscms99vcbt5g6" data-marpit-pagination="5" data-marpit-pagination-total="11" style="--paginate:true;--theme:aiuhs9plvkf3wiwce2rs80ez7rcgddscms99vcbt5g6;">
+</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="5" data-paginate="true" data-theme="uykuymgtbk90iqgino298l7iz6xb7r6nm2bab9bce4g" data-marpit-pagination="5" data-marpit-pagination-total="16" style="--paginate:true;--theme:uykuymgtbk90iqgino298l7iz6xb7r6nm2bab9bce4g;">
 <h1>OSの信頼性を高めるためには</h1>
 <ul>
 <li>既存のOSのソースコードをそのまま使うのは困難</li>
@@ -120,7 +120,7 @@
 </li>
 </ul>
 </section>
-</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="6" data-paginate="true" data-theme="aiuhs9plvkf3wiwce2rs80ez7rcgddscms99vcbt5g6" data-marpit-pagination="6" data-marpit-pagination-total="11" style="--paginate:true;--theme:aiuhs9plvkf3wiwce2rs80ez7rcgddscms99vcbt5g6;">
+</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="6" data-paginate="true" data-theme="uykuymgtbk90iqgino298l7iz6xb7r6nm2bab9bce4g" data-marpit-pagination="6" data-marpit-pagination-total="16" style="--paginate:true;--theme:uykuymgtbk90iqgino298l7iz6xb7r6nm2bab9bce4g;">
 <h1>Continuation Based C</h1>
 <ul>
 <li>ノーマルレベル/メタレベルの実装に適している言語
@@ -142,7 +142,7 @@
 </li>
 </ul>
 </section>
-</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="7" data-paginate="true" data-theme="aiuhs9plvkf3wiwce2rs80ez7rcgddscms99vcbt5g6" data-marpit-pagination="7" data-marpit-pagination-total="11" style="--paginate:true;--theme:aiuhs9plvkf3wiwce2rs80ez7rcgddscms99vcbt5g6;">
+</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="7" data-paginate="true" data-theme="uykuymgtbk90iqgino298l7iz6xb7r6nm2bab9bce4g" data-marpit-pagination="7" data-marpit-pagination-total="16" style="--paginate:true;--theme:uykuymgtbk90iqgino298l7iz6xb7r6nm2bab9bce4g;">
 <h1>CbCとCodeGear</h1>
 <ul>
 <li>軽量継続で表現する単位をCodeGearと呼ぶ</li>
@@ -164,7 +164,7 @@
 <li>cbcで書き直したxv6の<code>read</code>システムコールの例</li>
 </ul>
 </section>
-</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="8" data-paginate="true" data-theme="aiuhs9plvkf3wiwce2rs80ez7rcgddscms99vcbt5g6" data-marpit-pagination="8" data-marpit-pagination-total="11" style="--paginate:true;--theme:aiuhs9plvkf3wiwce2rs80ez7rcgddscms99vcbt5g6;">
+</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="8" data-paginate="true" data-theme="uykuymgtbk90iqgino298l7iz6xb7r6nm2bab9bce4g" data-marpit-pagination="8" data-marpit-pagination-total="16" style="--paginate:true;--theme:uykuymgtbk90iqgino298l7iz6xb7r6nm2bab9bce4g;">
 <h1>CbCの呼び出し</h1>
 <ul>
 <li>CbCは<code>goto</code>文で呼び出す</li>
@@ -188,7 +188,7 @@
 <li>呼び出し元には返ってこない</li>
 </ul>
 </section>
-</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="9" data-paginate="true" data-theme="aiuhs9plvkf3wiwce2rs80ez7rcgddscms99vcbt5g6" data-marpit-pagination="9" data-marpit-pagination-total="11" style="--paginate:true;--theme:aiuhs9plvkf3wiwce2rs80ez7rcgddscms99vcbt5g6;">
+</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="9" data-paginate="true" data-theme="uykuymgtbk90iqgino298l7iz6xb7r6nm2bab9bce4g" data-marpit-pagination="9" data-marpit-pagination-total="16" style="--paginate:true;--theme:uykuymgtbk90iqgino298l7iz6xb7r6nm2bab9bce4g;">
 <h1>CbCを用いたOSの再実装</h1>
 <ul>
 <li>CbCのCodeGearは状態遷移単位での記述に向いている</li>
@@ -205,7 +205,7 @@
 </li>
 </ul>
 </section>
-</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="10" data-paginate="true" data-theme="aiuhs9plvkf3wiwce2rs80ez7rcgddscms99vcbt5g6" data-marpit-pagination="10" data-marpit-pagination-total="11" style="--paginate:true;--theme:aiuhs9plvkf3wiwce2rs80ez7rcgddscms99vcbt5g6;">
+</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="10" data-paginate="true" data-theme="uykuymgtbk90iqgino298l7iz6xb7r6nm2bab9bce4g" data-marpit-pagination="10" data-marpit-pagination-total="16" style="--paginate:true;--theme:uykuymgtbk90iqgino298l7iz6xb7r6nm2bab9bce4g;">
 <h1>xv6</h1>
 <ul>
 <li>マサチューセッツ工科大学で開発されたv6OSをもとにしたOS
@@ -227,11 +227,83 @@
 </li>
 </ul>
 </section>
-</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="11" data-paginate="true" data-theme="aiuhs9plvkf3wiwce2rs80ez7rcgddscms99vcbt5g6" data-marpit-pagination="11" data-marpit-pagination-total="11" style="--paginate:true;--theme:aiuhs9plvkf3wiwce2rs80ez7rcgddscms99vcbt5g6;">
-<h1>test</h1>
+</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="11" data-paginate="true" data-theme="uykuymgtbk90iqgino298l7iz6xb7r6nm2bab9bce4g" data-marpit-pagination="11" data-marpit-pagination-total="16" style="--paginate:true;--theme:uykuymgtbk90iqgino298l7iz6xb7r6nm2bab9bce4g;">
+<h1>xv6のCbCを用いた書き換え</h1>
+<ul>
+<li>xv6をCbCで部分的に書き換えていく
+<ul>
+<li>今回はシステムコール部分の一部、 メモリ管理部分、 ファイルシステムなどを書き換えた</li>
+</ul>
+</li>
+<li>全てをCodeGearに書き換えてしまうとデータの管理やCodeGearの管理が困難になる
+<ul>
+<li>スタックを持たないので、実際に利用するデータの管理はメタ計算などで処理をしたい</li>
+</ul>
+</li>
+<li>OS内部でノーマルレベル/メタレベルの処理の切り分けをしたい
+<ul>
+<li>メタな計算を行うCodeGearは直接呼び出したくない</li>
+</ul>
+</li>
+<li>ノーマル/メタのCodeGearの切り分けと、データの管理をする構造を作成した</li>
+</ul>
+</section>
+</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="12" data-paginate="true" data-theme="uykuymgtbk90iqgino298l7iz6xb7r6nm2bab9bce4g" data-marpit-pagination="12" data-marpit-pagination-total="16" style="--paginate:true;--theme:uykuymgtbk90iqgino298l7iz6xb7r6nm2bab9bce4g;">
+<h1>CbCのcotnext</h1>
+<ul>
+<li>CbCのプログラムで利用するCodeGearとデータの組を管理する機能
+<ul>
+<li>データをDataGearという単位として扱う</li>
+<li>計算で使用する各DataGearを実際に保存している</li>
+</ul>
+</li>
+<li>ノーマルレベルのCodeGear間を遷移するようにプログラミングする
+<ul>
+<li>ノーマルレベルからはCodeGearを直接操作できない
 <ul>
-<li>aa</li>
-<li>aa</li>
+<li>メタ計算中でCodeGearの番号をcontextでディスパッチする</li>
+</ul>
+</li>
+<li>この間にMetaCodeGearが 実行される</li>
+</ul>
+</li>
+<li>実際のデータの入手、保存はcontextを触ることが出来るMeta Code Gearが行う</li>
+</ul>
+</section>
+</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="13" data-paginate="true" data-theme="uykuymgtbk90iqgino298l7iz6xb7r6nm2bab9bce4g" data-marpit-pagination="13" data-marpit-pagination-total="16" style="--paginate:true;--theme:uykuymgtbk90iqgino298l7iz6xb7r6nm2bab9bce4g;">
+<p>プログラマから見るとCodeGearからCodeGearへの継続のみ<br />
+<img src="assets/context1.svg" alt="" style="padding-left: 100px;" /></p>
+</section>
+</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="14" data-paginate="true" data-theme="uykuymgtbk90iqgino298l7iz6xb7r6nm2bab9bce4g" data-marpit-pagination="14" data-marpit-pagination-total="16" style="--paginate:true;--theme:uykuymgtbk90iqgino298l7iz6xb7r6nm2bab9bce4g;">
+<p>実際は1度contextを参照するMetaCodeGearに継続する</p>
+<ul>
+<li>番号から次のCodeGearに対応するMetaCodeGearを取り出す</li>
+</ul>
+<img src="assets/context2.svg" alt="" style="padding-left: 100px;" />
+</section>
+</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="15" data-paginate="true" data-theme="uykuymgtbk90iqgino298l7iz6xb7r6nm2bab9bce4g" data-marpit-pagination="15" data-marpit-pagination-total="16" style="--paginate:true;--theme:uykuymgtbk90iqgino298l7iz6xb7r6nm2bab9bce4g;">
+<h1>read system callの書き換え</h1>
+<ul>
+<li>xv6のシステムコールの一部を書き換えることを検討する</li>
+<li>素直にread systemcallの処理をCodeGearに変換していく</li>
+</ul>
+</section>
+</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="16" data-paginate="true" data-theme="uykuymgtbk90iqgino298l7iz6xb7r6nm2bab9bce4g" data-marpit-pagination="16" data-marpit-pagination-total="16" style="--paginate:true;--theme:uykuymgtbk90iqgino298l7iz6xb7r6nm2bab9bce4g;">
+<h1>まとめ</h1>
+<ul>
+<li>xv6の処理の一部を継続を用いてcbcで書き換えた
+<ul>
+<li>システムコールに着目する手法</li>
+<li>書き換える関数のBasic Blockに着目する手法</li>
+</ul>
+</li>
+<li>部分的にCbCでxv6が書き換え可能なことが解った</li>
+<li>今後はxv6の完全な書き換えを目指す
+<ul>
+<li>ユーザーコマンド側の書き換えも検討する</li>
+</ul>
+</li>
+<li>xv6の証明可能な機能/構文の導入を目指す</li>
 </ul>
 </section>
 <script>!function(){"use strict";function t(t){Array.from(document.getElementsByTagName("svg"),e=>{if(e.hasAttribute("data-marpit-svg")){const{clientHeight:r,clientWidth:a}=e;e.style.transform||(e.style.transform="translateZ(0)");const o=t||e.currentScale||1,i=e.viewBox.baseVal.width/o,n=e.viewBox.baseVal.height/o,s=Math.min(r/n,a/i);Array.from(e.querySelectorAll(":scope > foreignObject"),t=>{const e=t.x.baseVal.value,o=t.y.baseVal.value;Array.from(t.querySelectorAll(":scope > section"),t=>{t.style.transformOrigin||(t.style.transformOrigin="0 0");const l=(a-s*i)/2-e,c=(r-s*n)/2-o;t.style.transform=`translate3d(${l}px,${c}px,0) scale(${s}) translate(${e}px,${o}px)`})})}})}const e=(t,e,r)=>{if(t.getAttribute(e)!==r)return t.setAttribute(e,r),!0};function r(a=!0){for(const e of"Apple Computer, Inc."===navigator.vendor?[t]:[])e();Array.from(document.querySelectorAll('svg[data-marp-fitting="svg"]'),t=>{const r=t.firstChild,a=r.firstChild,{scrollWidth:o,scrollHeight:i}=a;let n,s=1;if(t.hasAttribute("data-marp-fitting-code")&&(n=t.parentElement.parentElement),t.hasAttribute("data-marp-fitting-math")&&(n=t.parentElement),n){const t=getComputedStyle(n),e=Math.ceil(n.clientWidth-parseFloat(t.paddingLeft)-parseFloat(t.paddingRight));e&&(s=e)}const l=Math.max(o,s),c=Math.max(i,1),p=`0 0 ${l} ${c}`;e(r,"width",""+l),e(r,"height",""+c),e(t,"preserveAspectRatio",getComputedStyle(t).getPropertyValue("--preserve-aspect-ratio")||"xMinYMin meet"),e(t,"viewBox",p)&&t.classList.toggle("__reflow__")}),a&&window.requestAnimationFrame(()=>r(a))}!function(){if("undefined"==typeof window)throw new Error("Marp Core's browser script is valid only in browser context.");window.marpCoreBrowserScript?console.warn("Marp Core's browser script has already executed."):(Object.defineProperty(window,"marpCoreBrowserScript",{value:!0}),r())}()}();
--- a/slide/slide.md	Wed May 27 14:32:41 2020 +0900
+++ b/slide/slide.md	Wed May 27 16:02:23 2020 +0900
@@ -5,7 +5,7 @@
 ---
 
 
-# xv6の構成要素の継続の分析
+# <!--fit--> xv6の構成要素の継続の分析
 
 - 清水 隆博
     - 琉球大学大学院理工学研究科情報工学専攻
@@ -137,9 +137,50 @@
   - やっぱりRaspberryPiで動かしたい
   - 今回は ARMのバージョンをCbCで再実装する
 
+
 ---
+# xv6のCbCを用いた書き換え
+- xv6をCbCで部分的に書き換えていく
+    - 今回はシステムコール部分の一部、 メモリ管理部分、 ファイルシステムなどを書き換えた
+- 全てをCodeGearに書き換えてしまうとデータの管理やCodeGearの管理が困難になる
+    - スタックを持たないので、実際に利用するデータの管理はメタ計算などで処理をしたい
+- OS内部でノーマルレベル/メタレベルの処理の切り分けをしたい
+    - メタな計算を行うCodeGearは直接呼び出したくない
+- ノーマル/メタのCodeGearの切り分けと、データの管理をする構造を作成した
+
+---
+# CbCのcotnext
+- CbCのプログラムで利用するCodeGearとデータの組を管理する機能
+  - データをDataGearという単位として扱う
+  - 計算で使用する各DataGearを実際に保存している
+- ノーマルレベルのCodeGear間を遷移するようにプログラミングする
+  - ノーマルレベルからはCodeGearを直接操作できない
+    - メタ計算中でCodeGearの番号をcontextでディスパッチする
+  - この間にMetaCodeGearが 実行される
+- 実際のデータの入手、保存はcontextを触ることが出来るMeta Code Gearが行う
 
-# test
+---
+プログラマから見るとCodeGearからCodeGearへの継続のみ
+<img src="assets/context1.svg" alt="" style="padding-left: 100px;">
+
+---
+実際は1度contextを参照するMetaCodeGearに継続する
+- 番号から次のCodeGearに対応するMetaCodeGearを取り出す
+
+<img src="assets/context2.svg" alt="" style="padding-left: 100px;">
 
-- aa
-- aa
+---
+# read system callの書き換え
+- xv6のシステムコールの一部を書き換えることを検討する
+- 素直にread systemcallの処理をCodeGearに変換していく
+
+
+---
+# まとめ
+- xv6の処理の一部を継続を用いてcbcで書き換えた
+  - システムコールに着目する手法
+  - 書き換える関数のBasic Blockに着目する手法
+- 部分的にCbCでxv6が書き換え可能なことが解った
+- 今後はxv6の完全な書き換えを目指す
+    - ユーザーコマンド側の書き換えも検討する
+- xv6の証明可能な機能/構文の導入を目指す