changeset 22:e7239fe266f0

Revise 5/29 20:00
author ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
date Wed, 29 May 2019 19:55:57 +0900
parents 5676b95c02b6
children 8a3b1147329e
files paper/images/remote_datasegment.svg slide/prosym.html slide/prosym.md slide/prosym.pdf.html
diffstat 4 files changed, 813 insertions(+), 301 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/paper/images/remote_datasegment.svg	Wed May 29 19:55:57 2019 +0900
@@ -0,0 +1,347 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="509pt" height="390pt" viewBox="0 0 509 390" version="1.1">
+<defs>
+<g>
+<symbol overflow="visible" id="glyph0-0">
+<path style="stroke:none;" d="M 0.390625 0 L 0.390625 -8.609375 L 7.21875 -8.609375 L 7.21875 0 Z M 6.140625 -1.078125 L 6.140625 -7.53125 L 1.46875 -7.53125 L 1.46875 -1.078125 Z M 6.140625 -1.078125 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-1">
+<path style="stroke:none;" d="M 0.921875 -8.609375 L 2.078125 -8.609375 L 2.078125 -1.03125 L 6.4375 -1.03125 L 6.4375 0 L 0.921875 0 Z M 0.921875 -8.609375 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-2">
+<path style="stroke:none;" d="M 3.265625 -0.6875 C 3.960938 -0.6875 4.441406 -0.945312 4.703125 -1.46875 C 4.960938 -2 5.09375 -2.585938 5.09375 -3.234375 C 5.09375 -3.828125 5 -4.304688 4.8125 -4.671875 C 4.507812 -5.242188 4 -5.53125 3.28125 -5.53125 C 2.632812 -5.53125 2.164062 -5.285156 1.875 -4.796875 C 1.582031 -4.304688 1.4375 -3.710938 1.4375 -3.015625 C 1.4375 -2.347656 1.582031 -1.789062 1.875 -1.34375 C 2.164062 -0.90625 2.628906 -0.6875 3.265625 -0.6875 Z M 3.3125 -6.453125 C 4.113281 -6.453125 4.789062 -6.179688 5.34375 -5.640625 C 5.90625 -5.109375 6.1875 -4.316406 6.1875 -3.265625 C 6.1875 -2.253906 5.941406 -1.414062 5.453125 -0.75 C 4.960938 -0.09375 4.203125 0.234375 3.171875 0.234375 C 2.304688 0.234375 1.617188 -0.0546875 1.109375 -0.640625 C 0.597656 -1.234375 0.34375 -2.019531 0.34375 -3 C 0.34375 -4.050781 0.609375 -4.890625 1.140625 -5.515625 C 1.679688 -6.140625 2.40625 -6.453125 3.3125 -6.453125 Z M 3.265625 -6.421875 Z M 3.265625 -6.421875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-3">
+<path style="stroke:none;" d="M 3.1875 -6.453125 C 3.894531 -6.453125 4.46875 -6.28125 4.90625 -5.9375 C 5.351562 -5.59375 5.625 -5.003906 5.71875 -4.171875 L 4.6875 -4.171875 C 4.625 -4.554688 4.484375 -4.875 4.265625 -5.125 C 4.046875 -5.382812 3.6875 -5.515625 3.1875 -5.515625 C 2.519531 -5.515625 2.039062 -5.1875 1.75 -4.53125 C 1.5625 -4.101562 1.46875 -3.578125 1.46875 -2.953125 C 1.46875 -2.328125 1.597656 -1.796875 1.859375 -1.359375 C 2.128906 -0.929688 2.550781 -0.71875 3.125 -0.71875 C 3.5625 -0.71875 3.90625 -0.851562 4.15625 -1.125 C 4.414062 -1.394531 4.59375 -1.757812 4.6875 -2.21875 L 5.71875 -2.21875 C 5.601562 -1.382812 5.3125 -0.773438 4.84375 -0.390625 C 4.375 -0.00390625 3.773438 0.1875 3.046875 0.1875 C 2.222656 0.1875 1.566406 -0.113281 1.078125 -0.71875 C 0.585938 -1.320312 0.34375 -2.070312 0.34375 -2.96875 C 0.34375 -4.070312 0.609375 -4.925781 1.140625 -5.53125 C 1.679688 -6.144531 2.363281 -6.453125 3.1875 -6.453125 Z M 3.03125 -6.421875 Z M 3.03125 -6.421875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-4">
+<path style="stroke:none;" d="M 1.578125 -1.671875 C 1.578125 -1.367188 1.6875 -1.128906 1.90625 -0.953125 C 2.132812 -0.773438 2.398438 -0.6875 2.703125 -0.6875 C 3.078125 -0.6875 3.4375 -0.769531 3.78125 -0.9375 C 4.375 -1.226562 4.671875 -1.695312 4.671875 -2.34375 L 4.671875 -3.1875 C 4.535156 -3.113281 4.363281 -3.046875 4.15625 -2.984375 C 3.957031 -2.929688 3.757812 -2.894531 3.5625 -2.875 L 2.9375 -2.796875 C 2.550781 -2.742188 2.257812 -2.660156 2.0625 -2.546875 C 1.738281 -2.367188 1.578125 -2.078125 1.578125 -1.671875 Z M 4.140625 -3.796875 C 4.378906 -3.828125 4.539062 -3.929688 4.625 -4.109375 C 4.664062 -4.203125 4.6875 -4.335938 4.6875 -4.515625 C 4.6875 -4.867188 4.554688 -5.125 4.296875 -5.28125 C 4.046875 -5.445312 3.6875 -5.53125 3.21875 -5.53125 C 2.664062 -5.53125 2.273438 -5.382812 2.046875 -5.09375 C 1.910156 -4.925781 1.820312 -4.679688 1.78125 -4.359375 L 0.796875 -4.359375 C 0.816406 -5.128906 1.066406 -5.664062 1.546875 -5.96875 C 2.035156 -6.269531 2.597656 -6.421875 3.234375 -6.421875 C 3.972656 -6.421875 4.570312 -6.28125 5.03125 -6 C 5.488281 -5.71875 5.71875 -5.28125 5.71875 -4.6875 L 5.71875 -1.078125 C 5.71875 -0.972656 5.738281 -0.882812 5.78125 -0.8125 C 5.832031 -0.75 5.929688 -0.71875 6.078125 -0.71875 C 6.117188 -0.71875 6.164062 -0.71875 6.21875 -0.71875 C 6.28125 -0.726562 6.347656 -0.738281 6.421875 -0.75 L 6.421875 0.03125 C 6.253906 0.0703125 6.125 0.0976562 6.03125 0.109375 C 5.945312 0.128906 5.832031 0.140625 5.6875 0.140625 C 5.320312 0.140625 5.0625 0.0078125 4.90625 -0.25 C 4.8125 -0.382812 4.75 -0.578125 4.71875 -0.828125 C 4.5 -0.546875 4.1875 -0.300781 3.78125 -0.09375 C 3.382812 0.113281 2.945312 0.21875 2.46875 0.21875 C 1.882812 0.21875 1.40625 0.0390625 1.03125 -0.3125 C 0.664062 -0.664062 0.484375 -1.109375 0.484375 -1.640625 C 0.484375 -2.222656 0.664062 -2.675781 1.03125 -3 C 1.394531 -3.320312 1.867188 -3.519531 2.453125 -3.59375 Z M 3.265625 -6.421875 Z M 3.265625 -6.421875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-5">
+<path style="stroke:none;" d="M 0.796875 -8.609375 L 1.859375 -8.609375 L 1.859375 0 L 0.796875 0 Z M 0.796875 -8.609375 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-6">
+<path style="stroke:none;" d="M 4.21875 -1 C 4.613281 -1 4.9375 -1.039062 5.1875 -1.125 C 5.644531 -1.269531 6.019531 -1.5625 6.3125 -2 C 6.539062 -2.34375 6.703125 -2.785156 6.796875 -3.328125 C 6.859375 -3.660156 6.890625 -3.960938 6.890625 -4.234375 C 6.890625 -5.304688 6.675781 -6.132812 6.25 -6.71875 C 5.832031 -7.3125 5.148438 -7.609375 4.203125 -7.609375 L 2.140625 -7.609375 L 2.140625 -1 Z M 0.96875 -8.609375 L 4.453125 -8.609375 C 5.640625 -8.609375 6.554688 -8.1875 7.203125 -7.34375 C 7.785156 -6.59375 8.078125 -5.625 8.078125 -4.4375 C 8.078125 -3.519531 7.90625 -2.691406 7.5625 -1.953125 C 6.957031 -0.648438 5.914062 0 4.4375 0 L 0.96875 0 Z M 0.96875 -8.609375 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-7">
+<path style="stroke:none;" d="M 1.671875 -2.78125 C 1.703125 -2.289062 1.816406 -1.894531 2.015625 -1.59375 C 2.410156 -1.019531 3.09375 -0.734375 4.0625 -0.734375 C 4.5 -0.734375 4.898438 -0.796875 5.265625 -0.921875 C 5.960938 -1.160156 6.3125 -1.59375 6.3125 -2.21875 C 6.3125 -2.6875 6.160156 -3.019531 5.859375 -3.21875 C 5.566406 -3.414062 5.101562 -3.585938 4.46875 -3.734375 L 3.3125 -4 C 2.539062 -4.164062 2 -4.351562 1.6875 -4.5625 C 1.144531 -4.925781 0.875 -5.460938 0.875 -6.171875 C 0.875 -6.953125 1.140625 -7.585938 1.671875 -8.078125 C 2.203125 -8.578125 2.957031 -8.828125 3.9375 -8.828125 C 4.84375 -8.828125 5.609375 -8.609375 6.234375 -8.171875 C 6.867188 -7.734375 7.1875 -7.035156 7.1875 -6.078125 L 6.09375 -6.078125 C 6.03125 -6.546875 5.90625 -6.898438 5.71875 -7.140625 C 5.363281 -7.585938 4.757812 -7.8125 3.90625 -7.8125 C 3.21875 -7.8125 2.722656 -7.664062 2.421875 -7.375 C 2.117188 -7.09375 1.96875 -6.757812 1.96875 -6.375 C 1.96875 -5.957031 2.144531 -5.648438 2.5 -5.453125 C 2.726562 -5.328125 3.25 -5.171875 4.0625 -4.984375 L 5.28125 -4.703125 C 5.851562 -4.566406 6.300781 -4.382812 6.625 -4.15625 C 7.164062 -3.757812 7.4375 -3.175781 7.4375 -2.40625 C 7.4375 -1.457031 7.085938 -0.773438 6.390625 -0.359375 C 5.703125 0.046875 4.898438 0.25 3.984375 0.25 C 2.910156 0.25 2.070312 -0.0195312 1.46875 -0.5625 C 0.863281 -1.113281 0.566406 -1.851562 0.578125 -2.78125 Z M 4.03125 -8.84375 Z M 4.03125 -8.84375 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-8">
+<path style="stroke:none;" d="M 0.890625 -8.609375 L 2.5625 -8.609375 L 5.03125 -1.328125 L 7.484375 -8.609375 L 9.140625 -8.609375 L 9.140625 0 L 8.03125 0 L 8.03125 -5.078125 C 8.03125 -5.253906 8.03125 -5.546875 8.03125 -5.953125 C 8.039062 -6.359375 8.046875 -6.796875 8.046875 -7.265625 L 5.59375 0 L 4.4375 0 L 1.96875 -7.265625 L 1.96875 -7 C 1.96875 -6.789062 1.972656 -6.46875 1.984375 -6.03125 C 1.992188 -5.601562 2 -5.285156 2 -5.078125 L 2 0 L 0.890625 0 Z M 0.890625 -8.609375 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-9">
+<path style="stroke:none;" d="M 4.921875 -4.671875 C 5.460938 -4.671875 5.890625 -4.78125 6.203125 -5 C 6.523438 -5.21875 6.6875 -5.609375 6.6875 -6.171875 C 6.6875 -6.785156 6.46875 -7.207031 6.03125 -7.4375 C 5.789062 -7.550781 5.46875 -7.609375 5.0625 -7.609375 L 2.21875 -7.609375 L 2.21875 -4.671875 Z M 1.0625 -8.609375 L 5.046875 -8.609375 C 5.703125 -8.609375 6.238281 -8.515625 6.65625 -8.328125 C 7.46875 -7.953125 7.875 -7.269531 7.875 -6.28125 C 7.875 -5.769531 7.765625 -5.347656 7.546875 -5.015625 C 7.335938 -4.691406 7.039062 -4.429688 6.65625 -4.234375 C 7 -4.097656 7.253906 -3.914062 7.421875 -3.6875 C 7.585938 -3.46875 7.679688 -3.109375 7.703125 -2.609375 L 7.75 -1.453125 C 7.757812 -1.128906 7.785156 -0.882812 7.828125 -0.71875 C 7.898438 -0.445312 8.023438 -0.269531 8.203125 -0.1875 L 8.203125 0 L 6.78125 0 C 6.738281 -0.0703125 6.703125 -0.164062 6.671875 -0.28125 C 6.648438 -0.40625 6.632812 -0.632812 6.625 -0.96875 L 6.546875 -2.40625 C 6.523438 -2.96875 6.316406 -3.34375 5.921875 -3.53125 C 5.703125 -3.632812 5.351562 -3.6875 4.875 -3.6875 L 2.21875 -3.6875 L 2.21875 0 L 1.0625 0 Z M 1.0625 -8.609375 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-10">
+<path style="stroke:none;" d="M 3.390625 -6.421875 C 3.835938 -6.421875 4.269531 -6.316406 4.6875 -6.109375 C 5.101562 -5.898438 5.421875 -5.628906 5.640625 -5.296875 C 5.847656 -4.972656 5.988281 -4.601562 6.0625 -4.1875 C 6.125 -3.894531 6.15625 -3.429688 6.15625 -2.796875 L 1.546875 -2.796875 C 1.566406 -2.160156 1.71875 -1.648438 2 -1.265625 C 2.28125 -0.878906 2.71875 -0.6875 3.3125 -0.6875 C 3.863281 -0.6875 4.300781 -0.867188 4.625 -1.234375 C 4.8125 -1.441406 4.945312 -1.6875 5.03125 -1.96875 L 6.0625 -1.96875 C 6.039062 -1.738281 5.953125 -1.484375 5.796875 -1.203125 C 5.640625 -0.921875 5.46875 -0.6875 5.28125 -0.5 C 4.957031 -0.1875 4.554688 0.0195312 4.078125 0.125 C 3.828125 0.1875 3.539062 0.21875 3.21875 0.21875 C 2.4375 0.21875 1.773438 -0.0625 1.234375 -0.625 C 0.691406 -1.195312 0.421875 -1.992188 0.421875 -3.015625 C 0.421875 -4.023438 0.691406 -4.84375 1.234375 -5.46875 C 1.785156 -6.101562 2.503906 -6.421875 3.390625 -6.421875 Z M 5.0625 -3.640625 C 5.019531 -4.097656 4.921875 -4.460938 4.765625 -4.734375 C 4.484375 -5.242188 4.003906 -5.5 3.328125 -5.5 C 2.835938 -5.5 2.425781 -5.320312 2.09375 -4.96875 C 1.769531 -4.625 1.597656 -4.179688 1.578125 -3.640625 Z M 3.28125 -6.421875 Z M 3.28125 -6.421875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-11">
+<path style="stroke:none;" d="M 0.78125 -6.28125 L 1.8125 -6.28125 L 1.8125 -5.390625 C 2.0625 -5.691406 2.289062 -5.914062 2.5 -6.0625 C 2.84375 -6.300781 3.238281 -6.421875 3.6875 -6.421875 C 4.1875 -6.421875 4.585938 -6.296875 4.890625 -6.046875 C 5.054688 -5.910156 5.210938 -5.703125 5.359375 -5.421875 C 5.585938 -5.765625 5.859375 -6.015625 6.171875 -6.171875 C 6.492188 -6.335938 6.851562 -6.421875 7.25 -6.421875 C 8.09375 -6.421875 8.664062 -6.113281 8.96875 -5.5 C 9.132812 -5.175781 9.21875 -4.734375 9.21875 -4.171875 L 9.21875 0 L 8.125 0 L 8.125 -4.359375 C 8.125 -4.773438 8.019531 -5.0625 7.8125 -5.21875 C 7.601562 -5.375 7.347656 -5.453125 7.046875 -5.453125 C 6.628906 -5.453125 6.269531 -5.3125 5.96875 -5.03125 C 5.675781 -4.757812 5.53125 -4.300781 5.53125 -3.65625 L 5.53125 0 L 4.453125 0 L 4.453125 -4.09375 C 4.453125 -4.519531 4.398438 -4.832031 4.296875 -5.03125 C 4.140625 -5.320312 3.84375 -5.46875 3.40625 -5.46875 C 3.007812 -5.46875 2.644531 -5.3125 2.3125 -5 C 1.988281 -4.695312 1.828125 -4.140625 1.828125 -3.328125 L 1.828125 0 L 0.78125 0 Z M 0.78125 -6.28125 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-12">
+<path style="stroke:none;" d="M 0.984375 -8.03125 L 2.046875 -8.03125 L 2.046875 -6.28125 L 3.046875 -6.28125 L 3.046875 -5.421875 L 2.046875 -5.421875 L 2.046875 -1.3125 C 2.046875 -1.09375 2.125 -0.945312 2.28125 -0.875 C 2.351562 -0.832031 2.488281 -0.8125 2.6875 -0.8125 C 2.738281 -0.8125 2.789062 -0.8125 2.84375 -0.8125 C 2.90625 -0.820312 2.972656 -0.828125 3.046875 -0.828125 L 3.046875 0 C 2.929688 0.03125 2.804688 0.0507812 2.671875 0.0625 C 2.546875 0.0820312 2.40625 0.09375 2.25 0.09375 C 1.757812 0.09375 1.425781 -0.03125 1.25 -0.28125 C 1.070312 -0.53125 0.984375 -0.859375 0.984375 -1.265625 L 0.984375 -5.421875 L 0.140625 -5.421875 L 0.140625 -6.28125 L 0.984375 -6.28125 Z M 0.984375 -8.03125 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-13">
+<path style="stroke:none;" d="M 1.703125 -8.140625 C 1.429688 -8.085938 1.242188 -7.890625 1.140625 -7.546875 C 1.085938 -7.378906 1.0625 -7.21875 1.0625 -7.0625 C 1.0625 -7.039062 1.0625 -7.019531 1.0625 -7 C 1.0625 -6.988281 1.0625 -6.960938 1.0625 -6.921875 L 1.703125 -6.921875 L 1.703125 -5.640625 L 0.453125 -5.640625 L 0.453125 -6.8125 C 0.453125 -7.394531 0.566406 -7.84375 0.796875 -8.15625 C 1.035156 -8.46875 1.335938 -8.644531 1.703125 -8.6875 Z M 3.6875 -8.140625 C 3.46875 -8.109375 3.300781 -7.988281 3.1875 -7.78125 C 3.082031 -7.570312 3.03125 -7.332031 3.03125 -7.0625 C 3.03125 -7.039062 3.03125 -7.015625 3.03125 -6.984375 C 3.03125 -6.960938 3.035156 -6.941406 3.046875 -6.921875 L 3.6875 -6.921875 L 3.6875 -5.640625 L 2.421875 -5.640625 L 2.421875 -6.8125 C 2.421875 -7.28125 2.519531 -7.695312 2.71875 -8.0625 C 2.914062 -8.425781 3.238281 -8.632812 3.6875 -8.6875 Z M 3.6875 -8.140625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-14">
+<path style="stroke:none;" d="M 0.78125 -6.28125 L 1.78125 -6.28125 L 1.78125 -5.390625 C 2.070312 -5.753906 2.382812 -6.015625 2.71875 -6.171875 C 3.050781 -6.335938 3.421875 -6.421875 3.828125 -6.421875 C 4.710938 -6.421875 5.3125 -6.109375 5.625 -5.484375 C 5.800781 -5.140625 5.890625 -4.65625 5.890625 -4.03125 L 5.890625 0 L 4.8125 0 L 4.8125 -3.953125 C 4.8125 -4.335938 4.753906 -4.644531 4.640625 -4.875 C 4.453125 -5.269531 4.113281 -5.46875 3.625 -5.46875 C 3.375 -5.46875 3.171875 -5.441406 3.015625 -5.390625 C 2.722656 -5.304688 2.46875 -5.132812 2.25 -4.875 C 2.070312 -4.664062 1.957031 -4.453125 1.90625 -4.234375 C 1.851562 -4.015625 1.828125 -3.695312 1.828125 -3.28125 L 1.828125 0 L 0.78125 0 Z M 3.25 -6.421875 Z M 3.25 -6.421875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-15">
+<path style="stroke:none;" d="M 1.4375 -3.0625 C 1.4375 -2.394531 1.578125 -1.832031 1.859375 -1.375 C 2.148438 -0.925781 2.609375 -0.703125 3.234375 -0.703125 C 3.722656 -0.703125 4.125 -0.910156 4.4375 -1.328125 C 4.757812 -1.742188 4.921875 -2.347656 4.921875 -3.140625 C 4.921875 -3.929688 4.753906 -4.515625 4.421875 -4.890625 C 4.097656 -5.273438 3.703125 -5.46875 3.234375 -5.46875 C 2.703125 -5.46875 2.269531 -5.265625 1.9375 -4.859375 C 1.601562 -4.453125 1.4375 -3.851562 1.4375 -3.0625 Z M 3.03125 -6.390625 C 3.507812 -6.390625 3.910156 -6.285156 4.234375 -6.078125 C 4.421875 -5.960938 4.632812 -5.757812 4.875 -5.46875 L 4.875 -8.640625 L 5.890625 -8.640625 L 5.890625 0 L 4.9375 0 L 4.9375 -0.875 C 4.695312 -0.488281 4.40625 -0.207031 4.0625 -0.03125 C 3.726562 0.132812 3.34375 0.21875 2.90625 0.21875 C 2.207031 0.21875 1.601562 -0.0703125 1.09375 -0.65625 C 0.582031 -1.25 0.328125 -2.03125 0.328125 -3 C 0.328125 -3.914062 0.5625 -4.707031 1.03125 -5.375 C 1.5 -6.050781 2.164062 -6.390625 3.03125 -6.390625 Z M 3.03125 -6.390625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-16">
+<path style="stroke:none;" d="M 4.15625 -4.96875 C 4.644531 -4.96875 5.023438 -5.035156 5.296875 -5.171875 C 5.722656 -5.390625 5.9375 -5.773438 5.9375 -6.328125 C 5.9375 -6.890625 5.707031 -7.269531 5.25 -7.46875 C 5 -7.582031 4.617188 -7.640625 4.109375 -7.640625 L 2.03125 -7.640625 L 2.03125 -4.96875 Z M 4.546875 -1 C 5.253906 -1 5.765625 -1.207031 6.078125 -1.625 C 6.265625 -1.882812 6.359375 -2.195312 6.359375 -2.5625 C 6.359375 -3.1875 6.078125 -3.613281 5.515625 -3.84375 C 5.222656 -3.96875 4.832031 -4.03125 4.34375 -4.03125 L 2.03125 -4.03125 L 2.03125 -1 Z M 0.890625 -8.609375 L 4.578125 -8.609375 C 5.585938 -8.609375 6.304688 -8.304688 6.734375 -7.703125 C 6.984375 -7.347656 7.109375 -6.9375 7.109375 -6.46875 C 7.109375 -5.925781 6.953125 -5.484375 6.640625 -5.140625 C 6.484375 -4.953125 6.253906 -4.785156 5.953125 -4.640625 C 6.390625 -4.472656 6.71875 -4.28125 6.9375 -4.0625 C 7.332031 -3.6875 7.53125 -3.171875 7.53125 -2.515625 C 7.53125 -1.960938 7.351562 -1.460938 7 -1.015625 C 6.476562 -0.335938 5.65625 0 4.53125 0 L 0.890625 0 Z M 0.890625 -8.609375 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-17">
+<path style="stroke:none;" d="M 2.421875 -6.109375 C 2.710938 -6.160156 2.90625 -6.375 3 -6.75 C 3.0625 -6.96875 3.082031 -7.160156 3.0625 -7.328125 L 2.421875 -7.328125 L 2.421875 -8.609375 L 3.6875 -8.609375 L 3.6875 -7.4375 C 3.6875 -6.96875 3.585938 -6.550781 3.390625 -6.1875 C 3.203125 -5.820312 2.878906 -5.613281 2.421875 -5.5625 Z M 0.453125 -6.109375 C 0.742188 -6.160156 0.941406 -6.375 1.046875 -6.75 C 1.097656 -6.96875 1.113281 -7.160156 1.09375 -7.328125 L 0.453125 -7.328125 L 0.453125 -8.609375 L 1.703125 -8.609375 L 1.703125 -7.4375 C 1.703125 -6.96875 1.601562 -6.550781 1.40625 -6.1875 C 1.21875 -5.832031 0.898438 -5.625 0.453125 -5.5625 Z M 0.453125 -6.109375 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-18">
+<path style="stroke:none;" d="M 4.546875 -8.84375 C 5.628906 -8.84375 6.472656 -8.554688 7.078125 -7.984375 C 7.679688 -7.410156 8.015625 -6.757812 8.078125 -6.03125 L 6.9375 -6.03125 C 6.8125 -6.582031 6.554688 -7.019531 6.171875 -7.34375 C 5.785156 -7.664062 5.242188 -7.828125 4.546875 -7.828125 C 3.703125 -7.828125 3.019531 -7.53125 2.5 -6.9375 C 1.976562 -6.34375 1.71875 -5.429688 1.71875 -4.203125 C 1.71875 -3.191406 1.953125 -2.367188 2.421875 -1.734375 C 2.890625 -1.109375 3.59375 -0.796875 4.53125 -0.796875 C 5.382812 -0.796875 6.039062 -1.128906 6.5 -1.796875 C 6.726562 -2.140625 6.90625 -2.597656 7.03125 -3.171875 L 8.15625 -3.171875 C 8.0625 -2.265625 7.726562 -1.503906 7.15625 -0.890625 C 6.46875 -0.148438 5.546875 0.21875 4.390625 0.21875 C 3.390625 0.21875 2.550781 -0.0820312 1.875 -0.6875 C 0.976562 -1.488281 0.53125 -2.722656 0.53125 -4.390625 C 0.53125 -5.660156 0.863281 -6.703125 1.53125 -7.515625 C 2.257812 -8.398438 3.265625 -8.84375 4.546875 -8.84375 Z M 4.3125 -8.84375 Z M 4.3125 -8.84375 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-0">
+<path style="stroke:none;" d="M 0.515625 0 L 0.515625 -11.484375 L 9.625 -11.484375 L 9.625 0 Z M 8.1875 -1.4375 L 8.1875 -10.046875 L 1.953125 -10.046875 L 1.953125 -1.4375 Z M 8.1875 -1.4375 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-1">
+<path style="stroke:none;" d="M 1.21875 -11.484375 L 3.0625 -11.484375 L 8.859375 -2.1875 L 8.859375 -11.484375 L 10.328125 -11.484375 L 10.328125 0 L 8.59375 0 L 2.703125 -9.296875 L 2.703125 0 L 1.21875 0 Z M 5.671875 -11.484375 Z M 5.671875 -11.484375 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-2">
+<path style="stroke:none;" d="M 4.359375 -0.90625 C 5.285156 -0.90625 5.921875 -1.257812 6.265625 -1.96875 C 6.617188 -2.675781 6.796875 -3.460938 6.796875 -4.328125 C 6.796875 -5.109375 6.671875 -5.742188 6.421875 -6.234375 C 6.023438 -7.003906 5.34375 -7.390625 4.375 -7.390625 C 3.507812 -7.390625 2.878906 -7.0625 2.484375 -6.40625 C 2.097656 -5.75 1.90625 -4.957031 1.90625 -4.03125 C 1.90625 -3.132812 2.097656 -2.390625 2.484375 -1.796875 C 2.878906 -1.203125 3.503906 -0.90625 4.359375 -0.90625 Z M 4.40625 -8.609375 C 5.488281 -8.609375 6.398438 -8.25 7.140625 -7.53125 C 7.890625 -6.8125 8.265625 -5.753906 8.265625 -4.359375 C 8.265625 -3.015625 7.9375 -1.898438 7.28125 -1.015625 C 6.625 -0.128906 5.601562 0.3125 4.21875 0.3125 C 3.070312 0.3125 2.160156 -0.078125 1.484375 -0.859375 C 0.804688 -1.640625 0.46875 -2.6875 0.46875 -4 C 0.46875 -5.40625 0.820312 -6.523438 1.53125 -7.359375 C 2.25 -8.191406 3.207031 -8.609375 4.40625 -8.609375 Z M 4.359375 -8.578125 Z M 4.359375 -8.578125 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-3">
+<path style="stroke:none;" d="M 1.921875 -4.09375 C 1.921875 -3.195312 2.109375 -2.445312 2.484375 -1.84375 C 2.867188 -1.238281 3.484375 -0.9375 4.328125 -0.9375 C 4.972656 -0.9375 5.503906 -1.210938 5.921875 -1.765625 C 6.347656 -2.328125 6.5625 -3.132812 6.5625 -4.1875 C 6.5625 -5.238281 6.34375 -6.019531 5.90625 -6.53125 C 5.476562 -7.039062 4.945312 -7.296875 4.3125 -7.296875 C 3.601562 -7.296875 3.023438 -7.023438 2.578125 -6.484375 C 2.140625 -5.941406 1.921875 -5.144531 1.921875 -4.09375 Z M 4.046875 -8.515625 C 4.679688 -8.515625 5.21875 -8.378906 5.65625 -8.109375 C 5.90625 -7.953125 6.1875 -7.679688 6.5 -7.296875 L 6.5 -11.515625 L 7.859375 -11.515625 L 7.859375 0 L 6.59375 0 L 6.59375 -1.171875 C 6.257812 -0.648438 5.867188 -0.273438 5.421875 -0.046875 C 4.972656 0.179688 4.460938 0.296875 3.890625 0.296875 C 2.953125 0.296875 2.140625 -0.09375 1.453125 -0.875 C 0.773438 -1.664062 0.4375 -2.710938 0.4375 -4.015625 C 0.4375 -5.234375 0.75 -6.285156 1.375 -7.171875 C 2 -8.066406 2.890625 -8.515625 4.046875 -8.515625 Z M 4.046875 -8.515625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-4">
+<path style="stroke:none;" d="M 4.515625 -8.5625 C 5.109375 -8.5625 5.679688 -8.421875 6.234375 -8.140625 C 6.796875 -7.859375 7.222656 -7.5 7.515625 -7.0625 C 7.796875 -6.632812 7.984375 -6.140625 8.078125 -5.578125 C 8.160156 -5.191406 8.203125 -4.578125 8.203125 -3.734375 L 2.078125 -3.734375 C 2.097656 -2.890625 2.296875 -2.207031 2.671875 -1.6875 C 3.046875 -1.175781 3.628906 -0.921875 4.421875 -0.921875 C 5.148438 -0.921875 5.734375 -1.164062 6.171875 -1.65625 C 6.421875 -1.9375 6.597656 -2.257812 6.703125 -2.625 L 8.09375 -2.625 C 8.050781 -2.320312 7.925781 -1.976562 7.71875 -1.59375 C 7.519531 -1.21875 7.289062 -0.910156 7.03125 -0.671875 C 6.601562 -0.253906 6.078125 0.0234375 5.453125 0.171875 C 5.109375 0.253906 4.722656 0.296875 4.296875 0.296875 C 3.253906 0.296875 2.367188 -0.0820312 1.640625 -0.84375 C 0.921875 -1.601562 0.5625 -2.664062 0.5625 -4.03125 C 0.5625 -5.375 0.925781 -6.460938 1.65625 -7.296875 C 2.382812 -8.140625 3.335938 -8.5625 4.515625 -8.5625 Z M 6.765625 -4.859375 C 6.703125 -5.460938 6.566406 -5.945312 6.359375 -6.3125 C 5.972656 -6.988281 5.332031 -7.328125 4.4375 -7.328125 C 3.789062 -7.328125 3.25 -7.09375 2.8125 -6.625 C 2.375 -6.164062 2.140625 -5.578125 2.109375 -4.859375 Z M 4.390625 -8.578125 Z M 4.390625 -8.578125 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-5">
+<path style="stroke:none;" d="M 7.109375 -4.703125 L 5.375 -9.78125 L 3.515625 -4.703125 Z M 4.5625 -11.484375 L 6.3125 -11.484375 L 10.484375 0 L 8.78125 0 L 7.609375 -3.4375 L 3.078125 -3.4375 L 1.828125 0 L 0.234375 0 Z M 5.359375 -11.484375 Z M 5.359375 -11.484375 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-6">
+<path style="stroke:none;" d="M 5.53125 -6.625 C 6.1875 -6.625 6.695312 -6.71875 7.0625 -6.90625 C 7.632812 -7.1875 7.921875 -7.703125 7.921875 -8.453125 C 7.921875 -9.203125 7.617188 -9.707031 7.015625 -9.96875 C 6.671875 -10.113281 6.160156 -10.1875 5.484375 -10.1875 L 2.703125 -10.1875 L 2.703125 -6.625 Z M 6.0625 -1.328125 C 7.007812 -1.328125 7.6875 -1.601562 8.09375 -2.15625 C 8.351562 -2.507812 8.484375 -2.929688 8.484375 -3.421875 C 8.484375 -4.253906 8.109375 -4.820312 7.359375 -5.125 C 6.960938 -5.289062 6.441406 -5.375 5.796875 -5.375 L 2.703125 -5.375 L 2.703125 -1.328125 Z M 1.1875 -11.484375 L 6.109375 -11.484375 C 7.453125 -11.484375 8.410156 -11.082031 8.984375 -10.28125 C 9.316406 -9.800781 9.484375 -9.253906 9.484375 -8.640625 C 9.484375 -7.910156 9.273438 -7.316406 8.859375 -6.859375 C 8.648438 -6.609375 8.34375 -6.382812 7.9375 -6.1875 C 8.53125 -5.957031 8.972656 -5.703125 9.265625 -5.421875 C 9.773438 -4.921875 10.03125 -4.234375 10.03125 -3.359375 C 10.03125 -2.617188 9.800781 -1.945312 9.34375 -1.34375 C 8.644531 -0.445312 7.539062 0 6.03125 0 L 1.1875 0 Z M 1.1875 -11.484375 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-7">
+<path style="stroke:none;" d="M 6.0625 -11.796875 C 7.507812 -11.796875 8.632812 -11.410156 9.4375 -10.640625 C 10.238281 -9.878906 10.6875 -9.007812 10.78125 -8.03125 L 9.265625 -8.03125 C 9.085938 -8.769531 8.742188 -9.351562 8.234375 -9.78125 C 7.722656 -10.21875 7.003906 -10.4375 6.078125 -10.4375 C 4.941406 -10.4375 4.023438 -10.039062 3.328125 -9.25 C 2.640625 -8.457031 2.296875 -7.238281 2.296875 -5.59375 C 2.296875 -4.25 2.609375 -3.160156 3.234375 -2.328125 C 3.859375 -1.492188 4.796875 -1.078125 6.046875 -1.078125 C 7.191406 -1.078125 8.0625 -1.515625 8.65625 -2.390625 C 8.976562 -2.859375 9.21875 -3.46875 9.375 -4.21875 L 10.890625 -4.21875 C 10.753906 -3.007812 10.304688 -2 9.546875 -1.1875 C 8.628906 -0.195312 7.398438 0.296875 5.859375 0.296875 C 4.523438 0.296875 3.40625 -0.109375 2.5 -0.921875 C 1.300781 -1.984375 0.703125 -3.628906 0.703125 -5.859375 C 0.703125 -7.554688 1.148438 -8.945312 2.046875 -10.03125 C 3.015625 -11.207031 4.351562 -11.796875 6.0625 -11.796875 Z M 5.75 -11.796875 Z M 5.75 -11.796875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-8">
+<path style="stroke:none;" d="M 5.625 -1.328125 C 6.15625 -1.328125 6.585938 -1.382812 6.921875 -1.5 C 7.523438 -1.695312 8.019531 -2.085938 8.40625 -2.671875 C 8.71875 -3.128906 8.941406 -3.722656 9.078125 -4.453125 C 9.148438 -4.878906 9.1875 -5.28125 9.1875 -5.65625 C 9.1875 -7.070312 8.90625 -8.171875 8.34375 -8.953125 C 7.78125 -9.742188 6.867188 -10.140625 5.609375 -10.140625 L 2.859375 -10.140625 L 2.859375 -1.328125 Z M 1.296875 -11.484375 L 5.9375 -11.484375 C 7.519531 -11.484375 8.742188 -10.921875 9.609375 -9.796875 C 10.390625 -8.785156 10.78125 -7.492188 10.78125 -5.921875 C 10.78125 -4.703125 10.550781 -3.597656 10.09375 -2.609375 C 9.28125 -0.867188 7.890625 0 5.921875 0 L 1.296875 0 Z M 1.296875 -11.484375 "/>
+</symbol>
+</g>
+</defs>
+<g id="surface1">
+<rect x="0" y="0" width="509" height="390" style="fill:rgb(100%,100%,100%);fill-opacity:1;stroke:none;"/>
+<path style="fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 367.453125 201.703125 C 427.640625 231.136719 427.640625 278.863281 367.453125 308.296875 C 307.261719 337.734375 209.675781 337.734375 149.484375 308.296875 C 89.296875 278.863281 89.296875 231.136719 149.484375 201.703125 C 209.675781 172.265625 307.261719 172.265625 367.453125 201.703125 " transform="matrix(1,0,0,1,-4,-145)"/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;" d="M 217.0625 49.75 L 291.875 49.75 L 291.875 91.375 L 217.0625 91.375 Z M 217.0625 49.75 "/>
+<path style="fill:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 221.5 195.5 L 296.5 195.5 L 296.5 236.5 L 221.5 236.5 Z M 221.5 195.5 " transform="matrix(1,0,0,1,-4,-145)"/>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-1" x="240.12505" y="67.5625"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-2" x="246.79945" y="67.5625"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-3" x="253.47385" y="67.5625"/>
+  <use xlink:href="#glyph0-4" x="259.47385" y="67.5625"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-5" x="266.14825" y="67.5625"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-6" x="241.13579" y="81.5625"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-7" x="249.80219" y="81.5625"/>
+  <use xlink:href="#glyph0-8" x="257.80619" y="81.5625"/>
+</g>
+<path style="fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 198.996094 247.039062 C 216.960938 256.925781 216.960938 272.949219 198.996094 282.835938 C 181.03125 292.722656 151.90625 292.722656 133.941406 282.835938 C 115.976562 272.949219 115.976562 256.925781 133.941406 247.039062 C 151.90625 237.152344 181.03125 237.152344 198.996094 247.039062 " transform="matrix(1,0,0,1,-4,-145)"/>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-9" x="141.46001" y="109.9375"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-10" x="150.12641" y="109.9375"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-11" x="156.80081" y="109.9375"/>
+  <use xlink:href="#glyph0-2" x="166.79681" y="109.9375"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-12" x="173.47121" y="109.9375"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-10" x="176.80481" y="109.9375"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-6" x="149.13579" y="123.9375"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-7" x="157.80219" y="123.9375"/>
+  <use xlink:href="#glyph0-8" x="165.80619" y="123.9375"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-13" x="141.1231" y="137.9375"/>
+  <use xlink:href="#glyph0-14" x="145.1191" y="137.9375"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-2" x="151.7935" y="137.9375"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-15" x="158.4679" y="137.9375"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-10" x="165.1423" y="137.9375"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-16" x="171.8167" y="137.9375"/>
+  <use xlink:href="#glyph0-17" x="179.8207" y="137.9375"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph1-1" x="230.00786" y="24.125"/>
+  <use xlink:href="#glyph1-2" x="241.56306" y="24.125"/>
+  <use xlink:href="#glyph1-3" x="250.46226" y="24.125"/>
+  <use xlink:href="#glyph1-4" x="259.36146" y="24.125"/>
+  <use xlink:href="#glyph1-5" x="268.26066" y="24.125"/>
+</g>
+<path style="fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 290.996094 277.039062 C 308.960938 286.925781 308.960938 302.949219 290.996094 312.835938 C 273.03125 322.722656 243.90625 322.722656 225.941406 312.835938 C 207.976562 302.949219 207.976562 286.925781 225.941406 277.039062 C 243.90625 267.152344 273.03125 267.152344 290.996094 277.039062 " transform="matrix(1,0,0,1,-4,-145)"/>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-9" x="233.46001" y="139.9375"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-10" x="242.12641" y="139.9375"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-11" x="248.80081" y="139.9375"/>
+  <use xlink:href="#glyph0-2" x="258.79681" y="139.9375"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-12" x="265.47121" y="139.9375"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-10" x="268.80481" y="139.9375"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-6" x="241.13579" y="153.9375"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-7" x="249.80219" y="153.9375"/>
+  <use xlink:href="#glyph0-8" x="257.80619" y="153.9375"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-13" x="232.79204" y="167.9375"/>
+  <use xlink:href="#glyph0-14" x="236.78804" y="167.9375"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-2" x="243.46244" y="167.9375"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-15" x="250.13684" y="167.9375"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-10" x="256.81124" y="167.9375"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-18" x="263.48564" y="167.9375"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-17" x="272.15204" y="167.9375"/>
+</g>
+<path style="fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 382.996094 247.039062 C 400.960938 256.925781 400.960938 272.949219 382.996094 282.835938 C 365.03125 292.722656 335.90625 292.722656 317.941406 282.835938 C 299.976562 272.949219 299.976562 256.925781 317.941406 247.039062 C 335.90625 237.152344 365.03125 237.152344 382.996094 247.039062 " transform="matrix(1,0,0,1,-4,-145)"/>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-9" x="325.46001" y="109.9375"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-10" x="334.12641" y="109.9375"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-11" x="340.80081" y="109.9375"/>
+  <use xlink:href="#glyph0-2" x="350.79681" y="109.9375"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-12" x="357.47121" y="109.9375"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-10" x="360.80481" y="109.9375"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-6" x="333.13579" y="123.9375"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-7" x="341.80219" y="123.9375"/>
+  <use xlink:href="#glyph0-8" x="349.80619" y="123.9375"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-13" x="324.79204" y="137.9375"/>
+  <use xlink:href="#glyph0-14" x="328.78804" y="137.9375"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-2" x="335.46244" y="137.9375"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-15" x="342.13684" y="137.9375"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-10" x="348.81124" y="137.9375"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-6" x="355.48564" y="137.9375"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-17" x="364.15204" y="137.9375"/>
+</g>
+<path style="fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 134.339844 431.433594 C 161.46875 448.675781 161.46875 476.636719 134.339844 493.878906 C 107.210938 511.125 63.226562 511.125 36.097656 493.878906 C 8.96875 476.636719 8.96875 448.675781 36.097656 431.433594 C 63.226562 414.1875 107.210938 414.1875 134.339844 431.433594 " transform="matrix(1,0,0,1,-4,-145)"/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;" d="M 43.8125 296.84375 L 118.625 296.84375 L 118.625 338.46875 L 43.8125 338.46875 Z M 43.8125 296.84375 "/>
+<path style="fill:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 48.5 442.5 L 122.5 442.5 L 122.5 483.5 L 48.5 483.5 Z M 48.5 442.5 " transform="matrix(1,0,0,1,-4,-145)"/>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-1" x="66.875" y="314.65625"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-2" x="73.5494" y="314.65625"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-3" x="80.2238" y="314.65625"/>
+  <use xlink:href="#glyph0-4" x="86.2238" y="314.65625"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-5" x="92.8982" y="314.65625"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-6" x="67.88574" y="328.65625"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-7" x="76.55214" y="328.65625"/>
+  <use xlink:href="#glyph0-8" x="84.55614" y="328.65625"/>
+</g>
+<path style="fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 307.589844 431.433594 C 334.71875 448.675781 334.71875 476.636719 307.589844 493.878906 C 280.460938 511.125 236.476562 511.125 209.347656 493.878906 C 182.21875 476.636719 182.21875 448.675781 209.347656 431.433594 C 236.476562 414.1875 280.460938 414.1875 307.589844 431.433594 " transform="matrix(1,0,0,1,-4,-145)"/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;" d="M 217.0625 296.84375 L 291.875 296.84375 L 291.875 338.46875 L 217.0625 338.46875 Z M 217.0625 296.84375 "/>
+<path style="fill:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 221.5 442.5 L 296.5 442.5 L 296.5 483.5 L 221.5 483.5 Z M 221.5 442.5 " transform="matrix(1,0,0,1,-4,-145)"/>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-1" x="240.12505" y="314.65625"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-2" x="246.79945" y="314.65625"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-3" x="253.47385" y="314.65625"/>
+  <use xlink:href="#glyph0-4" x="259.47385" y="314.65625"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-5" x="266.14825" y="314.65625"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-6" x="241.13579" y="328.65625"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-7" x="249.80219" y="328.65625"/>
+  <use xlink:href="#glyph0-8" x="257.80619" y="328.65625"/>
+</g>
+<path style="fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 480.839844 431.433594 C 507.96875 448.675781 507.96875 476.636719 480.839844 493.878906 C 453.710938 511.125 409.726562 511.125 382.597656 493.878906 C 355.46875 476.636719 355.46875 448.675781 382.597656 431.433594 C 409.726562 414.1875 453.710938 414.1875 480.839844 431.433594 " transform="matrix(1,0,0,1,-4,-145)"/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;" d="M 390.3125 296.84375 L 465.125 296.84375 L 465.125 338.46875 L 390.3125 338.46875 Z M 390.3125 296.84375 "/>
+<path style="fill:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 394.5 442.5 L 469.5 442.5 L 469.5 483.5 L 394.5 483.5 Z M 394.5 442.5 " transform="matrix(1,0,0,1,-4,-145)"/>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-1" x="413.37505" y="314.65625"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-2" x="420.04945" y="314.65625"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-3" x="426.72385" y="314.65625"/>
+  <use xlink:href="#glyph0-4" x="432.72385" y="314.65625"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-5" x="439.39825" y="314.65625"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-6" x="414.38579" y="328.65625"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-7" x="423.05219" y="328.65625"/>
+  <use xlink:href="#glyph0-8" x="431.05619" y="328.65625"/>
+</g>
+<path style="fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 166.46875 290.25 L 91.3125 430.472656 " transform="matrix(1,0,0,1,-4,-145)"/>
+<path style="fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 86.777344 438.933594 L 94.484375 432.175781 L 88.140625 428.773438 Z M 86.777344 438.933594 " transform="matrix(1,0,0,1,-4,-145)"/>
+<path style="fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 258 320.25 L 258 428.945312 " transform="matrix(1,0,0,1,-4,-145)"/>
+<path style="fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 258.46875 438.542969 L 262.070312 428.945312 L 254.867188 428.945312 Z M 258.46875 438.542969 " transform="matrix(1,0,0,1,-4,-145)"/>
+<path style="fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 350.46875 290.25 L 425.625 430.472656 " transform="matrix(1,0,0,1,-4,-145)"/>
+<path style="fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 430.160156 438.933594 L 428.796875 428.773438 L 422.453125 432.175781 Z M 430.160156 438.933594 " transform="matrix(1,0,0,1,-4,-145)"/>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph1-1" x="56.75781" y="376.8125"/>
+  <use xlink:href="#glyph1-2" x="68.31301" y="376.8125"/>
+  <use xlink:href="#glyph1-3" x="77.21221" y="376.8125"/>
+  <use xlink:href="#glyph1-4" x="86.11141" y="376.8125"/>
+  <use xlink:href="#glyph1-6" x="95.01061" y="376.8125"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph1-1" x="229.56646" y="376.8125"/>
+  <use xlink:href="#glyph1-2" x="241.12166" y="376.8125"/>
+  <use xlink:href="#glyph1-3" x="250.02086" y="376.8125"/>
+  <use xlink:href="#glyph1-4" x="258.92006" y="376.8125"/>
+  <use xlink:href="#glyph1-7" x="267.81926" y="376.8125"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph1-1" x="402.81646" y="376.8125"/>
+  <use xlink:href="#glyph1-2" x="414.37166" y="376.8125"/>
+  <use xlink:href="#glyph1-3" x="423.27086" y="376.8125"/>
+  <use xlink:href="#glyph1-4" x="432.17006" y="376.8125"/>
+  <use xlink:href="#glyph1-8" x="441.06926" y="376.8125"/>
+</g>
+</g>
+</svg>
--- a/slide/prosym.html	Tue May 28 17:51:38 2019 +0900
+++ b/slide/prosym.html	Wed May 29 19:55:57 2019 +0900
@@ -94,9 +94,9 @@
 <h2 id="研究目的">研究目的</h2>
 
 <ul>
-  <li>コンピュータのデータの不整合は、誤作動や複数人によるデータの同時書き込みによって発生し、特に分散環境下で問題となる。</li>
-  <li>ブロックチェーンはデータの分散ができ、不整合の検知が可能な仕組みとなっている。</li>
-  <li>当研究室で開発中のGearsOSの分散システムの技術として, ブロックチェーンが使用できるか調査中である.</li>
+  <li>コンピュータのデータの不整合の主な原因は、誤作動や複数人によるデータの同時書き込みによって発生し、特に分散環境下で問題となる。</li>
+  <li>分散ネットワークシステムであるブロックチェーンでは、データの分散に伴うデータ不整合の検知が可能な仕組みとなっている。</li>
+  <li>当研究室で開発中のGearsOSの分散システムの技術として, ブロックチェーンが使用できるか調査したい.</li>
   <li>将来的にGearsOSに組み込む予定のある分散フレームワークChristieに分散フレームワークを実装することにした。</li>
 </ul>
 
@@ -113,41 +113,80 @@
   <!-- _S9SLIDE_ -->
 <h2 id="christie">Christie</h2>
 <ul>
-  <li>Christieは当研究室で開発している分散フレームワークである.</li>
-  <li>現在はjava上で開発されているが, 別言語で構成されたGearsOSに組み込む予定があるため,それに向けて書き換え可能な構成となっている.</li>
-  <li>コーディングをする上に置いて以下の概念が存在する。
+  <li>Christieは当研究室で開発している、信頼性を重視した分散フレームワークである.</li>
+  <li>現在はjava上で開発されているが、別言語で構成されたGearsOSに組み込む予定があるため,それに向けて書き換え可能な構成となっている。</li>
+  <li>ChristieではデータをGearという単位で分割して記述を行う。
     <ul>
       <li>CodeGear(以下CG)
         <ul>
-          <li>スレッド、クラスに相当し、javaの継承を用いて記述する。</li>
+          <li>スレッドやクラスに相当し、javaの継承を用いて記述する。keyに全てのDGが格納された際に動作する。</li>
+        </ul>
+      </li>
+      <li>DataGear(以下DG)
+        <ul>
+          <li>DGは変数に相当し、CG内でアノテーションを用いてデータを取り出せる。</li>
         </ul>
       </li>
-      <li>CodeGearManager(以下CGM)</li>
-      <li>DataGear(以下DG)</li>
-      <li>DataGearManager(以下DGM)</li>
-    </ul>
-  </li>
-</ul>
+      <li>CodeGearManager(以下CGM)
+        <ul>
+          <li>ノードに相当し, DG, CG, DataGearManagerの管理をする.</li>
+        </ul>
+      </li>
+      <li>DataGearManager(以下DGM)
+        <ul>
+          <li>DGを管理するものであり, putという操作にて変数(DG)をkeyに格納する。</li>
+        </ul>
 
-
+        
 
 </div>
 
 <div class='slide'>
   <!-- _S9SLIDE_ -->
-<h2 id="christieの言語概念">Christieの言語概念</h2>
-<ul>
-  <li>CGはスレッド, クラスに相当し, javaの継承を用いて記述する.</li>
-  <li>DGは変数データに相当し, CG内でアノテーションを用いて変数データを取り出せる.</li>
-  <li>CGMはノードであり, DG, CG, DGMを管理する.</li>
-  <li>DGMはDGを管理するものであり, putという操作により, 変数データ(DG)を格納できる.
-    <ul>
-      <li>DGMにはLocalDGMとRemoteDGMが存在する。LocalDGMは各ノード固有のデータベースである。RemoteDSMは他ノードのLocalDGMに対応するproxyであり、接続しているノードの数だけ存在する。</li>
-      <li>DGMのput操作を行う際にはLocalとRemoteのどちらかを選ぶ.Localであれば、LocalのCGMが管理するDGMに対しDGを格納し, Remoteの場合は接続したRemoteさきのCGMのDGMにDGを格納する.</li>
+<h2 id="christieのコード例">Christieのコード例</h2>
+        <pre><code class="language-code">package christie.example.HelloWorld;
+
+import christie.codegear.CodeGearManager;
+import christie.codegear.StartCodeGear;
+
+public class StartHelloWorld extends StartCodeGear {
+
+    public StartHelloWorld(CodeGearManager cgm) {
+        super(cgm);
+    }
+
+    public static void main(String[] args){
+        CodeGearManager cgm = createCGM(10000); #ポート番号を指定してCGMを立ち上げ。
+        cgm.setup(new HelloWorldCodeGear()); #立ち上げたCGMへDGを待ちあわせる。
+        cgm.getLocalDGM().put("helloWorld","hello"); #key "helloWorld"にhelloをput
+        cgm.getLocalDGM().put("helloWorld","world");
+    }
+}
+
+</code></pre>
+        <pre><code>ChristieDaemon.listen: bind to /0:0:0:0:0:0:0:0:10000
+hello world
+</code></pre>
+        <!--
+- 立ち上げ後はManager名を指定してDataSegmentAPI用いてDSのやり取りを行うため、プログラマはManager名を意識することでLocalへの操作もRemoteへの操作も同様に扱える。
+-->
+      </li>
     </ul>
   </li>
 </ul>
 
+<!--
+
+## Christieの言語概念
+- CGはスレッド, クラスに相当し, javaの継承を用いて記述する.
+- DGは変数データに相当し, CG内でアノテーションを用いて変数データを取り出せる.
+- CGMはノードであり, DG, CG, DGMを管理する.
+- DGMはDGを管理するものであり, putという操作により, 変数データ(DG)を格納できる.
+  - DGMにはLocalDGMとRemoteDGMが存在する。LocalDGMは各ノード固有のデータベースである。RemoteDSMは他ノードのLocalDGMに対応するproxyであり、接続しているノードの数だけ存在する。
+  - DGMのput操作を行う際にはLocalとRemoteのどちらかを選ぶ.Localであれば、LocalのCGMが管理するDGMに対しDGを格納し, Remoteの場合は接続したRemoteさきのCGMのDGMにDGを格納する.
+
+-->
+
 
 
 </div>
@@ -156,10 +195,31 @@
   <!-- _S9SLIDE_ -->
 <h2 id="dgm">DGM</h2>
 <ul>
-  <li>RocalDGMを立ち上げるにはDataSegmentクラスが提供する、connectメソッドを用い、接続したいポートのipアドレスとport番号、そして任意のManager名を指定することで立ち上げる。</li>
-  <li>立ち上げ後はManager名を指定してDataSegmentAPI用いてDSのやり取りを行うため、プログラマはManager名を意識することでLocalへの操作もRemoteへの操作も同様に扱える。</li>
+  <li>DGMにはLocalDGMとRemoteDGMが存在する。
+    <ul>
+      <li>LocalDGM
+        <ul>
+          <li>LocalなDGMのプールのkeyにデータの書き込みを行う。</li>
+        </ul>
+      </li>
+      <li>RemoteDSM
+        <ul>
+          <li>Localに存在する、他のノードのLocalDGMに対応するプールのkeyにデータを書き込みする。接続しているノードの数だけ存在する。</li>
+        </ul>
+      </li>
+    </ul>
+  </li>
+  <li>DGMのput操作を行う際にはLocalとRemoteのどちらかを選ぶ.Localであれば、LocalのCGMが管理するDGMへ、 Remoteの場合は接続したRemote先のCGMのDGMにDGを格納する.</li>
 </ul>
 
+<div style="text-align: center;">
+  <img src="../paper/images/remote_datasegment.svg" alt="MetaGear" width="400" />
+</div>
+
+<!--
+- RocalDGMを立ち上げるにはDataSegmentクラスが提供する、connectメソッドを用い、接続したいポートのipアドレスとport番号、そして任意のManager名を指定することで立ち上げる。
+-->
+
 
 
 </div>
@@ -168,7 +228,7 @@
   <!-- _S9SLIDE_ -->
 <h2 id="dgのアノテーション">DGのアノテーション</h2>
 <ul>
-  <li>DGを取り出す際にはCG内で宣言した変数データにアノテーションをつける。DGアノテーションには
+  <li>DGを取り出す際にはCG内で宣言した変数にアノテーションをつける。DGアノテーションには
 Take、Peek、TakeFrom、PeekFrom、の4つがある。
     <ul>
       <li>Take
@@ -183,12 +243,12 @@
       </li>
       <li>TakeFrom
         <ul>
-          <li>Takeと似ているが、Remote DGM nameをしているすることで、その接続先のDGM からTake操作をおこえる。</li>
+          <li>Remote DGM nameを指定することで、その接続先のDGM からTake操作をおこえる。</li>
         </ul>
       </li>
       <li>PeekFrom
         <ul>
-          <li>Peekと似ているが、 Remote DGM nameをしているすることで、その接続先のDGM からPeek操作をおこえる。</li>
+          <li>Remote DGM nameを指定することで、その接続先のDGM からPeek操作をおこえる。</li>
         </ul>
       </li>
     </ul>
@@ -201,48 +261,32 @@
 
 <div class='slide'>
   <!-- _S9SLIDE_ -->
-<h2 id="christieのコード例">Christieのコード例</h2>
-<pre><code class="language-code">package christie.example.HelloWorld;
-
-import christie.codegear.CodeGearManager;
-import christie.codegear.StartCodeGear;
-
-public class StartHelloWorld extends StartCodeGear {
-
-    public StartHelloWorld(CodeGearManager cgm) {
-        super(cgm);
-    }
-
-    public static void main(String[] args){
-        CodeGearManager cgm = createCGM(10000);
-        cgm.setup(new HelloWorldCodeGear());
-        cgm.getLocalDGM().put("helloWorld","hello");
-        cgm.getLocalDGM().put("helloWorld","world");
-    }
-}
-
-</code></pre>
-
-
-
-</div>
-
-<div class='slide'>
-  <!-- _S9SLIDE_ -->
 <h2 id="annottation">Annottation</h2>
 <ul>
   <li>ChristieではInputDGの指定にはアノテーションを使う。</li>
   <li>アノテーションとはクラスやメソッド、パッケージに対して、付加情報を記述できるJavaのMeta Computationである。</li>
   <li>先頭に@をつけることで記述し、オリジナルのアノテーションを定義することもできるInput
-となる型の変するを直接宣言し、変数名としてkeyを記述する。その上にアノテーションでTakeもしくはPeekを指定する。
-    <pre><code class="language-code">@Take
-public String name;
+となる型の変するを直接宣言し、変数名としてkeyを記述する。その上にアノテーションでTakeもしくはPeekを指定する。</li>
+</ul>
+
+<pre><code class="language-cc">package christie.example.HelloWorld;
+
+import christie.annotation.Take;
+import christie.codegear.CodeGear;
+import christie.codegear.CodeGearManager;
+
+public class HelloWorldCodeGear extends CodeGear {
+    @Take
+    String helloWorld;
+
+    @Override
+    protected void run(CodeGearManager cgm) {
+        System.out.print(helloWorld + " ");
+        cgm.setup(new HelloWorldCodeGear());
+    }
+}
+
 </code></pre>
-    <pre><code class="language-code">@TakeFrom("remote")
-public String name;
-</code></pre>
-  </li>
-</ul>
 
 
 
@@ -252,34 +296,28 @@
   <!-- _S9SLIDE_ -->
 <h2 id="topologymanager">TopologyManager</h2>
 <ul>
-  <li>TopologyManagerとはTopologyを形成するために、参加を表明したノード、TopologyNodeに名前を与え、必要があればノード同士の配線を行うノードである。</li>
-  <li>TopologyManagerのTopology形成方法として、静的Topologyと動的Topologyがある。</li>
-  <li>動的Topologyは参加を表明したノードに対し、動的にノード同士の関係を作る。例えばTreeを構成する場合、参加したノードから順にrootに近い役割を与え、またCodeGearはノードが参加し、parentに接続された後に実行される。</li>
-</ul>
-
-
-
-</div>
-
-<div class='slide'>
-  <!-- _S9SLIDE_ -->
-<h2 id="静的topology">静的Topology</h2>
-<ul>
-  <li>静的Toopologyはdotファイルを与えることでノード関係を下の図のようにする。</li>
-  <li>静的Topologyはdotファイルのノード数と同等のTopologyNodeがあって初めて、CodeGearが実行される。
-    <pre><code class="language-Code">digraph test {
-  node0 -&gt; node1 [label="right"]
-  node1 -&gt; node2 [label="right"]
-  node2 -&gt; node0 [label="right"]
-}
-</code></pre>
+  <li>TopologyManagerとはTopologyを形成のために、参加を表明したノード、TopologyNodeに名前を与え、必要があればノード同士の配線を行うノードである。</li>
+  <li>TopologyManagerのTopology形成方法として、静的Topologyと動的Topologyがある。
+    <ul>
+      <li>動的Topologyは参加を表明したノードに対し、動的にノード同士の関係を作る。例えばTreeを構成する場合、参加したノードから順にrootに近い役割を与え、またCodeGearはノードが参加し、parentに接続された後に実行される。</li>
+      <li>静的Toopologyはdotファイルを与えることノード関係の構築を行う。</li>
+    </ul>
   </li>
 </ul>
 
+<pre><code class="language-Code">digraph test {
+	node0 -&gt; node1 [label="right"]
+	node1 -&gt; node2 [label="right"]
+	node2 -&gt; node0 [label="right"]
+}
+</code></pre>
+
 <div style="text-align: center;">
- <img src="../paper/images/ring.svg" alt="MetaGear" width="300" />
+ <img src="../paper/images/ring.svg" alt="MetaGear" width="250" />
 </div>
 
+<p>##ブロックチェーン</p>
+
 
 
 </div>
@@ -288,37 +326,40 @@
   <!-- _S9SLIDE_ -->
 <h2 id="ブロックチェーンのトランザクション">ブロックチェーンのトランザクション</h2>
 <ul>
-  <li>ブロックチェーンはP2Pにてネットワーク間が動作している。つまり、ブロックチェーンにはサーバー、クライアントの区別がなく全てのノードが平等である。</li>
-  <li>ブロックチェーンにおけるブロックは複数のトランザクションをまとめたものである。ブロックの構造は使用するコンセンサスにより変わるが基本的には、previous block hash, merkle root hash, timeが含まれるBlockHeaderとTransactionListにより構成される。</li>
-</ul>
-
-
-
-</div>
-
-<div class='slide'>
-  <!-- _S9SLIDE_ -->
-<h2 id="blockheader">BlockHeader</h2>
-<ul>
-  <li>BlockHeaderには、前のブロックをハッシュ化したもの、トランザクションをまとめたmarkle treeのrootのhash、そのブロックを生成したtimeとなっている。</li>
-  <li>previous block hashは、前のブロックのパラメータを並べてhash化したものである。</li>
-  <li>上記のものがそれぞれ連なっていることによって下の図のようなブロック繋がっている。そのため一つが更新されたらそのあとにつながるブロック全てを更新しなければならなくなる。</li>
+  <li>ブロックチェーンはP2Pにてネットワーク間が動作している。つまり、ブロックチェーンにはサーバー、クライアントの区別がなく全てのノードが対等な関係にある。</li>
+  <li>ブロックチェーンにおけるブロックは複数のトランザクションをまとめたものである。ブロックは基本的に以下の要素によって構成される。
+    <ul>
+      <li>BlockHeader
+        <ul>
+          <li>previous block
+            <ul>
+              <li>前のブロックのパラメータをハッシュ化したもの</li>
+            </ul>
+          </li>
+          <li>hashmerkle root hash
+            <ul>
+              <li>トランザションをまとめたハッシュ木のrootのハッシュ</li>
+            </ul>
+          </li>
+          <li>time
+            <ul>
+              <li>そのブロックが生成されたtime</li>
+            </ul>
+          </li>
+        </ul>
+      </li>
+      <li>TransactionList</li>
+    </ul>
+  </li>
+  <li>上記のものがそれぞれ連なっていることによって下の図のようなブロック繋がっている。</li>
 </ul>
 <div style="text-align: center;">
  <img src="../paper/images/chain.svg" alt="MetaGear" width="600" />
 </div>
 
-
-
-</div>
-
-<div class='slide'>
-  <!-- _S9SLIDE_ -->
-<h2 id="blockの動作">Blockの動作</h2>
-<ul>
-  <li>ブロックが生成された場合、知っているノードにそのブロックをブロードキャストする。通信量を抑えるためにブロックを送ったあと、ブロックをシリアライズして送信する場合もある。</li>
-  <li>誤りがあればさらにそのノードがブロックをブロードキャストする。そしてTransaction PoolというTransactionをためておく場所から、そのブロックに含まれるTransactionを削除し、新しいブロックを生成する。</li>
-</ul>
+<!--
+- しっかり調査する
+-->
 
 
 
@@ -351,10 +392,22 @@
   </li>
   <li>signature
     <ul>
-      <li>トランザクションの一部と秘密鍵をSHA256でハッシュ化したもの。ECDSAで署名している。</li>
+      <li>トランザクションの全体を秘密鍵でハッシュ化したもの。</li>
     </ul>
   </li>
-  <li>トランザクションはノード間で伝搬され、ノードごとに検証される。そして検証を終え、不正なトランザクションであればそれを破棄し、検証に通った場合はTransaction Poolに取り込まれ、また検証したノードからトランザクションがブロードキャストする。</li>
+  <li>トランザクションはノード間で伝搬され、ノードごとに検証される。そして検証を終え、不正なトランザクションであればそれを破棄し、検証に通った場合はTransaction Poolに取り込まれる。</li>
+</ul>
+
+
+
+</div>
+
+<div class='slide'>
+  <!-- _S9SLIDE_ -->
+<h2 id="blockの動作">Blockの動作</h2>
+<ul>
+  <li>ブロックが生成された場合、知っているノードにそのブロックをマルチキャストする。通信量を抑えるためにブロックを送ったあと、ブロックをシリアライズして送信する場合もある。</li>
+  <li>Transactionが失敗したならばそのノードがブロックをブロードキャストする。そしてTransaction PoolというTransactionをためておく場所から、そのブロックに含まれるTransactionを削除する。</li>
 </ul>
 
 
@@ -375,7 +428,7 @@
     <ul>
       <li>パブリックブロックチェーン
         <ul>
-          <li>不特定たすのノードが参加するブロックチェーンを指す。</li>
+          <li>不特定多数のノードが参加するブロックチェーンを指す。</li>
           <li>不特定多数のノード間、全体のノードの参加数が変わる状況でコンセンサスの変わるアルゴリズムでなければならない。</li>
         </ul>
       </li>
@@ -434,7 +487,7 @@
 </ul>
 
 <div style="text-align: center;">
- <img src="../paper/images/proof-of-work.pdf" alt="MetaGear" width="600" />
+ <img src="../paper/images/proof-of-work.svg" alt="MetaGear" width="600" />
 </div>
 
 
@@ -563,7 +616,7 @@
   <li>(2)acceptorはacceptリクエストが来た場合、Promiseした提案よりもacceptリクエストで提案された番号が低ければ、その提案を拒否する。それ以外の場合、acceptする。</li>
 </ul>
 <div style="text-align: center;">
- <img src="../paper/images/accept-accepted.pdf" alt="MetaGear" width="600" />
+ <img src="../paper/images/accept-accepted.svg" alt="MetaGear" width="600" />
 </div>
 
 
@@ -610,6 +663,10 @@
   <li>Takeの待ち合わせでCGが実行されない。2つのCGで同じ変数をTakeしようとすると、setupされた時点で変数がロックされる。この時、片方のCGはDGがもう全て揃っているのに、全ての変数が揃っていないもう片方のCGに同名の変数がロックされ、実行されない場合がある。</li>
 </ul>
 
+<!--
+(ロックはおかしい)
+-->
+
 
 
 </div>
@@ -618,7 +675,7 @@
   <!-- _S9SLIDE_ -->
 <h2 id="実験">実験</h2>
 <ul>
-  <li>実際にコンセンサスアルゴリズムPaxosをPC上に分散環境を実装して検証した。分散環境場で動かすため、JobScheduleの一種であるTorque Resource Manager(Torque)を使用した。</li>
+  <li>実際にコンセンサスアルゴリズムPaxosをPC上に分散環境を実装した。分散環境場で動かすため、JobScheduleの一種であるTorque Resource Manager(Torque)を使用した。</li>
   <li>Torqueはjobという単位でプログラムを管理し、リソースを確保できたら実行する。jobはqsubというコマンドを使って複数登録することができる。</li>
 </ul>
 
@@ -693,7 +750,7 @@
 <ul>
   <li>Paxosの動作は確認できた。トランザクションの速度がノード数にどのように影響されるか調査する必要がある。</li>
   <li>ChristieのTopology Managerは実験するノードの設定を行う集中制度ノードであり、ブロックチェーンとの相性は良くないが、分散ファイルシステムなどの用途の場合、このような手法の方がノードの管理が可能な利点がある。</li>
-  <li>ChristieではBlock,Transaction,Hashの生成、署名、Proof of Workのためのクラスは作られている。しかし、Transactionに置いてまだファイルのデータを入れる機能がない。</li>
+  <li>現在、ChristieではBlock,Transaction,Hashの生成、署名、Proof of Workのためのクラスは作られている。しかし、Transactionに置いてまだファイルのデータを入れる機能がない。</li>
   <li>以上のものを組み合わせれば簡易的なブロックチェーンが作ることができ、Paxosによるブロックチェーンが分散クラスタ上でファイルやり取りをした際のスケーラビリティを計測することができるようになる。</li>
 </ul>
 
--- a/slide/prosym.md	Tue May 28 17:51:38 2019 +0900
+++ b/slide/prosym.md	Wed May 29 19:55:57 2019 +0900
@@ -6,9 +6,9 @@
 
 ## 研究目的
 
-- コンピュータのデータの不整合は、誤作動や複数人によるデータの同時書き込みによって発生し、特に分散環境下で問題となる。
-- ブロックチェーンはデータの分散ができ、不整合の検知が可能な仕組みとなっている。
-- 当研究室で開発中のGearsOSの分散システムの技術として, ブロックチェーンが使用できるか調査中である.
+- コンピュータのデータの不整合の主な原因は、誤作動や複数人によるデータの同時書き込みによって発生し、特に分散環境下で問題となる。
+- 分散ネットワークシステムであるブロックチェーンでは、データの分散に伴うデータ不整合の検知が可能な仕組みとなっている。
+- 当研究室で開発中のGearsOSの分散システムの技術として, ブロックチェーンが使用できるか調査したい.
 - 将来的にGearsOSに組み込む予定のある分散フレームワークChristieに分散フレームワークを実装することにした。
 
 <!--
@@ -17,16 +17,51 @@
 -->
 
 ## Christie
-- Christieは当研究室で開発している分散フレームワークである.
-- 現在はjava上で開発されているが, 別言語で構成されたGearsOSに組み込む予定があるため,それに向けて書き換え可能な構成となっている.
-- コーディングをする上に置いて以下の概念が存在する。
+- Christieは当研究室で開発している、信頼性を重視した分散フレームワークである.
+- 現在はjava上で開発されているが、別言語で構成されたGearsOSに組み込む予定があるため,それに向けて書き換え可能な構成となっている。
+- ChristieではデータをGearという単位で分割して記述を行う。
   - CodeGear(以下CG)
-    - スレッド、クラスに相当し、javaの継承を用いて記述する。
+    - スレッドやクラスに相当し、javaの継承を用いて記述する。keyに全てのDGが格納された際に動作する。
+  - DataGear(以下DG)
+    - DGは変数に相当し、CG内でアノテーションを用いてデータを取り出せる。
   - CodeGearManager(以下CGM)
-    - DGは変数データに相当し、CG内でアノテーションを用いて変数データを取り出せる。
-  - DataGear(以下DG)
+    - ノードに相当し, DG, CG, DataGearManagerの管理をする.
   - DataGearManager(以下DGM)
+    - DGを管理するものであり, putという操作にて変数(DG)をkeyに格納する。
+
+
+    ## Christieのコード例
+    ```code
+    package christie.example.HelloWorld;
+
+    import christie.codegear.CodeGearManager;
+    import christie.codegear.StartCodeGear;
+
+    public class StartHelloWorld extends StartCodeGear {
+
+        public StartHelloWorld(CodeGearManager cgm) {
+            super(cgm);
+        }
+
+        public static void main(String[] args){
+            CodeGearManager cgm = createCGM(10000); #ポート番号を指定してCGMを立ち上げ。
+            cgm.setup(new HelloWorldCodeGear()); #立ち上げたCGMへDGを待ちあわせる。
+            cgm.getLocalDGM().put("helloWorld","hello"); #key "helloWorld"にhelloをput
+            cgm.getLocalDGM().put("helloWorld","world");
+        }
+    }
+
+    ```
+    ```
+    ChristieDaemon.listen: bind to /0:0:0:0:0:0:0:0:10000
+    hello world
+    ```
+    <!--
+    - 立ち上げ後はManager名を指定してDataSegmentAPI用いてDSのやり取りを行うため、プログラマはManager名を意識することでLocalへの操作もRemoteへの操作も同様に扱える。
+    -->
+
 <!--
+
 ## Christieの言語概念
 - CGはスレッド, クラスに相当し, javaの継承を用いて記述する.
 - DGは変数データに相当し, CG内でアノテーションを用いて変数データを取り出せる.
@@ -34,69 +69,71 @@
 - DGMはDGを管理するものであり, putという操作により, 変数データ(DG)を格納できる.
   - DGMにはLocalDGMとRemoteDGMが存在する。LocalDGMは各ノード固有のデータベースである。RemoteDSMは他ノードのLocalDGMに対応するproxyであり、接続しているノードの数だけ存在する。
   - DGMのput操作を行う際にはLocalとRemoteのどちらかを選ぶ.Localであれば、LocalのCGMが管理するDGMに対しDGを格納し, Remoteの場合は接続したRemoteさきのCGMのDGMにDGを格納する.
+
 -->
 
 ## DGM
+- DGMにはLocalDGMとRemoteDGMが存在する。
+  - LocalDGM
+    - LocalなDGMのプールのkeyにデータの書き込みを行う。
+  - RemoteDSM
+    - Localに存在する、他のノードのLocalDGMに対応するプールのkeyにデータを書き込みする。接続しているノードの数だけ存在する。
+- DGMのput操作を行う際にはLocalとRemoteのどちらかを選ぶ.Localであれば、LocalのCGMが管理するDGMへ、 Remoteの場合は接続したRemote先のCGMのDGMにDGを格納する.
+
+<div style="text-align: center;">
+  <img src="../paper/images/remote_datasegment.svg" alt="MetaGear" width="400">
+</div>
+
+<!--
 - RocalDGMを立ち上げるにはDataSegmentクラスが提供する、connectメソッドを用い、接続したいポートのipアドレスとport番号、そして任意のManager名を指定することで立ち上げる。
-- 立ち上げ後はManager名を指定してDataSegmentAPI用いてDSのやり取りを行うため、プログラマはManager名を意識することでLocalへの操作もRemoteへの操作も同様に扱える。
+-->
+
 
 ## DGのアノテーション
-- DGを取り出す際にはCG内で宣言した変数データにアノテーションをつける。DGアノテーションには
+- DGを取り出す際にはCG内で宣言した変数にアノテーションをつける。DGアノテーションには
 Take、Peek、TakeFrom、PeekFrom、の4つがある。
   - Take
     - 先頭のDGを読み込み、そのDGを削除する。
   - Peek
     - 先頭のDGを読み込むが、DGが消去されない。そのため特に操作をしない場合、同じデータを参照し続ける。
   - TakeFrom
-    - Takeと似ているが、Remote DGM nameをしているすることで、その接続先のDGM からTake操作をおこえる。
+    - Remote DGM nameを指定することで、その接続先のDGM からTake操作をおこえる。
   - PeekFrom
-    - Peekと似ているが、 Remote DGM nameをしているすることで、その接続先のDGM からPeek操作をおこえる。
-
-## Christieのコード例
-```code
-package christie.example.HelloWorld;
-
-import christie.codegear.CodeGearManager;
-import christie.codegear.StartCodeGear;
-
-public class StartHelloWorld extends StartCodeGear {
+    - Remote DGM nameを指定することで、その接続先のDGM からPeek操作をおこえる。
 
-    public StartHelloWorld(CodeGearManager cgm) {
-        super(cgm);
-    }
-
-    public static void main(String[] args){
-        CodeGearManager cgm = createCGM(10000);
-        cgm.setup(new HelloWorldCodeGear());
-        cgm.getLocalDGM().put("helloWorld","hello");
-        cgm.getLocalDGM().put("helloWorld","world");
-    }
-}
-
-```
 
 ## Annottation
 - ChristieではInputDGの指定にはアノテーションを使う。
 - アノテーションとはクラスやメソッド、パッケージに対して、付加情報を記述できるJavaのMeta Computationである。
 - 先頭に@をつけることで記述し、オリジナルのアノテーションを定義することもできるInput
 となる型の変するを直接宣言し、変数名としてkeyを記述する。その上にアノテーションでTakeもしくはPeekを指定する。
-```code
-@Take
-public String name;
-```
-```code
-@TakeFrom("remote")
-public String name;
+
+```cc
+package christie.example.HelloWorld;
+
+import christie.annotation.Take;
+import christie.codegear.CodeGear;
+import christie.codegear.CodeGearManager;
+
+public class HelloWorldCodeGear extends CodeGear {
+    @Take
+    String helloWorld;
+
+    @Override
+    protected void run(CodeGearManager cgm) {
+        System.out.print(helloWorld + " ");
+        cgm.setup(new HelloWorldCodeGear());
+    }
+}
+
 ```
 
 ## TopologyManager
-- TopologyManagerとはTopologyを形成するために、参加を表明したノード、TopologyNodeに名前を与え、必要があればノード同士の配線を行うノードである。
+- TopologyManagerとはTopologyを形成のために、参加を表明したノード、TopologyNodeに名前を与え、必要があればノード同士の配線を行うノードである。
 - TopologyManagerのTopology形成方法として、静的Topologyと動的Topologyがある。
-- 動的Topologyは参加を表明したノードに対し、動的にノード同士の関係を作る。例えばTreeを構成する場合、参加したノードから順にrootに近い役割を与え、またCodeGearはノードが参加し、parentに接続された後に実行される。
+  - 動的Topologyは参加を表明したノードに対し、動的にノード同士の関係を作る。例えばTreeを構成する場合、参加したノードから順にrootに近い役割を与え、またCodeGearはノードが参加し、parentに接続された後に実行される。
+  - 静的Toopologyはdotファイルを与えることノード関係の構築を行う。
 
-## 静的Topology
-- 静的Toopologyはdotファイルを与えることでノード関係を下の図のようにする。
-- 静的Topologyはdotファイルのノード数と同等のTopologyNodeがあって初めて、CodeGearが実行される。
 ```Code
 digraph test {
 	node0 -> node1 [label="right"]
@@ -106,24 +143,30 @@
 ```
 
 <div style="text-align: center;">
- <img src="../paper/images/ring.svg" alt="MetaGear" width="300">
+ <img src="../paper/images/ring.svg" alt="MetaGear" width="250">
 </div>
 
+##ブロックチェーン
+
 ## ブロックチェーンのトランザクション
-- ブロックチェーンはP2Pにてネットワーク間が動作している。つまり、ブロックチェーンにはサーバー、クライアントの区別がなく全てのノードが平等である。
-- ブロックチェーンにおけるブロックは複数のトランザクションをまとめたものである。ブロックの構造は使用するコンセンサスにより変わるが基本的には、previous block hash, merkle root hash, timeが含まれるBlockHeaderとTransactionListにより構成される。
-
-## BlockHeader
-- BlockHeaderには、前のブロックをハッシュ化したもの、トランザクションをまとめたmarkle treeのrootのhash、そのブロックを生成したtimeとなっている。
-- previous block hashは、前のブロックのパラメータを並べてhash化したものである。
-- 上記のものがそれぞれ連なっていることによって下の図のようなブロック繋がっている。そのため一つが更新されたらそのあとにつながるブロック全てを更新しなければならなくなる。
+- ブロックチェーンはP2Pにてネットワーク間が動作している。つまり、ブロックチェーンにはサーバー、クライアントの区別がなく全てのノードが対等な関係にある。
+- ブロックチェーンにおけるブロックは複数のトランザクションをまとめたものである。ブロックは基本的に以下の要素によって構成される。
+  - BlockHeader
+    - previous block
+      - 前のブロックのパラメータをハッシュ化したもの
+    - hashmerkle root hash
+      - トランザションをまとめたハッシュ木のrootのハッシュ
+    - time
+      - そのブロックが生成されたtime
+  - TransactionList
+- 上記のものがそれぞれ連なっていることによって下の図のようなブロック繋がっている。
 <div style="text-align: center;">
  <img src="../paper/images/chain.svg" alt="MetaGear" width="600">
 </div>
 
-## Blockの動作
-- ブロックが生成された場合、知っているノードにそのブロックをブロードキャストする。通信量を抑えるためにブロックを送ったあと、ブロックをシリアライズして送信する場合もある。
-- 誤りがあればさらにそのノードがブロックをブロードキャストする。そしてTransaction PoolというTransactionをためておく場所から、そのブロックに含まれるTransactionを削除し、新しいブロックを生成する。
+<!--
+- しっかり調査する
+-->
 
 ## Transaction
 - トランザクションとはデータのやり取りを行なった記録の最小単位である。トランザクションの構造は次のとおりである。
@@ -136,8 +179,12 @@
 - receiveAddress
   - 送り先のアカウントのアドレス。
 - signature
-  - トランザクションの一部と秘密鍵をSHA256でハッシュ化したもの。ECDSAで署名している。
-- トランザクションはノード間で伝搬され、ノードごとに検証される。そして検証を終え、不正なトランザクションであればそれを破棄し、検証に通った場合はTransaction Poolに取り込まれ、また検証したノードからトランザクションがブロードキャストする。
+  - トランザクションの全体を秘密鍵でハッシュ化したもの。
+- トランザクションはノード間で伝搬され、ノードごとに検証される。そして検証を終え、不正なトランザクションであればそれを破棄し、検証に通った場合はTransaction Poolに取り込まれる。
+
+## Blockの動作
+- ブロックが生成された場合、知っているノードにそのブロックをマルチキャストする。通信量を抑えるためにブロックを送ったあと、ブロックをシリアライズして送信する場合もある。
+- Transactionが失敗したならばそのノードがブロックをブロードキャストする。そしてTransaction PoolというTransactionをためておく場所から、そのブロックに含まれるTransactionを削除する。
 
 
 ## コンセンサスアルゴリズム
@@ -146,7 +193,7 @@
 - fork状態を解消するために用いられるのがコンセンサスアルゴリズムである。
 - ブロックチェーンはパブリックブロックチェーンとコンソーシアムブロックチェーンの場合によってコンセンサスアルゴリズムが変わる。
   - パブリックブロックチェーン
-    - 不特定たすのノードが参加するブロックチェーンを指す。
+    - 不特定多数のノードが参加するブロックチェーンを指す。
     - 不特定多数のノード間、全体のノードの参加数が変わる状況でコンセンサスの変わるアルゴリズムでなければならない。
   - コンソーシアムブロックチェーン
     - 許可したノードのみが参加できるブロックチェーンである。
@@ -236,8 +283,12 @@
 - Takefrom,PeekFromの使い方が難しい。TakeFrom,PeekFromは引数でDGMnameを指定する。しかし、DGMの名前を静的に与えるよりも、動的に与えたい場合が多かった。
 - Takeの待ち合わせでCGが実行されない。2つのCGで同じ変数をTakeしようとすると、setupされた時点で変数がロックされる。この時、片方のCGはDGがもう全て揃っているのに、全ての変数が揃っていないもう片方のCGに同名の変数がロックされ、実行されない場合がある。
 
+<!--
+(ロックはおかしい)
+-->
+
 ## 実験
-- 実際にコンセンサスアルゴリズムPaxosをPC上に分散環境を実装して検証した。分散環境場で動かすため、JobScheduleの一種であるTorque Resource Manager(Torque)を使用した。
+- 実際にコンセンサスアルゴリズムPaxosをPC上に分散環境を実装した。分散環境場で動かすため、JobScheduleの一種であるTorque Resource Manager(Torque)を使用した。
 - Torqueはjobという単位でプログラムを管理し、リソースを確保できたら実行する。jobはqsubというコマンドを使って複数登録することができる。
 
 ## Torque
@@ -269,5 +320,5 @@
 ## まとめ
 - Paxosの動作は確認できた。トランザクションの速度がノード数にどのように影響されるか調査する必要がある。
 - ChristieのTopology Managerは実験するノードの設定を行う集中制度ノードであり、ブロックチェーンとの相性は良くないが、分散ファイルシステムなどの用途の場合、このような手法の方がノードの管理が可能な利点がある。
-- ChristieではBlock,Transaction,Hashの生成、署名、Proof of Workのためのクラスは作られている。しかし、Transactionに置いてまだファイルのデータを入れる機能がない。
+- 現在、ChristieではBlock,Transaction,Hashの生成、署名、Proof of Workのためのクラスは作られている。しかし、Transactionに置いてまだファイルのデータを入れる機能がない。
 - 以上のものを組み合わせれば簡易的なブロックチェーンが作ることができ、Paxosによるブロックチェーンが分散クラスタ上でファイルやり取りをした際のスケーラビリティを計測することができるようになる。
--- a/slide/prosym.pdf.html	Tue May 28 17:51:38 2019 +0900
+++ b/slide/prosym.pdf.html	Wed May 29 19:55:57 2019 +0900
@@ -78,9 +78,9 @@
 <h2 id="研究目的">研究目的</h2>
 
 <ul>
-  <li>コンピュータのデータの不整合は、誤作動や複数人によるデータの同時書き込みによって発生し、特に分散環境下で問題となる。</li>
-  <li>ブロックチェーンはデータの分散ができ、不整合の検知が可能な仕組みとなっている。</li>
-  <li>当研究室で開発中のGearsOSの分散システムの技術として, ブロックチェーンが使用できるか調査中である.</li>
+  <li>コンピュータのデータの不整合の主な原因は、誤作動や複数人によるデータの同時書き込みによって発生し、特に分散環境下で問題となる。</li>
+  <li>分散ネットワークシステムであるブロックチェーンでは、データの分散に伴うデータ不整合の検知が可能な仕組みとなっている。</li>
+  <li>当研究室で開発中のGearsOSの分散システムの技術として, ブロックチェーンが使用できるか調査したい.</li>
   <li>将来的にGearsOSに組み込む予定のある分散フレームワークChristieに分散フレームワークを実装することにした。</li>
 </ul>
 
@@ -97,41 +97,80 @@
   <!-- _S9SLIDE_ -->
 <h2 id="christie">Christie</h2>
 <ul>
-  <li>Christieは当研究室で開発している分散フレームワークである.</li>
-  <li>現在はjava上で開発されているが, 別言語で構成されたGearsOSに組み込む予定があるため,それに向けて書き換え可能な構成となっている.</li>
-  <li>コーディングをする上に置いて以下の概念が存在する。
+  <li>Christieは当研究室で開発している、信頼性を重視した分散フレームワークである.</li>
+  <li>現在はjava上で開発されているが、別言語で構成されたGearsOSに組み込む予定があるため,それに向けて書き換え可能な構成となっている。</li>
+  <li>ChristieではデータをGearという単位で分割して記述を行う。
     <ul>
       <li>CodeGear(以下CG)
         <ul>
-          <li>スレッド、クラスに相当し、javaの継承を用いて記述する。</li>
+          <li>スレッドやクラスに相当し、javaの継承を用いて記述する。keyに全てのDGが格納された際に動作する。</li>
+        </ul>
+      </li>
+      <li>DataGear(以下DG)
+        <ul>
+          <li>DGは変数に相当し、CG内でアノテーションを用いてデータを取り出せる。</li>
         </ul>
       </li>
-      <li>CodeGearManager(以下CGM)</li>
-      <li>DataGear(以下DG)</li>
-      <li>DataGearManager(以下DGM)</li>
-    </ul>
-  </li>
-</ul>
+      <li>CodeGearManager(以下CGM)
+        <ul>
+          <li>ノードに相当し, DG, CG, DataGearManagerの管理をする.</li>
+        </ul>
+      </li>
+      <li>DataGearManager(以下DGM)
+        <ul>
+          <li>DGを管理するものであり, putという操作にて変数(DG)をkeyに格納する。</li>
+        </ul>
 
-
+        
 
 </div>
 
 <div class='slide'>
   <!-- _S9SLIDE_ -->
-<h2 id="christieの言語概念">Christieの言語概念</h2>
-<ul>
-  <li>CGはスレッド, クラスに相当し, javaの継承を用いて記述する.</li>
-  <li>DGは変数データに相当し, CG内でアノテーションを用いて変数データを取り出せる.</li>
-  <li>CGMはノードであり, DG, CG, DGMを管理する.</li>
-  <li>DGMはDGを管理するものであり, putという操作により, 変数データ(DG)を格納できる.
-    <ul>
-      <li>DGMにはLocalDGMとRemoteDGMが存在する。LocalDGMは各ノード固有のデータベースである。RemoteDSMは他ノードのLocalDGMに対応するproxyであり、接続しているノードの数だけ存在する。</li>
-      <li>DGMのput操作を行う際にはLocalとRemoteのどちらかを選ぶ.Localであれば、LocalのCGMが管理するDGMに対しDGを格納し, Remoteの場合は接続したRemoteさきのCGMのDGMにDGを格納する.</li>
+<h2 id="christieのコード例">Christieのコード例</h2>
+        <pre><code class="language-code">package christie.example.HelloWorld;
+
+import christie.codegear.CodeGearManager;
+import christie.codegear.StartCodeGear;
+
+public class StartHelloWorld extends StartCodeGear {
+
+    public StartHelloWorld(CodeGearManager cgm) {
+        super(cgm);
+    }
+
+    public static void main(String[] args){
+        CodeGearManager cgm = createCGM(10000); #ポート番号を指定してCGMを立ち上げ。
+        cgm.setup(new HelloWorldCodeGear()); #立ち上げたCGMへDGを待ちあわせる。
+        cgm.getLocalDGM().put("helloWorld","hello"); #key "helloWorld"にhelloをput
+        cgm.getLocalDGM().put("helloWorld","world");
+    }
+}
+
+</code></pre>
+        <pre><code>ChristieDaemon.listen: bind to /0:0:0:0:0:0:0:0:10000
+hello world
+</code></pre>
+        <!--
+- 立ち上げ後はManager名を指定してDataSegmentAPI用いてDSのやり取りを行うため、プログラマはManager名を意識することでLocalへの操作もRemoteへの操作も同様に扱える。
+-->
+      </li>
     </ul>
   </li>
 </ul>
 
+<!--
+
+## Christieの言語概念
+- CGはスレッド, クラスに相当し, javaの継承を用いて記述する.
+- DGは変数データに相当し, CG内でアノテーションを用いて変数データを取り出せる.
+- CGMはノードであり, DG, CG, DGMを管理する.
+- DGMはDGを管理するものであり, putという操作により, 変数データ(DG)を格納できる.
+  - DGMにはLocalDGMとRemoteDGMが存在する。LocalDGMは各ノード固有のデータベースである。RemoteDSMは他ノードのLocalDGMに対応するproxyであり、接続しているノードの数だけ存在する。
+  - DGMのput操作を行う際にはLocalとRemoteのどちらかを選ぶ.Localであれば、LocalのCGMが管理するDGMに対しDGを格納し, Remoteの場合は接続したRemoteさきのCGMのDGMにDGを格納する.
+
+-->
+
 
 
 </div>
@@ -140,10 +179,31 @@
   <!-- _S9SLIDE_ -->
 <h2 id="dgm">DGM</h2>
 <ul>
-  <li>RocalDGMを立ち上げるにはDataSegmentクラスが提供する、connectメソッドを用い、接続したいポートのipアドレスとport番号、そして任意のManager名を指定することで立ち上げる。</li>
-  <li>立ち上げ後はManager名を指定してDataSegmentAPI用いてDSのやり取りを行うため、プログラマはManager名を意識することでLocalへの操作もRemoteへの操作も同様に扱える。</li>
+  <li>DGMにはLocalDGMとRemoteDGMが存在する。
+    <ul>
+      <li>LocalDGM
+        <ul>
+          <li>LocalなDGMのプールのkeyにデータの書き込みを行う。</li>
+        </ul>
+      </li>
+      <li>RemoteDSM
+        <ul>
+          <li>Localに存在する、他のノードのLocalDGMに対応するプールのkeyにデータを書き込みする。接続しているノードの数だけ存在する。</li>
+        </ul>
+      </li>
+    </ul>
+  </li>
+  <li>DGMのput操作を行う際にはLocalとRemoteのどちらかを選ぶ.Localであれば、LocalのCGMが管理するDGMへ、 Remoteの場合は接続したRemote先のCGMのDGMにDGを格納する.</li>
 </ul>
 
+<div style="text-align: center;">
+  <img src="../paper/images/remote_datasegment.svg" alt="MetaGear" width="400" />
+</div>
+
+<!--
+- RocalDGMを立ち上げるにはDataSegmentクラスが提供する、connectメソッドを用い、接続したいポートのipアドレスとport番号、そして任意のManager名を指定することで立ち上げる。
+-->
+
 
 
 </div>
@@ -152,7 +212,7 @@
   <!-- _S9SLIDE_ -->
 <h2 id="dgのアノテーション">DGのアノテーション</h2>
 <ul>
-  <li>DGを取り出す際にはCG内で宣言した変数データにアノテーションをつける。DGアノテーションには
+  <li>DGを取り出す際にはCG内で宣言した変数にアノテーションをつける。DGアノテーションには
 Take、Peek、TakeFrom、PeekFrom、の4つがある。
     <ul>
       <li>Take
@@ -167,12 +227,12 @@
       </li>
       <li>TakeFrom
         <ul>
-          <li>Takeと似ているが、Remote DGM nameをしているすることで、その接続先のDGM からTake操作をおこえる。</li>
+          <li>Remote DGM nameを指定することで、その接続先のDGM からTake操作をおこえる。</li>
         </ul>
       </li>
       <li>PeekFrom
         <ul>
-          <li>Peekと似ているが、 Remote DGM nameをしているすることで、その接続先のDGM からPeek操作をおこえる。</li>
+          <li>Remote DGM nameを指定することで、その接続先のDGM からPeek操作をおこえる。</li>
         </ul>
       </li>
     </ul>
@@ -185,48 +245,32 @@
 
 <div class='slide'>
   <!-- _S9SLIDE_ -->
-<h2 id="christieのコード例">Christieのコード例</h2>
-<pre><code class="language-code">package christie.example.HelloWorld;
-
-import christie.codegear.CodeGearManager;
-import christie.codegear.StartCodeGear;
-
-public class StartHelloWorld extends StartCodeGear {
-
-    public StartHelloWorld(CodeGearManager cgm) {
-        super(cgm);
-    }
-
-    public static void main(String[] args){
-        CodeGearManager cgm = createCGM(10000);
-        cgm.setup(new HelloWorldCodeGear());
-        cgm.getLocalDGM().put("helloWorld","hello");
-        cgm.getLocalDGM().put("helloWorld","world");
-    }
-}
-
-</code></pre>
-
-
-
-</div>
-
-<div class='slide'>
-  <!-- _S9SLIDE_ -->
 <h2 id="annottation">Annottation</h2>
 <ul>
   <li>ChristieではInputDGの指定にはアノテーションを使う。</li>
   <li>アノテーションとはクラスやメソッド、パッケージに対して、付加情報を記述できるJavaのMeta Computationである。</li>
   <li>先頭に@をつけることで記述し、オリジナルのアノテーションを定義することもできるInput
-となる型の変するを直接宣言し、変数名としてkeyを記述する。その上にアノテーションでTakeもしくはPeekを指定する。
-    <pre><code class="language-code">@Take
-public String name;
+となる型の変するを直接宣言し、変数名としてkeyを記述する。その上にアノテーションでTakeもしくはPeekを指定する。</li>
+</ul>
+
+<pre><code class="language-cc">package christie.example.HelloWorld;
+
+import christie.annotation.Take;
+import christie.codegear.CodeGear;
+import christie.codegear.CodeGearManager;
+
+public class HelloWorldCodeGear extends CodeGear {
+    @Take
+    String helloWorld;
+
+    @Override
+    protected void run(CodeGearManager cgm) {
+        System.out.print(helloWorld + " ");
+        cgm.setup(new HelloWorldCodeGear());
+    }
+}
+
 </code></pre>
-    <pre><code class="language-code">@TakeFrom("remote")
-public String name;
-</code></pre>
-  </li>
-</ul>
 
 
 
@@ -236,34 +280,28 @@
   <!-- _S9SLIDE_ -->
 <h2 id="topologymanager">TopologyManager</h2>
 <ul>
-  <li>TopologyManagerとはTopologyを形成するために、参加を表明したノード、TopologyNodeに名前を与え、必要があればノード同士の配線を行うノードである。</li>
-  <li>TopologyManagerのTopology形成方法として、静的Topologyと動的Topologyがある。</li>
-  <li>動的Topologyは参加を表明したノードに対し、動的にノード同士の関係を作る。例えばTreeを構成する場合、参加したノードから順にrootに近い役割を与え、またCodeGearはノードが参加し、parentに接続された後に実行される。</li>
-</ul>
-
-
-
-</div>
-
-<div class='slide'>
-  <!-- _S9SLIDE_ -->
-<h2 id="静的topology">静的Topology</h2>
-<ul>
-  <li>静的Toopologyはdotファイルを与えることでノード関係を下の図のようにする。</li>
-  <li>静的Topologyはdotファイルのノード数と同等のTopologyNodeがあって初めて、CodeGearが実行される。
-    <pre><code class="language-Code">digraph test {
-  node0 -&gt; node1 [label="right"]
-  node1 -&gt; node2 [label="right"]
-  node2 -&gt; node0 [label="right"]
-}
-</code></pre>
+  <li>TopologyManagerとはTopologyを形成のために、参加を表明したノード、TopologyNodeに名前を与え、必要があればノード同士の配線を行うノードである。</li>
+  <li>TopologyManagerのTopology形成方法として、静的Topologyと動的Topologyがある。
+    <ul>
+      <li>動的Topologyは参加を表明したノードに対し、動的にノード同士の関係を作る。例えばTreeを構成する場合、参加したノードから順にrootに近い役割を与え、またCodeGearはノードが参加し、parentに接続された後に実行される。</li>
+      <li>静的Toopologyはdotファイルを与えることノード関係の構築を行う。</li>
+    </ul>
   </li>
 </ul>
 
+<pre><code class="language-Code">digraph test {
+	node0 -&gt; node1 [label="right"]
+	node1 -&gt; node2 [label="right"]
+	node2 -&gt; node0 [label="right"]
+}
+</code></pre>
+
 <div style="text-align: center;">
- <img src="../paper/images/ring.svg" alt="MetaGear" width="300" />
+ <img src="../paper/images/ring.svg" alt="MetaGear" width="250" />
 </div>
 
+<p>##ブロックチェーン</p>
+
 
 
 </div>
@@ -272,37 +310,40 @@
   <!-- _S9SLIDE_ -->
 <h2 id="ブロックチェーンのトランザクション">ブロックチェーンのトランザクション</h2>
 <ul>
-  <li>ブロックチェーンはP2Pにてネットワーク間が動作している。つまり、ブロックチェーンにはサーバー、クライアントの区別がなく全てのノードが平等である。</li>
-  <li>ブロックチェーンにおけるブロックは複数のトランザクションをまとめたものである。ブロックの構造は使用するコンセンサスにより変わるが基本的には、previous block hash, merkle root hash, timeが含まれるBlockHeaderとTransactionListにより構成される。</li>
-</ul>
-
-
-
-</div>
-
-<div class='slide'>
-  <!-- _S9SLIDE_ -->
-<h2 id="blockheader">BlockHeader</h2>
-<ul>
-  <li>BlockHeaderには、前のブロックをハッシュ化したもの、トランザクションをまとめたmarkle treeのrootのhash、そのブロックを生成したtimeとなっている。</li>
-  <li>previous block hashは、前のブロックのパラメータを並べてhash化したものである。</li>
-  <li>上記のものがそれぞれ連なっていることによって下の図のようなブロック繋がっている。そのため一つが更新されたらそのあとにつながるブロック全てを更新しなければならなくなる。</li>
+  <li>ブロックチェーンはP2Pにてネットワーク間が動作している。つまり、ブロックチェーンにはサーバー、クライアントの区別がなく全てのノードが対等な関係にある。</li>
+  <li>ブロックチェーンにおけるブロックは複数のトランザクションをまとめたものである。ブロックは基本的に以下の要素によって構成される。
+    <ul>
+      <li>BlockHeader
+        <ul>
+          <li>previous block
+            <ul>
+              <li>前のブロックのパラメータをハッシュ化したもの</li>
+            </ul>
+          </li>
+          <li>hashmerkle root hash
+            <ul>
+              <li>トランザションをまとめたハッシュ木のrootのハッシュ</li>
+            </ul>
+          </li>
+          <li>time
+            <ul>
+              <li>そのブロックが生成されたtime</li>
+            </ul>
+          </li>
+        </ul>
+      </li>
+      <li>TransactionList</li>
+    </ul>
+  </li>
+  <li>上記のものがそれぞれ連なっていることによって下の図のようなブロック繋がっている。</li>
 </ul>
 <div style="text-align: center;">
  <img src="../paper/images/chain.svg" alt="MetaGear" width="600" />
 </div>
 
-
-
-</div>
-
-<div class='slide'>
-  <!-- _S9SLIDE_ -->
-<h2 id="blockの動作">Blockの動作</h2>
-<ul>
-  <li>ブロックが生成された場合、知っているノードにそのブロックをブロードキャストする。通信量を抑えるためにブロックを送ったあと、ブロックをシリアライズして送信する場合もある。</li>
-  <li>誤りがあればさらにそのノードがブロックをブロードキャストする。そしてTransaction PoolというTransactionをためておく場所から、そのブロックに含まれるTransactionを削除し、新しいブロックを生成する。</li>
-</ul>
+<!--
+- しっかり調査する
+-->
 
 
 
@@ -335,10 +376,22 @@
   </li>
   <li>signature
     <ul>
-      <li>トランザクションの一部と秘密鍵をSHA256でハッシュ化したもの。ECDSAで署名している。</li>
+      <li>トランザクションの全体を秘密鍵でハッシュ化したもの。</li>
     </ul>
   </li>
-  <li>トランザクションはノード間で伝搬され、ノードごとに検証される。そして検証を終え、不正なトランザクションであればそれを破棄し、検証に通った場合はTransaction Poolに取り込まれ、また検証したノードからトランザクションがブロードキャストする。</li>
+  <li>トランザクションはノード間で伝搬され、ノードごとに検証される。そして検証を終え、不正なトランザクションであればそれを破棄し、検証に通った場合はTransaction Poolに取り込まれる。</li>
+</ul>
+
+
+
+</div>
+
+<div class='slide'>
+  <!-- _S9SLIDE_ -->
+<h2 id="blockの動作">Blockの動作</h2>
+<ul>
+  <li>ブロックが生成された場合、知っているノードにそのブロックをマルチキャストする。通信量を抑えるためにブロックを送ったあと、ブロックをシリアライズして送信する場合もある。</li>
+  <li>Transactionが失敗したならばそのノードがブロックをブロードキャストする。そしてTransaction PoolというTransactionをためておく場所から、そのブロックに含まれるTransactionを削除する。</li>
 </ul>
 
 
@@ -359,7 +412,7 @@
     <ul>
       <li>パブリックブロックチェーン
         <ul>
-          <li>不特定たすのノードが参加するブロックチェーンを指す。</li>
+          <li>不特定多数のノードが参加するブロックチェーンを指す。</li>
           <li>不特定多数のノード間、全体のノードの参加数が変わる状況でコンセンサスの変わるアルゴリズムでなければならない。</li>
         </ul>
       </li>
@@ -418,7 +471,7 @@
 </ul>
 
 <div style="text-align: center;">
- <img src="../paper/images/proof-of-work.pdf" alt="MetaGear" width="600" />
+ <img src="../paper/images/proof-of-work.svg" alt="MetaGear" width="600" />
 </div>
 
 
@@ -547,7 +600,7 @@
   <li>(2)acceptorはacceptリクエストが来た場合、Promiseした提案よりもacceptリクエストで提案された番号が低ければ、その提案を拒否する。それ以外の場合、acceptする。</li>
 </ul>
 <div style="text-align: center;">
- <img src="../paper/images/accept-accepted.pdf" alt="MetaGear" width="600" />
+ <img src="../paper/images/accept-accepted.svg" alt="MetaGear" width="600" />
 </div>
 
 
@@ -594,6 +647,10 @@
   <li>Takeの待ち合わせでCGが実行されない。2つのCGで同じ変数をTakeしようとすると、setupされた時点で変数がロックされる。この時、片方のCGはDGがもう全て揃っているのに、全ての変数が揃っていないもう片方のCGに同名の変数がロックされ、実行されない場合がある。</li>
 </ul>
 
+<!--
+(ロックはおかしい)
+-->
+
 
 
 </div>
@@ -602,7 +659,7 @@
   <!-- _S9SLIDE_ -->
 <h2 id="実験">実験</h2>
 <ul>
-  <li>実際にコンセンサスアルゴリズムPaxosをPC上に分散環境を実装して検証した。分散環境場で動かすため、JobScheduleの一種であるTorque Resource Manager(Torque)を使用した。</li>
+  <li>実際にコンセンサスアルゴリズムPaxosをPC上に分散環境を実装した。分散環境場で動かすため、JobScheduleの一種であるTorque Resource Manager(Torque)を使用した。</li>
   <li>Torqueはjobという単位でプログラムを管理し、リソースを確保できたら実行する。jobはqsubというコマンドを使って複数登録することができる。</li>
 </ul>
 
@@ -677,7 +734,7 @@
 <ul>
   <li>Paxosの動作は確認できた。トランザクションの速度がノード数にどのように影響されるか調査する必要がある。</li>
   <li>ChristieのTopology Managerは実験するノードの設定を行う集中制度ノードであり、ブロックチェーンとの相性は良くないが、分散ファイルシステムなどの用途の場合、このような手法の方がノードの管理が可能な利点がある。</li>
-  <li>ChristieではBlock,Transaction,Hashの生成、署名、Proof of Workのためのクラスは作られている。しかし、Transactionに置いてまだファイルのデータを入れる機能がない。</li>
+  <li>現在、ChristieではBlock,Transaction,Hashの生成、署名、Proof of Workのためのクラスは作られている。しかし、Transactionに置いてまだファイルのデータを入れる機能がない。</li>
   <li>以上のものを組み合わせれば簡易的なブロックチェーンが作ることができ、Paxosによるブロックチェーンが分散クラスタ上でファイルやり取りをした際のスケーラビリティを計測することができるようになる。</li>
 </ul>