Mercurial > hg > Papers > 2024 > matac-master
changeset 47:49c1503c9176
...
author | matac42 <matac@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Mon, 29 Jan 2024 18:45:13 +0900 |
parents | 9baf70df56fa |
children | e45254ac5d48 |
files | Paper/fig/copy_context.drawio Paper/fig/rbtree_def.drawio Paper/fig/rbtree_def.drawio.pdf Paper/fig/rbtree_def.pdf Paper/fig/rbtree_def.png Paper/fig/transaction.drawio Paper/fig/transaction.png Paper/master_paper.lol Paper/master_paper.pdf Paper/master_paper.tex Paper/src/allocate.h TODO.md mindmaps/gears_fs_db.mm |
diffstat | 13 files changed, 394 insertions(+), 195 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Paper/fig/copy_context.drawio Mon Jan 29 18:45:13 2024 +0900 @@ -0,0 +1,173 @@ +<mxfile host="65bd71144e"> + <diagram id="x9Et9zQnZOJDZx9rMbiu" name="Page-1"> + <mxGraphModel dx="1177" dy="920" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0"> + <root> + <mxCell id="0"/> + <mxCell id="1" parent="0"/> + <mxCell id="44" style="edgeStyle=none;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;endArrow=classic;endFill=1;" edge="1" parent="1" source="2" target="12"> + <mxGeometry relative="1" as="geometry"/> + </mxCell> + <mxCell id="2" value="C1" style="ellipse;whiteSpace=wrap;html=1;" vertex="1" parent="1"> + <mxGeometry x="200" y="170" width="120" height="80" as="geometry"/> + </mxCell> + <mxCell id="8" style="edgeStyle=none;html=1;entryX=0.5;entryY=1;entryDx=0;entryDy=0;endArrow=none;endFill=0;" edge="1" parent="1" source="4" target="2"> + <mxGeometry relative="1" as="geometry"/> + </mxCell> + <mxCell id="4" value="Code table" style="rounded=0;whiteSpace=wrap;html=1;align=left;verticalAlign=top;" vertex="1" parent="1"> + <mxGeometry x="200" y="280" width="120" height="80" as="geometry"/> + </mxCell> + <mxCell id="9" style="edgeStyle=none;html=1;entryX=0.5;entryY=1;entryDx=0;entryDy=0;endArrow=none;endFill=0;" edge="1" parent="1" source="5" target="4"> + <mxGeometry relative="1" as="geometry"/> + </mxCell> + <mxCell id="5" value="Data table" style="rounded=0;whiteSpace=wrap;html=1;align=left;verticalAlign=top;" vertex="1" parent="1"> + <mxGeometry x="200" y="400" width="120" height="160" as="geometry"/> + </mxCell> + <mxCell id="45" style="edgeStyle=orthogonalEdgeStyle;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;endArrow=classic;endFill=1;curved=1;" edge="1" parent="1" source="12" target="2"> + <mxGeometry relative="1" as="geometry"> + <Array as="points"> + <mxPoint x="570" y="210"/> + <mxPoint x="570" y="120"/> + <mxPoint x="150" y="120"/> + <mxPoint x="150" y="210"/> + </Array> + </mxGeometry> + </mxCell> + <mxCell id="12" value="C2" style="ellipse;whiteSpace=wrap;html=1;" vertex="1" parent="1"> + <mxGeometry x="400" y="170" width="120" height="80" as="geometry"/> + </mxCell> + <mxCell id="13" style="edgeStyle=none;html=1;entryX=0.5;entryY=1;entryDx=0;entryDy=0;endArrow=none;endFill=0;" edge="1" parent="1" source="14" target="12"> + <mxGeometry relative="1" as="geometry"/> + </mxCell> + <mxCell id="14" value="Code table" style="rounded=0;whiteSpace=wrap;html=1;align=left;verticalAlign=top;" vertex="1" parent="1"> + <mxGeometry x="400" y="280" width="120" height="80" as="geometry"/> + </mxCell> + <mxCell id="15" style="edgeStyle=none;html=1;entryX=0.5;entryY=1;entryDx=0;entryDy=0;endArrow=none;endFill=0;" edge="1" parent="1" source="16" target="14"> + <mxGeometry relative="1" as="geometry"/> + </mxCell> + <mxCell id="63" style="edgeStyle=orthogonalEdgeStyle;curved=1;html=1;exitX=0.25;exitY=1;exitDx=0;exitDy=0;entryX=0;entryY=0.25;entryDx=0;entryDy=0;startArrow=none;startFill=0;endArrow=classic;endFill=1;" edge="1" parent="1" source="16" target="53"> + <mxGeometry relative="1" as="geometry"> + <Array as="points"> + <mxPoint x="430" y="590"/> + <mxPoint x="530" y="590"/> + <mxPoint x="530" y="440"/> + </Array> + </mxGeometry> + </mxCell> + <mxCell id="16" value="Data table" style="rounded=0;whiteSpace=wrap;html=1;align=left;verticalAlign=top;" vertex="1" parent="1"> + <mxGeometry x="400" y="400" width="120" height="160" as="geometry"/> + </mxCell> + <mxCell id="20" style="edgeStyle=none;html=1;entryX=0;entryY=1;entryDx=0;entryDy=0;entryPerimeter=0;endArrow=none;endFill=0;" edge="1" parent="1" source="17" target="19"> + <mxGeometry relative="1" as="geometry"/> + </mxCell> + <mxCell id="21" style="edgeStyle=none;html=1;endArrow=none;endFill=0;" edge="1" parent="1" source="17" target="18"> + <mxGeometry relative="1" as="geometry"/> + </mxCell> + <mxCell id="17" value="" style="shape=waypoint;sketch=0;fillStyle=solid;size=6;pointerEvents=1;points=[];fillColor=none;resizable=0;rotatable=0;perimeter=centerPerimeter;snapToPoint=1;" vertex="1" parent="1"> + <mxGeometry x="260" y="450" width="20" height="20" as="geometry"/> + </mxCell> + <mxCell id="18" value="" style="shape=waypoint;sketch=0;fillStyle=solid;size=6;pointerEvents=1;points=[];fillColor=none;resizable=0;rotatable=0;perimeter=centerPerimeter;snapToPoint=1;" vertex="1" parent="1"> + <mxGeometry x="290" y="490" width="20" height="20" as="geometry"/> + </mxCell> + <mxCell id="23" style="edgeStyle=none;html=1;entryX=0.75;entryY=0.7;entryDx=0;entryDy=0;entryPerimeter=0;endArrow=none;endFill=0;" edge="1" parent="1" source="19" target="22"> + <mxGeometry relative="1" as="geometry"/> + </mxCell> + <mxCell id="25" style="edgeStyle=none;html=1;endArrow=none;endFill=0;" edge="1" parent="1" source="19" target="24"> + <mxGeometry relative="1" as="geometry"/> + </mxCell> + <mxCell id="19" value="" style="shape=waypoint;sketch=0;fillStyle=solid;size=6;pointerEvents=1;points=[];fillColor=none;resizable=0;rotatable=0;perimeter=centerPerimeter;snapToPoint=1;" vertex="1" parent="1"> + <mxGeometry x="230" y="490" width="20" height="20" as="geometry"/> + </mxCell> + <mxCell id="22" value="" style="shape=waypoint;sketch=0;fillStyle=solid;size=6;pointerEvents=1;points=[];fillColor=none;resizable=0;rotatable=0;perimeter=centerPerimeter;snapToPoint=1;" vertex="1" parent="1"> + <mxGeometry x="200" y="530" width="20" height="20" as="geometry"/> + </mxCell> + <mxCell id="24" value="" style="shape=waypoint;sketch=0;fillStyle=solid;size=6;pointerEvents=1;points=[];fillColor=none;resizable=0;rotatable=0;perimeter=centerPerimeter;snapToPoint=1;" vertex="1" parent="1"> + <mxGeometry x="260" y="530" width="20" height="20" as="geometry"/> + </mxCell> + <mxCell id="35" style="edgeStyle=none;html=1;entryX=0;entryY=1;entryDx=0;entryDy=0;entryPerimeter=0;endArrow=none;endFill=0;" edge="1" parent="1" source="37" target="41"> + <mxGeometry relative="1" as="geometry"/> + </mxCell> + <mxCell id="36" style="edgeStyle=none;html=1;endArrow=none;endFill=0;" edge="1" parent="1" source="37" target="38"> + <mxGeometry relative="1" as="geometry"/> + </mxCell> + <mxCell id="37" value="" style="shape=waypoint;sketch=0;fillStyle=solid;size=6;pointerEvents=1;points=[];fillColor=none;resizable=0;rotatable=0;perimeter=centerPerimeter;snapToPoint=1;" vertex="1" parent="1"> + <mxGeometry x="460" y="450" width="20" height="20" as="geometry"/> + </mxCell> + <mxCell id="38" value="" style="shape=waypoint;sketch=0;fillStyle=solid;size=6;pointerEvents=1;points=[];fillColor=none;resizable=0;rotatable=0;perimeter=centerPerimeter;snapToPoint=1;" vertex="1" parent="1"> + <mxGeometry x="490" y="490" width="20" height="20" as="geometry"/> + </mxCell> + <mxCell id="39" style="edgeStyle=none;html=1;entryX=0.75;entryY=0.7;entryDx=0;entryDy=0;entryPerimeter=0;endArrow=none;endFill=0;" edge="1" parent="1" source="41" target="42"> + <mxGeometry relative="1" as="geometry"/> + </mxCell> + <mxCell id="40" style="edgeStyle=none;html=1;endArrow=none;endFill=0;" edge="1" parent="1" source="41" target="43"> + <mxGeometry relative="1" as="geometry"/> + </mxCell> + <mxCell id="41" value="" style="shape=waypoint;sketch=0;fillStyle=solid;size=6;pointerEvents=1;points=[];fillColor=none;resizable=0;rotatable=0;perimeter=centerPerimeter;snapToPoint=1;" vertex="1" parent="1"> + <mxGeometry x="430" y="490" width="20" height="20" as="geometry"/> + </mxCell> + <mxCell id="42" value="" style="shape=waypoint;sketch=0;fillStyle=solid;size=6;pointerEvents=1;points=[];fillColor=none;resizable=0;rotatable=0;perimeter=centerPerimeter;snapToPoint=1;" vertex="1" parent="1"> + <mxGeometry x="400" y="530" width="20" height="20" as="geometry"/> + </mxCell> + <mxCell id="43" value="" style="shape=waypoint;sketch=0;fillStyle=solid;size=6;pointerEvents=1;points=[];fillColor=none;resizable=0;rotatable=0;perimeter=centerPerimeter;snapToPoint=1;" vertex="1" parent="1"> + <mxGeometry x="460" y="530" width="20" height="20" as="geometry"/> + </mxCell> + <mxCell id="46" value="erasure coding" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1"> + <mxGeometry x="270" y="700" width="60" height="30" as="geometry"/> + </mxCell> + <mxCell id="47" value="" style="endArrow=classic;html=1;curved=1;" edge="1" parent="1"> + <mxGeometry width="50" height="50" relative="1" as="geometry"> + <mxPoint x="340" y="469.62" as="sourcePoint"/> + <mxPoint x="380" y="469.62" as="targetPoint"/> + </mxGeometry> + </mxCell> + <mxCell id="48" value="" style="endArrow=none;html=1;curved=1;endFill=0;startArrow=classic;startFill=1;" edge="1" parent="1"> + <mxGeometry width="50" height="50" relative="1" as="geometry"> + <mxPoint x="340" y="489.62" as="sourcePoint"/> + <mxPoint x="380" y="489.62" as="targetPoint"/> + </mxGeometry> + </mxCell> + <mxCell id="49" value="Import" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1"> + <mxGeometry x="330" y="440" width="60" height="30" as="geometry"/> + </mxCell> + <mxCell id="50" value="Export" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1"> + <mxGeometry x="330" y="490" width="60" height="30" as="geometry"/> + </mxCell> + <mxCell id="52" style="edgeStyle=orthogonalEdgeStyle;curved=1;html=1;entryX=0.392;entryY=0.685;entryDx=0;entryDy=0;entryPerimeter=0;startArrow=none;startFill=0;endArrow=classic;endFill=1;" edge="1" parent="1" source="51" target="24"> + <mxGeometry relative="1" as="geometry"/> + </mxCell> + <mxCell id="51" value="ALLOCATE" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1"> + <mxGeometry x="240" y="580" width="60" height="10" as="geometry"/> + </mxCell> + <mxCell id="53" value="Data table" style="rounded=0;whiteSpace=wrap;html=1;align=left;verticalAlign=top;" vertex="1" parent="1"> + <mxGeometry x="560" y="400" width="120" height="160" as="geometry"/> + </mxCell> + <mxCell id="54" style="edgeStyle=none;html=1;entryX=0;entryY=1;entryDx=0;entryDy=0;entryPerimeter=0;endArrow=none;endFill=0;" edge="1" parent="1" source="56" target="60"> + <mxGeometry relative="1" as="geometry"/> + </mxCell> + <mxCell id="55" style="edgeStyle=none;html=1;endArrow=none;endFill=0;" edge="1" parent="1" source="56" target="57"> + <mxGeometry relative="1" as="geometry"/> + </mxCell> + <mxCell id="56" value="" style="shape=waypoint;sketch=0;fillStyle=solid;size=6;pointerEvents=1;points=[];fillColor=none;resizable=0;rotatable=0;perimeter=centerPerimeter;snapToPoint=1;" vertex="1" parent="1"> + <mxGeometry x="620" y="450" width="20" height="20" as="geometry"/> + </mxCell> + <mxCell id="57" value="" style="shape=waypoint;sketch=0;fillStyle=solid;size=6;pointerEvents=1;points=[];fillColor=none;resizable=0;rotatable=0;perimeter=centerPerimeter;snapToPoint=1;" vertex="1" parent="1"> + <mxGeometry x="650" y="490" width="20" height="20" as="geometry"/> + </mxCell> + <mxCell id="58" style="edgeStyle=none;html=1;entryX=0.75;entryY=0.7;entryDx=0;entryDy=0;entryPerimeter=0;endArrow=none;endFill=0;" edge="1" parent="1" source="60" target="61"> + <mxGeometry relative="1" as="geometry"/> + </mxCell> + <mxCell id="59" style="edgeStyle=none;html=1;endArrow=none;endFill=0;" edge="1" parent="1" source="60" target="62"> + <mxGeometry relative="1" as="geometry"/> + </mxCell> + <mxCell id="60" value="" style="shape=waypoint;sketch=0;fillStyle=solid;size=6;pointerEvents=1;points=[];fillColor=none;resizable=0;rotatable=0;perimeter=centerPerimeter;snapToPoint=1;" vertex="1" parent="1"> + <mxGeometry x="590" y="490" width="20" height="20" as="geometry"/> + </mxCell> + <mxCell id="61" value="" style="shape=waypoint;sketch=0;fillStyle=solid;size=6;pointerEvents=1;points=[];fillColor=none;resizable=0;rotatable=0;perimeter=centerPerimeter;snapToPoint=1;" vertex="1" parent="1"> + <mxGeometry x="560" y="530" width="20" height="20" as="geometry"/> + </mxCell> + <mxCell id="62" value="" style="shape=waypoint;sketch=0;fillStyle=solid;size=6;pointerEvents=1;points=[];fillColor=none;resizable=0;rotatable=0;perimeter=centerPerimeter;snapToPoint=1;" vertex="1" parent="1"> + <mxGeometry x="620" y="530" width="20" height="20" as="geometry"/> + </mxCell> + </root> + </mxGraphModel> + </diagram> +</mxfile> \ No newline at end of file
--- a/Paper/fig/rbtree_def.drawio Mon Jan 29 13:41:22 2024 +0900 +++ b/Paper/fig/rbtree_def.drawio Mon Jan 29 18:45:13 2024 +0900 @@ -1,145 +1,145 @@ <mxfile host="65bd71144e"> <diagram id="PxV3Z1aBI1mM_MlTBdEj" name="Page-1"> - <mxGraphModel dx="1799" dy="760" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0"> + <mxGraphModel dx="276" dy="760" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0"> <root> <mxCell id="0"/> <mxCell id="1" parent="0"/> - <mxCell id="9" style="edgeStyle=none;html=1;entryX=0.55;entryY=1;entryDx=0;entryDy=0;entryPerimeter=0;endArrow=none;endFill=0;" parent="1" source="2" target="4" edge="1"> + <mxCell id="9" style="edgeStyle=none;html=1;entryX=0.55;entryY=1;entryDx=0;entryDy=0;entryPerimeter=0;endArrow=none;endFill=0;fontSize=14;fontFamily=Garamond;" parent="1" source="2" target="4" edge="1"> <mxGeometry relative="1" as="geometry"/> </mxCell> - <mxCell id="10" style="edgeStyle=none;html=1;entryX=0.45;entryY=0.7;entryDx=0;entryDy=0;entryPerimeter=0;endArrow=none;endFill=0;" parent="1" source="2" target="3" edge="1"> + <mxCell id="10" style="edgeStyle=none;html=1;entryX=0.45;entryY=0.7;entryDx=0;entryDy=0;entryPerimeter=0;endArrow=none;endFill=0;fontSize=14;fontFamily=Garamond;" parent="1" source="2" target="3" edge="1"> <mxGeometry relative="1" as="geometry"/> </mxCell> - <mxCell id="2" value="" style="shape=waypoint;sketch=0;fillStyle=solid;size=6;pointerEvents=1;points=[];fillColor=none;resizable=0;rotatable=0;perimeter=centerPerimeter;snapToPoint=1;" parent="1" vertex="1"> - <mxGeometry x="360" y="107.5" width="20" height="20" as="geometry"/> + <mxCell id="2" value="" style="shape=waypoint;sketch=0;fillStyle=solid;size=6;pointerEvents=1;points=[];fillColor=none;resizable=0;rotatable=0;perimeter=centerPerimeter;snapToPoint=1;fontSize=14;fontFamily=Garamond;" parent="1" vertex="1"> + <mxGeometry x="122.5" y="307.5" width="20" height="20" as="geometry"/> </mxCell> - <mxCell id="11" style="edgeStyle=none;html=1;entryX=0.7;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;endArrow=none;endFill=0;" parent="1" source="3" target="8" edge="1"> + <mxCell id="11" style="edgeStyle=none;html=1;entryX=0.7;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;endArrow=none;endFill=0;fontSize=14;fontFamily=Garamond;" parent="1" source="3" target="8" edge="1"> <mxGeometry relative="1" as="geometry"/> </mxCell> - <mxCell id="12" style="edgeStyle=none;html=1;entryX=0.4;entryY=0.7;entryDx=0;entryDy=0;entryPerimeter=0;endArrow=none;endFill=0;" parent="1" source="3" target="5" edge="1"> + <mxCell id="12" style="edgeStyle=none;html=1;entryX=0.4;entryY=0.7;entryDx=0;entryDy=0;entryPerimeter=0;endArrow=none;endFill=0;fontSize=14;fontFamily=Garamond;" parent="1" source="3" target="5" edge="1"> <mxGeometry relative="1" as="geometry"/> </mxCell> - <mxCell id="3" value="" style="shape=waypoint;sketch=0;fillStyle=solid;size=6;pointerEvents=1;points=[];fillColor=none;resizable=0;rotatable=0;perimeter=centerPerimeter;snapToPoint=1;" parent="1" vertex="1"> - <mxGeometry x="390" y="147.5" width="20" height="20" as="geometry"/> + <mxCell id="3" value="" style="shape=waypoint;sketch=0;fillStyle=solid;size=6;pointerEvents=1;points=[];fillColor=none;resizable=0;rotatable=0;perimeter=centerPerimeter;snapToPoint=1;fontSize=14;fontFamily=Garamond;" parent="1" vertex="1"> + <mxGeometry x="152.5" y="347.5" width="20" height="20" as="geometry"/> </mxCell> - <mxCell id="4" value="" style="shape=waypoint;sketch=0;fillStyle=solid;size=6;pointerEvents=1;points=[];fillColor=none;resizable=0;rotatable=0;perimeter=centerPerimeter;snapToPoint=1;" parent="1" vertex="1"> - <mxGeometry x="330" y="147.5" width="20" height="20" as="geometry"/> + <mxCell id="4" value="" style="shape=waypoint;sketch=0;fillStyle=solid;size=6;pointerEvents=1;points=[];fillColor=none;resizable=0;rotatable=0;perimeter=centerPerimeter;snapToPoint=1;fontSize=14;fontFamily=Garamond;" parent="1" vertex="1"> + <mxGeometry x="92.5" y="347.5" width="20" height="20" as="geometry"/> </mxCell> - <mxCell id="5" value="" style="shape=waypoint;sketch=0;fillStyle=solid;size=6;pointerEvents=1;points=[];fillColor=none;resizable=0;rotatable=0;perimeter=centerPerimeter;snapToPoint=1;" parent="1" vertex="1"> - <mxGeometry x="420" y="187.5" width="20" height="20" as="geometry"/> + <mxCell id="5" value="" style="shape=waypoint;sketch=0;fillStyle=solid;size=6;pointerEvents=1;points=[];fillColor=none;resizable=0;rotatable=0;perimeter=centerPerimeter;snapToPoint=1;fontSize=14;fontFamily=Garamond;" parent="1" vertex="1"> + <mxGeometry x="182.5" y="387.5" width="20" height="20" as="geometry"/> </mxCell> - <mxCell id="8" value="" style="shape=waypoint;sketch=0;fillStyle=solid;size=6;pointerEvents=1;points=[];fillColor=none;resizable=0;rotatable=0;perimeter=centerPerimeter;snapToPoint=1;" parent="1" vertex="1"> - <mxGeometry x="360" y="187.5" width="20" height="20" as="geometry"/> + <mxCell id="8" value="" style="shape=waypoint;sketch=0;fillStyle=solid;size=6;pointerEvents=1;points=[];fillColor=none;resizable=0;rotatable=0;perimeter=centerPerimeter;snapToPoint=1;fontSize=14;fontFamily=Garamond;" parent="1" vertex="1"> + <mxGeometry x="122.5" y="387.5" width="20" height="20" as="geometry"/> </mxCell> - <mxCell id="41" style="edgeStyle=none;html=1;entryX=0.55;entryY=1;entryDx=0;entryDy=0;entryPerimeter=0;endArrow=none;endFill=0;" parent="1" source="43" target="47" edge="1"> + <mxCell id="41" style="edgeStyle=none;html=1;entryX=0.55;entryY=1;entryDx=0;entryDy=0;entryPerimeter=0;endArrow=none;endFill=0;fontSize=14;fontFamily=Garamond;" parent="1" source="43" target="47" edge="1"> <mxGeometry relative="1" as="geometry"/> </mxCell> - <mxCell id="42" style="edgeStyle=none;html=1;entryX=0.45;entryY=0.7;entryDx=0;entryDy=0;entryPerimeter=0;endArrow=none;endFill=0;" parent="1" source="43" target="46" edge="1"> + <mxCell id="42" style="edgeStyle=none;html=1;entryX=0.45;entryY=0.7;entryDx=0;entryDy=0;entryPerimeter=0;endArrow=none;endFill=0;fontSize=14;fontFamily=Garamond;" parent="1" source="43" target="46" edge="1"> <mxGeometry relative="1" as="geometry"/> </mxCell> - <mxCell id="43" value="" style="shape=waypoint;sketch=0;fillStyle=solid;size=6;pointerEvents=1;points=[];fillColor=none;resizable=0;rotatable=0;perimeter=centerPerimeter;snapToPoint=1;" parent="1" vertex="1"> - <mxGeometry x="110" y="105" width="20" height="20" as="geometry"/> + <mxCell id="43" value="" style="shape=waypoint;sketch=0;fillStyle=solid;size=6;pointerEvents=1;points=[];fillColor=none;resizable=0;rotatable=0;perimeter=centerPerimeter;snapToPoint=1;fontSize=14;fontFamily=Garamond;" parent="1" vertex="1"> + <mxGeometry x="170" y="105" width="20" height="20" as="geometry"/> </mxCell> - <mxCell id="44" style="edgeStyle=none;html=1;entryX=0.7;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;endArrow=none;endFill=0;" parent="1" source="46" target="53" edge="1"> + <mxCell id="44" style="edgeStyle=none;html=1;entryX=0.7;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;endArrow=none;endFill=0;fontSize=14;fontFamily=Garamond;" parent="1" source="46" target="53" edge="1"> <mxGeometry relative="1" as="geometry"/> </mxCell> - <mxCell id="45" style="edgeStyle=none;html=1;entryX=0.4;entryY=0.7;entryDx=0;entryDy=0;entryPerimeter=0;endArrow=none;endFill=0;" parent="1" source="46" target="50" edge="1"> + <mxCell id="45" style="edgeStyle=none;html=1;entryX=0.4;entryY=0.7;entryDx=0;entryDy=0;entryPerimeter=0;endArrow=none;endFill=0;fontSize=14;fontFamily=Garamond;" parent="1" source="46" target="50" edge="1"> <mxGeometry relative="1" as="geometry"/> </mxCell> - <mxCell id="46" value="" style="shape=waypoint;sketch=0;fillStyle=solid;size=6;pointerEvents=1;points=[];fillColor=none;resizable=0;rotatable=0;perimeter=centerPerimeter;snapToPoint=1;" parent="1" vertex="1"> - <mxGeometry x="140" y="145" width="20" height="20" as="geometry"/> + <mxCell id="46" value="" style="shape=waypoint;sketch=0;fillStyle=solid;size=6;pointerEvents=1;points=[];fillColor=none;resizable=0;rotatable=0;perimeter=centerPerimeter;snapToPoint=1;fontSize=14;fontFamily=Garamond;" parent="1" vertex="1"> + <mxGeometry x="200" y="145" width="20" height="20" as="geometry"/> </mxCell> - <mxCell id="86" style="edgeStyle=none;html=1;entryX=0.6;entryY=0.55;entryDx=0;entryDy=0;entryPerimeter=0;endArrow=none;endFill=0;" edge="1" parent="1" source="47" target="85"> + <mxCell id="86" style="edgeStyle=none;html=1;entryX=0.6;entryY=0.55;entryDx=0;entryDy=0;entryPerimeter=0;endArrow=none;endFill=0;fontSize=14;fontFamily=Garamond;" edge="1" parent="1" source="47" target="85"> <mxGeometry relative="1" as="geometry"/> </mxCell> - <mxCell id="47" value="" style="shape=waypoint;sketch=0;fillStyle=solid;size=6;pointerEvents=1;points=[];fillColor=none;resizable=0;rotatable=0;perimeter=centerPerimeter;snapToPoint=1;" parent="1" vertex="1"> - <mxGeometry x="10" y="145" width="20" height="20" as="geometry"/> + <mxCell id="47" value="" style="shape=waypoint;sketch=0;fillStyle=solid;size=6;pointerEvents=1;points=[];fillColor=none;resizable=0;rotatable=0;perimeter=centerPerimeter;snapToPoint=1;fontSize=14;fontFamily=Garamond;" parent="1" vertex="1"> + <mxGeometry x="70" y="145" width="20" height="20" as="geometry"/> </mxCell> - <mxCell id="50" value="" style="shape=waypoint;sketch=0;fillStyle=solid;size=6;pointerEvents=1;points=[];fillColor=none;resizable=0;rotatable=0;perimeter=centerPerimeter;snapToPoint=1;" parent="1" vertex="1"> + <mxCell id="50" value="" style="shape=waypoint;sketch=0;fillStyle=solid;size=6;pointerEvents=1;points=[];fillColor=none;resizable=0;rotatable=0;perimeter=centerPerimeter;snapToPoint=1;fontSize=14;fontFamily=Garamond;" parent="1" vertex="1"> + <mxGeometry x="230" y="185" width="20" height="20" as="geometry"/> + </mxCell> + <mxCell id="53" value="" style="shape=waypoint;sketch=0;fillStyle=solid;size=6;pointerEvents=1;points=[];fillColor=none;resizable=0;rotatable=0;perimeter=centerPerimeter;snapToPoint=1;fontSize=14;fontFamily=Garamond;" parent="1" vertex="1"> <mxGeometry x="170" y="185" width="20" height="20" as="geometry"/> </mxCell> - <mxCell id="53" value="" style="shape=waypoint;sketch=0;fillStyle=solid;size=6;pointerEvents=1;points=[];fillColor=none;resizable=0;rotatable=0;perimeter=centerPerimeter;snapToPoint=1;" parent="1" vertex="1"> - <mxGeometry x="110" y="185" width="20" height="20" as="geometry"/> - </mxCell> - <mxCell id="58" style="edgeStyle=orthogonalEdgeStyle;html=1;entryX=0.503;entryY=0.347;entryDx=0;entryDy=0;entryPerimeter=0;endArrow=none;endFill=0;curved=1;dashed=1;" parent="1" source="54" target="43" edge="1"> + <mxCell id="58" style="edgeStyle=orthogonalEdgeStyle;html=1;entryX=0.503;entryY=0.347;entryDx=0;entryDy=0;entryPerimeter=0;endArrow=none;endFill=0;curved=1;dashed=1;fontSize=14;fontFamily=Garamond;" parent="1" source="54" target="43" edge="1"> <mxGeometry relative="1" as="geometry"/> </mxCell> - <mxCell id="54" value="root" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1"> - <mxGeometry x="170" y="80" width="30" height="30" as="geometry"/> + <mxCell id="54" value="root" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=14;fontFamily=Garamond;" parent="1" vertex="1"> + <mxGeometry x="230" y="80" width="30" height="30" as="geometry"/> </mxCell> - <mxCell id="61" style="edgeStyle=orthogonalEdgeStyle;curved=1;html=1;dashed=1;endArrow=none;endFill=0;" parent="1" source="56" target="50" edge="1"> + <mxCell id="61" style="edgeStyle=orthogonalEdgeStyle;curved=1;html=1;dashed=1;endArrow=none;endFill=0;fontSize=14;fontFamily=Garamond;" parent="1" source="56" target="50" edge="1"> <mxGeometry relative="1" as="geometry"/> </mxCell> - <mxCell id="56" value="current" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1"> - <mxGeometry x="220" y="155" width="50" height="30" as="geometry"/> + <mxCell id="56" value="current" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=14;fontFamily=Garamond;" parent="1" vertex="1"> + <mxGeometry x="280" y="155" width="60" height="30" as="geometry"/> </mxCell> - <mxCell id="66" style="edgeStyle=orthogonalEdgeStyle;curved=1;html=1;entryX=0.704;entryY=0.481;entryDx=0;entryDy=0;entryPerimeter=0;dashed=1;endArrow=none;endFill=0;" parent="1" source="63" target="2" edge="1"> + <mxCell id="66" style="edgeStyle=orthogonalEdgeStyle;curved=1;html=1;entryX=0.704;entryY=0.481;entryDx=0;entryDy=0;entryPerimeter=0;dashed=1;endArrow=none;endFill=0;fontSize=14;fontFamily=Garamond;" parent="1" source="63" target="2" edge="1"> <mxGeometry relative="1" as="geometry"/> </mxCell> - <mxCell id="63" value="grandparent" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1"> - <mxGeometry x="450" y="82.5" width="80" height="30" as="geometry"/> + <mxCell id="63" value="grandparent" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=14;fontFamily=Garamond;" parent="1" vertex="1"> + <mxGeometry x="212.5" y="282.5" width="87.5" height="30" as="geometry"/> </mxCell> - <mxCell id="67" style="edgeStyle=orthogonalEdgeStyle;curved=1;html=1;dashed=1;endArrow=none;endFill=0;" parent="1" source="64" target="3" edge="1"> + <mxCell id="67" style="edgeStyle=orthogonalEdgeStyle;curved=1;html=1;dashed=1;endArrow=none;endFill=0;fontSize=14;fontFamily=Garamond;" parent="1" source="64" target="3" edge="1"> <mxGeometry relative="1" as="geometry"/> </mxCell> - <mxCell id="64" value="parent" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1"> - <mxGeometry x="475" y="117.5" width="50" height="30" as="geometry"/> + <mxCell id="64" value="parent" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=14;fontFamily=Garamond;" parent="1" vertex="1"> + <mxGeometry x="237.5" y="317.5" width="50" height="30" as="geometry"/> </mxCell> - <mxCell id="68" style="edgeStyle=orthogonalEdgeStyle;curved=1;html=1;dashed=1;endArrow=none;endFill=0;" parent="1" source="65" target="5" edge="1"> + <mxCell id="68" style="edgeStyle=orthogonalEdgeStyle;curved=1;html=1;dashed=1;endArrow=none;endFill=0;fontSize=14;fontFamily=Garamond;" parent="1" source="65" target="5" edge="1"> <mxGeometry relative="1" as="geometry"/> </mxCell> - <mxCell id="65" value="current" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1"> - <mxGeometry x="490" y="157.5" width="55" height="30" as="geometry"/> + <mxCell id="65" value="current" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=14;fontFamily=Garamond;" parent="1" vertex="1"> + <mxGeometry x="252.5" y="357.5" width="55" height="30" as="geometry"/> </mxCell> - <mxCell id="70" value="Parent RedBlackTree" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1"> - <mxGeometry x="100" y="40" width="120" height="30" as="geometry"/> + <mxCell id="70" value="Parent RedBlackTree" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=14;fontFamily=Garamond;" parent="1" vertex="1"> + <mxGeometry x="140" y="40" width="150" height="30" as="geometry"/> </mxCell> - <mxCell id="71" value="When rotating" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1"> - <mxGeometry x="385" y="40" width="90" height="30" as="geometry"/> + <mxCell id="71" value="When rotating" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=14;fontFamily=Garamond;" parent="1" vertex="1"> + <mxGeometry x="147.5" y="240" width="102.5" height="30" as="geometry"/> </mxCell> - <mxCell id="73" value="" style="shape=waypoint;sketch=0;fillStyle=solid;size=6;pointerEvents=1;points=[];fillColor=none;resizable=0;rotatable=0;perimeter=centerPerimeter;snapToPoint=1;" vertex="1" parent="1"> - <mxGeometry x="180" y="105" width="20" height="20" as="geometry"/> + <mxCell id="73" value="" style="shape=waypoint;sketch=0;fillStyle=solid;size=6;pointerEvents=1;points=[];fillColor=none;resizable=0;rotatable=0;perimeter=centerPerimeter;snapToPoint=1;fontSize=14;fontFamily=Garamond;" vertex="1" parent="1"> + <mxGeometry x="240" y="105" width="20" height="20" as="geometry"/> </mxCell> - <mxCell id="90" style="edgeStyle=orthogonalEdgeStyle;curved=1;html=1;dashed=1;endArrow=none;endFill=0;" edge="1" parent="1" source="74" target="73"> + <mxCell id="90" style="edgeStyle=orthogonalEdgeStyle;curved=1;html=1;dashed=1;endArrow=none;endFill=0;fontSize=14;fontFamily=Garamond;" edge="1" parent="1" source="74" target="73"> <mxGeometry relative="1" as="geometry"/> </mxCell> - <mxCell id="74" value="newNode" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1"> - <mxGeometry x="230" y="80" width="50" height="30" as="geometry"/> + <mxCell id="74" value="newNode" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=14;fontFamily=Garamond;" vertex="1" parent="1"> + <mxGeometry x="290" y="80" width="70" height="30" as="geometry"/> </mxCell> - <mxCell id="76" style="edgeStyle=none;html=1;entryX=0.66;entryY=0.8;entryDx=0;entryDy=0;entryPerimeter=0;endArrow=none;endFill=0;" edge="1" parent="1" source="75" target="47"> + <mxCell id="76" style="edgeStyle=none;html=1;entryX=0.66;entryY=0.8;entryDx=0;entryDy=0;entryPerimeter=0;endArrow=none;endFill=0;fontSize=14;fontFamily=Garamond;" edge="1" parent="1" source="75" target="47"> <mxGeometry relative="1" as="geometry"/> </mxCell> - <mxCell id="75" value="" style="shape=waypoint;sketch=0;fillStyle=solid;size=6;pointerEvents=1;points=[];fillColor=none;resizable=0;rotatable=0;perimeter=centerPerimeter;snapToPoint=1;" vertex="1" parent="1"> - <mxGeometry x="40" y="105" width="20" height="20" as="geometry"/> + <mxCell id="75" value="" style="shape=waypoint;sketch=0;fillStyle=solid;size=6;pointerEvents=1;points=[];fillColor=none;resizable=0;rotatable=0;perimeter=centerPerimeter;snapToPoint=1;fontSize=14;fontFamily=Garamond;" vertex="1" parent="1"> + <mxGeometry x="100" y="105" width="20" height="20" as="geometry"/> </mxCell> - <mxCell id="77" style="edgeStyle=none;html=1;entryX=0.45;entryY=0.7;entryDx=0;entryDy=0;entryPerimeter=0;endArrow=none;endFill=0;" edge="1" parent="1" target="81"> + <mxCell id="77" style="edgeStyle=none;html=1;entryX=0.45;entryY=0.7;entryDx=0;entryDy=0;entryPerimeter=0;endArrow=none;endFill=0;fontSize=14;fontFamily=Garamond;" edge="1" parent="1" target="81"> <mxGeometry relative="1" as="geometry"> - <mxPoint x="50" y="115" as="sourcePoint"/> + <mxPoint x="110" y="115" as="sourcePoint"/> </mxGeometry> </mxCell> - <mxCell id="79" style="edgeStyle=none;html=1;entryX=0.7;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;endArrow=none;endFill=0;" edge="1" parent="1" source="81" target="83"> + <mxCell id="79" style="edgeStyle=none;html=1;entryX=0.7;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;endArrow=none;endFill=0;fontSize=14;fontFamily=Garamond;" edge="1" parent="1" source="81" target="83"> <mxGeometry relative="1" as="geometry"/> </mxCell> - <mxCell id="80" style="edgeStyle=none;html=1;entryX=0.4;entryY=0.7;entryDx=0;entryDy=0;entryPerimeter=0;endArrow=none;endFill=0;" edge="1" parent="1" source="81" target="82"> + <mxCell id="80" style="edgeStyle=none;html=1;entryX=0.4;entryY=0.7;entryDx=0;entryDy=0;entryPerimeter=0;endArrow=none;endFill=0;fontSize=14;fontFamily=Garamond;" edge="1" parent="1" source="81" target="82"> <mxGeometry relative="1" as="geometry"/> </mxCell> - <mxCell id="81" value="" style="shape=waypoint;sketch=0;fillStyle=solid;size=6;pointerEvents=1;points=[];fillColor=none;resizable=0;rotatable=0;perimeter=centerPerimeter;snapToPoint=1;" vertex="1" parent="1"> - <mxGeometry x="70" y="145" width="20" height="20" as="geometry"/> + <mxCell id="81" value="" style="shape=waypoint;sketch=0;fillStyle=solid;size=6;pointerEvents=1;points=[];fillColor=none;resizable=0;rotatable=0;perimeter=centerPerimeter;snapToPoint=1;fontSize=14;fontFamily=Garamond;" vertex="1" parent="1"> + <mxGeometry x="130" y="145" width="20" height="20" as="geometry"/> </mxCell> - <mxCell id="82" value="" style="shape=waypoint;sketch=0;fillStyle=solid;size=6;pointerEvents=1;points=[];fillColor=none;resizable=0;rotatable=0;perimeter=centerPerimeter;snapToPoint=1;" vertex="1" parent="1"> + <mxCell id="82" value="" style="shape=waypoint;sketch=0;fillStyle=solid;size=6;pointerEvents=1;points=[];fillColor=none;resizable=0;rotatable=0;perimeter=centerPerimeter;snapToPoint=1;fontSize=14;fontFamily=Garamond;" vertex="1" parent="1"> + <mxGeometry x="160" y="185" width="20" height="20" as="geometry"/> + </mxCell> + <mxCell id="83" value="" style="shape=waypoint;sketch=0;fillStyle=solid;size=6;pointerEvents=1;points=[];fillColor=none;resizable=0;rotatable=0;perimeter=centerPerimeter;snapToPoint=1;fontSize=14;fontFamily=Garamond;" vertex="1" parent="1"> <mxGeometry x="100" y="185" width="20" height="20" as="geometry"/> </mxCell> - <mxCell id="83" value="" style="shape=waypoint;sketch=0;fillStyle=solid;size=6;pointerEvents=1;points=[];fillColor=none;resizable=0;rotatable=0;perimeter=centerPerimeter;snapToPoint=1;" vertex="1" parent="1"> + <mxCell id="85" value="" style="shape=waypoint;sketch=0;fillStyle=solid;size=6;pointerEvents=1;points=[];fillColor=none;resizable=0;rotatable=0;perimeter=centerPerimeter;snapToPoint=1;fontSize=14;fontFamily=Garamond;" vertex="1" parent="1"> <mxGeometry x="40" y="185" width="20" height="20" as="geometry"/> </mxCell> - <mxCell id="85" value="" style="shape=waypoint;sketch=0;fillStyle=solid;size=6;pointerEvents=1;points=[];fillColor=none;resizable=0;rotatable=0;perimeter=centerPerimeter;snapToPoint=1;" vertex="1" parent="1"> - <mxGeometry x="-20" y="185" width="20" height="20" as="geometry"/> - </mxCell> - <mxCell id="88" style="edgeStyle=orthogonalEdgeStyle;html=1;entryX=0.6;entryY=0.45;entryDx=0;entryDy=0;entryPerimeter=0;endArrow=none;endFill=0;curved=1;dashed=1;" edge="1" parent="1" source="87" target="75"> + <mxCell id="88" style="edgeStyle=orthogonalEdgeStyle;html=1;entryX=0.6;entryY=0.45;entryDx=0;entryDy=0;entryPerimeter=0;endArrow=none;endFill=0;curved=1;dashed=1;fontSize=14;fontFamily=Garamond;" edge="1" parent="1" source="87" target="75"> <mxGeometry relative="1" as="geometry"/> </mxCell> - <mxCell id="87" value="previous" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1"> - <mxGeometry x="85" y="80" width="50" height="30" as="geometry"/> + <mxCell id="87" value="previous" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=14;fontFamily=Garamond;" vertex="1" parent="1"> + <mxGeometry x="147.5" y="80" width="62.5" height="30" as="geometry"/> </mxCell> </root> </mxGraphModel>
--- a/Paper/fig/transaction.drawio Mon Jan 29 13:41:22 2024 +0900 +++ b/Paper/fig/transaction.drawio Mon Jan 29 18:45:13 2024 +0900 @@ -1,104 +1,104 @@ -<mxfile host="app.diagrams.net" modified="2023-04-17T13:31:09.248Z" agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36" version="21.1.1" etag="pUaW60F-fyRXDa9FpEsn" type="device"> - <diagram id="L_h3FubKQM33HK9nJZH5" name="Page-1"> - <mxGraphModel dx="1004" dy="635" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0"> - <root> - <mxCell id="0" /> - <mxCell id="1" parent="0" /> - <mxCell id="8" style="edgeStyle=none;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;endArrow=none;endFill=0;strokeWidth=2;strokeColor=#000000;" parent="1" source="2" target="5" edge="1"> - <mxGeometry relative="1" as="geometry" /> - </mxCell> - <mxCell id="9" style="edgeStyle=none;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;endArrow=none;endFill=0;strokeWidth=2;strokeColor=#000000;" parent="1" source="2" target="6" edge="1"> - <mxGeometry relative="1" as="geometry" /> - </mxCell> - <mxCell id="2" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;strokeWidth=2;strokeColor=#000000;fillColor=none;" parent="1" vertex="1"> - <mxGeometry x="180" y="40" width="50" height="50" as="geometry" /> - </mxCell> - <mxCell id="3" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;strokeWidth=2;strokeColor=#000000;fillColor=none;" parent="1" vertex="1"> - <mxGeometry x="80" y="210" width="50" height="50" as="geometry" /> - </mxCell> - <mxCell id="10" style="edgeStyle=none;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;endArrow=none;endFill=0;strokeWidth=2;strokeColor=#000000;" parent="1" source="5" target="3" edge="1"> - <mxGeometry relative="1" as="geometry" /> - </mxCell> - <mxCell id="11" style="edgeStyle=none;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;endArrow=none;endFill=0;strokeWidth=2;strokeColor=#000000;" parent="1" source="5" target="7" edge="1"> - <mxGeometry relative="1" as="geometry" /> - </mxCell> - <mxCell id="5" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;strokeWidth=2;strokeColor=#000000;fillColor=none;" parent="1" vertex="1"> - <mxGeometry x="130" y="120" width="50" height="50" as="geometry" /> - </mxCell> - <mxCell id="6" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;strokeWidth=2;strokeColor=#000000;fillColor=none;" parent="1" vertex="1"> - <mxGeometry x="230" y="120" width="50" height="50" as="geometry" /> - </mxCell> - <mxCell id="7" value="<font style="font-size: 20px;">N</font>" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;strokeWidth=2;strokeColor=#000000;fillColor=none;fontSize=20;" parent="1" vertex="1"> - <mxGeometry x="180" y="210" width="50" height="50" as="geometry" /> - </mxCell> - <mxCell id="27" style="edgeStyle=none;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;fontSize=20;endArrow=classic;endFill=1;startArrow=none;startFill=0;strokeColor=#000000;strokeWidth=2;" parent="1" source="12" target="7" edge="1"> - <mxGeometry relative="1" as="geometry" /> - </mxCell> - <mxCell id="12" value="<font style="font-size: 25px;">key = a</font>" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontColor=#000000;" parent="1" vertex="1"> - <mxGeometry x="265" y="220" width="95" height="30" as="geometry" /> - </mxCell> - <mxCell id="13" value="" style="rounded=0;whiteSpace=wrap;html=1;fontSize=20;strokeWidth=2;strokeColor=#000000;fillColor=none;" parent="1" vertex="1"> - <mxGeometry x="80" y="360" width="120" height="240" as="geometry" /> - </mxCell> - <mxCell id="32" style="edgeStyle=none;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;fontSize=20;startArrow=none;startFill=0;endArrow=classic;endFill=1;strokeWidth=2;strokeColor=#000000;" parent="1" source="14" target="19" edge="1"> - <mxGeometry relative="1" as="geometry"> - <Array as="points"> - <mxPoint x="240" y="365" /> - </Array> - </mxGeometry> - </mxCell> - <mxCell id="39" style="edgeStyle=none;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;strokeColor=#FF9933;strokeWidth=2;fontSize=30;fontColor=#FF9933;startArrow=none;startFill=0;endArrow=classic;endFill=1;" parent="1" source="14" target="24" edge="1"> - <mxGeometry relative="1" as="geometry" /> - </mxCell> - <mxCell id="14" value="" style="rounded=0;whiteSpace=wrap;html=1;fontSize=20;strokeWidth=2;strokeColor=#000000;fillColor=none;" parent="1" vertex="1"> - <mxGeometry x="80" y="480" width="120" height="30" as="geometry" /> - </mxCell> - <mxCell id="15" value="<font style="font-size: 25px;">a</font>" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=20;fontColor=#000000;" parent="1" vertex="1"> - <mxGeometry x="40" y="480" width="40" height="30" as="geometry" /> - </mxCell> - <mxCell id="17" style="edgeStyle=none;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;endArrow=none;endFill=0;strokeWidth=2;strokeColor=#000000;" parent="1" source="19" target="20" edge="1"> - <mxGeometry relative="1" as="geometry" /> - </mxCell> - <mxCell id="18" style="edgeStyle=none;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;endArrow=none;endFill=0;strokeWidth=2;strokeColor=#000000;" parent="1" source="19" target="21" edge="1"> - <mxGeometry relative="1" as="geometry" /> - </mxCell> - <mxCell id="19" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;strokeWidth=2;strokeColor=#000000;fillColor=none;" parent="1" vertex="1"> - <mxGeometry x="340" y="350" width="30" height="30" as="geometry" /> - </mxCell> - <mxCell id="20" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;strokeWidth=2;strokeColor=#000000;fillColor=none;" parent="1" vertex="1"> - <mxGeometry x="290" y="430" width="30" height="30" as="geometry" /> - </mxCell> - <mxCell id="21" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;strokeWidth=2;strokeColor=#000000;fillColor=none;" parent="1" vertex="1"> - <mxGeometry x="390" y="430" width="30" height="30" as="geometry" /> - </mxCell> - <mxCell id="22" style="edgeStyle=none;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;endArrow=none;endFill=0;strokeColor=#FF9933;strokeWidth=2;" parent="1" source="24" target="25" edge="1"> - <mxGeometry relative="1" as="geometry" /> - </mxCell> - <mxCell id="23" style="edgeStyle=none;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;endArrow=none;endFill=0;strokeColor=#FF9933;strokeWidth=2;" parent="1" source="24" target="26" edge="1"> - <mxGeometry relative="1" as="geometry" /> - </mxCell> - <mxCell id="24" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;strokeColor=#FF9933;strokeWidth=2;fillColor=none;" parent="1" vertex="1"> - <mxGeometry x="340" y="480" width="30" height="30" as="geometry" /> - </mxCell> - <mxCell id="25" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;strokeColor=#FF9933;strokeWidth=2;fillColor=none;" parent="1" vertex="1"> - <mxGeometry x="290" y="560" width="30" height="30" as="geometry" /> - </mxCell> - <mxCell id="26" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;strokeColor=#FF9933;strokeWidth=2;fillColor=none;" parent="1" vertex="1"> - <mxGeometry x="390" y="560" width="30" height="30" as="geometry" /> - </mxCell> - <mxCell id="28" value="<font style="font-size: 20px;">Context</font>" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=20;fontColor=#000000;strokeWidth=3;" parent="1" vertex="1"> - <mxGeometry x="105" y="330" width="70" height="30" as="geometry" /> - </mxCell> - <mxCell id="36" value="<span style="font-size: 30px;">A</span>" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;strokeWidth=3;fontSize=20;fontColor=#000000;" parent="1" vertex="1"> - <mxGeometry x="80" y="40" width="30" height="30" as="geometry" /> - </mxCell> - <mxCell id="37" value="<span style="font-size: 30px;">B</span>" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;strokeWidth=3;fontSize=20;fontColor=#000000;" parent="1" vertex="1"> - <mxGeometry x="390" y="350" width="30" height="30" as="geometry" /> - </mxCell> - <mxCell id="38" value="<span style="font-size: 30px;">C</span>" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;strokeWidth=3;fontSize=20;fontColor=#FF9933;" parent="1" vertex="1"> - <mxGeometry x="390" y="480" width="30" height="30" as="geometry" /> - </mxCell> - </root> - </mxGraphModel> - </diagram> -</mxfile> +<mxfile host="65bd71144e"> + <diagram id="L_h3FubKQM33HK9nJZH5" name="Page-1"> + <mxGraphModel dx="634" dy="1748" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0"> + <root> + <mxCell id="0"/> + <mxCell id="1" parent="0"/> + <mxCell id="8" style="edgeStyle=none;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;endArrow=none;endFill=0;strokeWidth=2;strokeColor=#000000;" parent="1" source="2" target="5" edge="1"> + <mxGeometry relative="1" as="geometry"/> + </mxCell> + <mxCell id="9" style="edgeStyle=none;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;endArrow=none;endFill=0;strokeWidth=2;strokeColor=#000000;" parent="1" source="2" target="6" edge="1"> + <mxGeometry relative="1" as="geometry"/> + </mxCell> + <mxCell id="2" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;strokeWidth=2;strokeColor=#000000;fillColor=none;" parent="1" vertex="1"> + <mxGeometry x="180" y="40" width="50" height="50" as="geometry"/> + </mxCell> + <mxCell id="3" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;strokeWidth=2;strokeColor=#000000;fillColor=none;" parent="1" vertex="1"> + <mxGeometry x="80" y="210" width="50" height="50" as="geometry"/> + </mxCell> + <mxCell id="10" style="edgeStyle=none;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;endArrow=none;endFill=0;strokeWidth=2;strokeColor=#000000;" parent="1" source="5" target="3" edge="1"> + <mxGeometry relative="1" as="geometry"/> + </mxCell> + <mxCell id="11" style="edgeStyle=none;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;endArrow=none;endFill=0;strokeWidth=2;strokeColor=#000000;" parent="1" source="5" target="7" edge="1"> + <mxGeometry relative="1" as="geometry"/> + </mxCell> + <mxCell id="5" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;strokeWidth=2;strokeColor=#000000;fillColor=none;" parent="1" vertex="1"> + <mxGeometry x="130" y="120" width="50" height="50" as="geometry"/> + </mxCell> + <mxCell id="6" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;strokeWidth=2;strokeColor=#000000;fillColor=none;" parent="1" vertex="1"> + <mxGeometry x="230" y="120" width="50" height="50" as="geometry"/> + </mxCell> + <mxCell id="7" value="<font style="font-size: 20px;">N</font>" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;strokeWidth=2;strokeColor=#000000;fillColor=none;fontSize=20;" parent="1" vertex="1"> + <mxGeometry x="180" y="210" width="50" height="50" as="geometry"/> + </mxCell> + <mxCell id="27" style="edgeStyle=none;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;fontSize=20;endArrow=classic;endFill=1;startArrow=none;startFill=0;strokeColor=#000000;strokeWidth=2;" parent="1" source="12" target="7" edge="1"> + <mxGeometry relative="1" as="geometry"/> + </mxCell> + <mxCell id="12" value="<font style="font-size: 25px;">key = a</font>" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontColor=#000000;" parent="1" vertex="1"> + <mxGeometry x="265" y="220" width="95" height="30" as="geometry"/> + </mxCell> + <mxCell id="13" value="" style="rounded=0;whiteSpace=wrap;html=1;fontSize=20;strokeWidth=2;strokeColor=#000000;fillColor=none;" parent="1" vertex="1"> + <mxGeometry x="420" y="70" width="120" height="240" as="geometry"/> + </mxCell> + <mxCell id="32" style="edgeStyle=none;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;fontSize=20;startArrow=none;startFill=0;endArrow=classic;endFill=1;strokeWidth=2;strokeColor=#000000;" parent="1" source="14" target="19" edge="1"> + <mxGeometry relative="1" as="geometry"> + <Array as="points"> + <mxPoint x="580" y="75"/> + </Array> + </mxGeometry> + </mxCell> + <mxCell id="39" style="edgeStyle=none;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;strokeColor=#FF9933;strokeWidth=2;fontSize=30;fontColor=#FF9933;startArrow=none;startFill=0;endArrow=classic;endFill=1;" parent="1" source="14" target="24" edge="1"> + <mxGeometry relative="1" as="geometry"/> + </mxCell> + <mxCell id="14" value="" style="rounded=0;whiteSpace=wrap;html=1;fontSize=20;strokeWidth=2;strokeColor=#000000;fillColor=none;" parent="1" vertex="1"> + <mxGeometry x="420" y="190" width="120" height="30" as="geometry"/> + </mxCell> + <mxCell id="15" value="<font style="font-size: 25px;">a</font>" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=20;fontColor=#000000;" parent="1" vertex="1"> + <mxGeometry x="380" y="190" width="40" height="30" as="geometry"/> + </mxCell> + <mxCell id="17" style="edgeStyle=none;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;endArrow=none;endFill=0;strokeWidth=2;strokeColor=#000000;" parent="1" source="19" target="20" edge="1"> + <mxGeometry relative="1" as="geometry"/> + </mxCell> + <mxCell id="18" style="edgeStyle=none;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;endArrow=none;endFill=0;strokeWidth=2;strokeColor=#000000;" parent="1" source="19" target="21" edge="1"> + <mxGeometry relative="1" as="geometry"/> + </mxCell> + <mxCell id="19" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;strokeWidth=2;strokeColor=#000000;fillColor=none;" parent="1" vertex="1"> + <mxGeometry x="680" y="60" width="30" height="30" as="geometry"/> + </mxCell> + <mxCell id="20" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;strokeWidth=2;strokeColor=#000000;fillColor=none;" parent="1" vertex="1"> + <mxGeometry x="630" y="140" width="30" height="30" as="geometry"/> + </mxCell> + <mxCell id="21" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;strokeWidth=2;strokeColor=#000000;fillColor=none;" parent="1" vertex="1"> + <mxGeometry x="730" y="140" width="30" height="30" as="geometry"/> + </mxCell> + <mxCell id="22" style="edgeStyle=none;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;endArrow=none;endFill=0;strokeColor=#FF9933;strokeWidth=2;" parent="1" source="24" target="25" edge="1"> + <mxGeometry relative="1" as="geometry"/> + </mxCell> + <mxCell id="23" style="edgeStyle=none;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;endArrow=none;endFill=0;strokeColor=#FF9933;strokeWidth=2;" parent="1" source="24" target="26" edge="1"> + <mxGeometry relative="1" as="geometry"/> + </mxCell> + <mxCell id="24" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;strokeColor=#FF9933;strokeWidth=2;fillColor=none;" parent="1" vertex="1"> + <mxGeometry x="680" y="190" width="30" height="30" as="geometry"/> + </mxCell> + <mxCell id="25" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;strokeColor=#FF9933;strokeWidth=2;fillColor=none;" parent="1" vertex="1"> + <mxGeometry x="630" y="270" width="30" height="30" as="geometry"/> + </mxCell> + <mxCell id="26" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;strokeColor=#FF9933;strokeWidth=2;fillColor=none;" parent="1" vertex="1"> + <mxGeometry x="730" y="270" width="30" height="30" as="geometry"/> + </mxCell> + <mxCell id="28" value="<font style="font-size: 20px;">Context</font>" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=20;fontColor=#000000;strokeWidth=3;" parent="1" vertex="1"> + <mxGeometry x="445" y="40" width="70" height="30" as="geometry"/> + </mxCell> + <mxCell id="36" value="<span style="font-size: 30px;">A</span>" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;strokeWidth=3;fontSize=20;fontColor=#000000;" parent="1" vertex="1"> + <mxGeometry x="80" y="40" width="30" height="30" as="geometry"/> + </mxCell> + <mxCell id="37" value="<span style="font-size: 30px;">B</span>" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;strokeWidth=3;fontSize=20;fontColor=#000000;" parent="1" vertex="1"> + <mxGeometry x="730" y="60" width="30" height="30" as="geometry"/> + </mxCell> + <mxCell id="38" value="<span style="font-size: 30px;">C</span>" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;strokeWidth=3;fontSize=20;fontColor=#FF9933;" parent="1" vertex="1"> + <mxGeometry x="730" y="190" width="30" height="30" as="geometry"/> + </mxCell> + </root> + </mxGraphModel> + </diagram> +</mxfile> \ No newline at end of file
--- a/Paper/master_paper.lol Mon Jan 29 13:41:22 2024 +0900 +++ b/Paper/master_paper.lol Mon Jan 29 18:45:13 2024 +0900 @@ -7,6 +7,7 @@ \contentsline {lstlisting}{\numberline {3.6}RedBlackTreeの実装}{16}{}% \contentsline {lstlisting}{\numberline {3.7}RedBlackTreeの実装の型定義}{16}{}% \contentsline {lstlisting}{\numberline {3.8}Nodeの型定義}{17}{}% -\contentsline {lstlisting}{\numberline {5.1}実行するCodeGearの切り替えのコード}{30}{}% -\contentsline {lstlisting}{\numberline {6.1}Tree Interfaceの使用定義(Copy追加後)}{31}{}% -\contentsline {lstlisting}{\numberline {6.2}RedBlackTreeの実装の型定義(Copy追加後)}{31}{}% +\contentsline {lstlisting}{\numberline {3.9}ALLOCATEの定義}{18}{}% +\contentsline {lstlisting}{\numberline {5.1}実行するCodeGearの切り替えのコード}{29}{}% +\contentsline {lstlisting}{\numberline {6.1}Tree Interfaceの使用定義(Copy追加後)}{30}{}% +\contentsline {lstlisting}{\numberline {6.2}RedBlackTreeの実装の型定義(Copy追加後)}{30}{}%
--- a/Paper/master_paper.tex Mon Jan 29 13:41:22 2024 +0900 +++ b/Paper/master_paper.tex Mon Jan 29 18:45:13 2024 +0900 @@ -387,7 +387,7 @@ \begin{figure}[ht] \begin{center} - \includegraphics[width=160mm]{fig/rbtree_def.png} + \includegraphics[width=100mm]{fig/rbtree_def.pdf} \end{center} \caption{RedBlackTreeのノードの種類} \label{fig:rbtree-def} @@ -417,6 +417,8 @@ \section{ALLOCATE} +\lstinputlisting[label=src:allocate.h, caption=ALLOCATEの定義]{src/allocate.h} + \chapter{GearsFileSystem} ファイルシステムはOSにおいてユーザーやアプリケーションが使用するファイルや @@ -533,7 +535,7 @@ \begin{figure}[ht] \begin{center} - \includegraphics[width=100mm]{fig/transaction.drawio.pdf} + \includegraphics[width=150mm]{fig/transaction.png} \end{center} \caption{トランザクショナルなwrite操作} \label{fig:Transaction} @@ -580,7 +582,7 @@ \begin{figure}[ht] \begin{center} - \includegraphics[width=160mm]{fig/nonDestroyTreeEdit.pdf} + \includegraphics[width=150mm]{fig/nonDestroyTreeEdit.pdf} \end{center} \caption{非破壊的なTree編集} \label{fig:TreeEdit} @@ -732,6 +734,8 @@ \section{コピー実行のタイミング} +TODO: ここはContextレベルに書き直す + GCやレプリケーション,バックアップはそれを実行するタイミングが重要である. GCはメモリの使用状況に応じて実行される. 例えば,RedBlackTreeに新規ノードを追加する際にメモリが不足した場合などが
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Paper/src/allocate.h Mon Jan 29 18:45:13 2024 +0900 @@ -0,0 +1,13 @@ +#define ALLOCATE(context, t) ({ \ + context->heap = __builtin_align_up(context->heap + sizeof(Meta) , sizeof(void *)) - sizeof(Meta); \ + Meta* meta = (Meta*)context->heap;\ + context->heap += sizeof(Meta);\ + union Data* data = context->heap; \ + context->heap += sizeof(t); \ + meta->type = D_##t; \ + meta->size = sizeof(t); \ + meta->len = 1;\ + meta->data = data; \ + *context->metaData = meta; \ + context->metaData++; \ + data; }) \ No newline at end of file
--- a/TODO.md Mon Jan 29 13:41:22 2024 +0900 +++ b/TODO.md Mon Jan 29 18:45:13 2024 +0900 @@ -10,8 +10,10 @@ - [x] stackの説明ある?(Nodeを積むよという話) - [x] RedBlackTree構造の説明間違っているので修正 +- [ ] ALLOCの説明 + - [ ] DGMによる分散ファイルシステム -- [ ] ALLOCの説明 +- [ ] 別Contextへの書き込み - [ ] 実装の説明 - [ ] 評価 - [ ] まとめ
--- a/mindmaps/gears_fs_db.mm Mon Jan 29 13:41:22 2024 +0900 +++ b/mindmaps/gears_fs_db.mm Mon Jan 29 18:45:13 2024 +0900 @@ -1,6 +1,6 @@ <map version="freeplane 1.9.8"> <!--To view this file, download free mind mapping software Freeplane from https://www.freeplane.org --> -<node TEXT="GearsOS上のファイルシステムとDBの信頼性(仮)" FOLDED="false" ID="ID_452131666" CREATED="1610381621610" MODIFIED="1702111913150" STYLE="oval"> +<node TEXT="GearsOS上のファイルシステムとDBの信頼性(仮)" FOLDED="false" ID="ID_452131666" CREATED="1610381621610" MODIFIED="1706520588455" STYLE="oval"> <font SIZE="18"/> <hook NAME="MapStyle" zoom="0.8"> <properties edgeColorConfiguration="#808080ff,#ff0000ff,#0000ffff,#00ff00ff,#ff00ffff,#00ffffff,#7c0000ff,#00007cff,#007c00ff,#7c007cff,#007c7cff,#7c7c00ff" associatedTemplateLocation="template:/standard-1.6-noEdgeColor.mm" fit_to_viewport="false"/> @@ -399,8 +399,8 @@ </node> </node> <node TEXT="評価方法" POSITION="right" ID="ID_1979397312" CREATED="1699850131177" MODIFIED="1699850137060"/> -<node TEXT="章立て" POSITION="left" ID="ID_378600647" CREATED="1699848424709" MODIFIED="1702112473403"> -<node TEXT="要旨" FOLDED="true" ID="ID_1862870052" CREATED="1705571598152" MODIFIED="1705571620770"> +<node TEXT="章立て" POSITION="left" ID="ID_378600647" CREATED="1699848424709" MODIFIED="1706520588455" HGAP_QUANTITY="8 pt" VSHIFT_QUANTITY="-117 pt"> +<node TEXT="要旨" ID="ID_1862870052" CREATED="1705571598152" MODIFIED="1705571620770"> <node TEXT="CbCでGearsOSを開発している" ID="ID_1596447160" CREATED="1705571621398" MODIFIED="1705571639432"/> <node TEXT="OSの重要な機能の一つにファイルシステムがある" ID="ID_1812705807" CREATED="1705571640078" MODIFIED="1705571676397"> <node TEXT="プロセス管理やデータの保持" ID="ID_1002371513" CREATED="1705636979706" MODIFIED="1705636992169"/> @@ -432,7 +432,7 @@ <node TEXT="CopyRedBlackTreeを実装した" ID="ID_832191870" CREATED="1705571803160" MODIFIED="1705571938071"/> <node TEXT="CopyRedBlackTreeの設計,構築,考察を述べる" ID="ID_1223240785" CREATED="1705636541738" MODIFIED="1705636559635"/> </node> -<node TEXT="Gears OSのファイルシステムとDB" FOLDED="true" ID="ID_446325287" CREATED="1701690660393" MODIFIED="1701690902283"> +<node TEXT="Gears OSのファイルシステムとDB" ID="ID_446325287" CREATED="1701690660393" MODIFIED="1701690902283"> <node TEXT="重要なシステムの障害" ID="ID_780032066" CREATED="1704365424619" MODIFIED="1704365554685"> <node TEXT="例" ID="ID_561763413" CREATED="1704365743851" MODIFIED="1704365747240"> <node TEXT="全銀システム" ID="ID_380458549" CREATED="1704365488518" MODIFIED="1704365500548"> @@ -473,7 +473,7 @@ <node TEXT="GearsOSのファイルシステムとDBの現状" ID="ID_90571671" CREATED="1703313901390" MODIFIED="1703313918619"/> <node TEXT="RedBlackTreeのコピーの実装" ID="ID_227598094" CREATED="1703313929273" MODIFIED="1703313941132"/> </node> -<node TEXT="軽量継続を基本とする言語CbC" FOLDED="true" ID="ID_1037072660" CREATED="1701690246173" MODIFIED="1703311032386"> +<node TEXT="軽量継続を基本とする言語CbC" ID="ID_1037072660" CREATED="1701690246173" MODIFIED="1703311032386"> <node TEXT="軽量継続を基本とする言語CbC" ID="ID_1137662194" CREATED="1704620254613" MODIFIED="1704620265899"> <node TEXT="Cの下位言語" ID="ID_367988382" CREATED="1704620272383" MODIFIED="1704620280501"/> <node TEXT="軽量継続を基本とする" ID="ID_772545453" CREATED="1704620285878" MODIFIED="1704620291664"/> @@ -482,7 +482,7 @@ <node TEXT="gotoによる軽量継続" ID="ID_726882949" CREATED="1703307895880" MODIFIED="1703307911540"/> <node TEXT="CodeGearの記述例" ID="ID_1731637915" CREATED="1703307784821" MODIFIED="1703307887307"/> </node> -<node TEXT="信頼性の保証を目的としたGearsOS" FOLDED="true" ID="ID_1315567458" CREATED="1701692210913" MODIFIED="1703311040671"> +<node TEXT="信頼性の保証を目的としたGearsOS" ID="ID_1315567458" CREATED="1701692210913" MODIFIED="1703311040671"> <node TEXT="3種類のGearsOS" ID="ID_1326415213" CREATED="1703309744902" MODIFIED="1703309750565"> <node TEXT="Gears Agda" ID="ID_1385168402" CREATED="1705044105795" MODIFIED="1705044111649"/> <node TEXT="Gears OS" ID="ID_1367848198" CREATED="1705044112079" MODIFIED="1705044114581"/> @@ -550,7 +550,7 @@ <node TEXT="GearsOSのRedBlackTree" ID="ID_594513732" CREATED="1705400358246" MODIFIED="1705400364641"/> <node TEXT="ALLOCの説明" ID="ID_957488458" CREATED="1706417138929" MODIFIED="1706417138929"/> </node> -<node TEXT="GearsOSのファイルシステムとDB(現状の話" FOLDED="true" ID="ID_667012992" CREATED="1701694178540" MODIFIED="1705549429213"> +<node TEXT="GearsOSのファイルシステムとDB(現状の話" ID="ID_667012992" CREATED="1701694178540" MODIFIED="1705549429213"> <node TEXT="GearsOSのファイルシステムとDB" ID="ID_188577314" CREATED="1704630094596" MODIFIED="1705549436675"> <node TEXT="ファイルシステムはOSの重要な機能である" ID="ID_46805604" CREATED="1704630103040" MODIFIED="1704630119191"/> <node TEXT="分散ファイルシステムとi-nodeを用いたファイルシステムが存在する" ID="ID_1509553363" CREATED="1704630119858" MODIFIED="1704630152926"/> @@ -569,7 +569,7 @@ <node TEXT="RedBlackTreeのトランザクション" ID="ID_1088328123" CREATED="1701696247760" MODIFIED="1702112463420" HGAP_QUANTITY="14.75 pt" VSHIFT_QUANTITY="3.75 pt"/> </node> </node> -<node TEXT="GearsFileSystemにおけるGCとレプリケーション" FOLDED="true" ID="ID_1092227909" CREATED="1701690558237" MODIFIED="1705569492385" HGAP_QUANTITY="16.25 pt" VSHIFT_QUANTITY="-1.5 pt"> +<node TEXT="GearsFileSystemにおけるGCとレプリケーション" ID="ID_1092227909" CREATED="1701690558237" MODIFIED="1705569492385" HGAP_QUANTITY="16.25 pt" VSHIFT_QUANTITY="-1.5 pt"> <node TEXT="ファイルシステムの信頼性" FOLDED="true" ID="ID_200982245" CREATED="1704630258973" MODIFIED="1706091519737"> <node TEXT="信頼性に関する追加機能" ID="ID_1574949535" CREATED="1704630312069" MODIFIED="1704630320377"/> <node TEXT="GCやレプリケーションの機能がない" ID="ID_878946385" CREATED="1704630323433" MODIFIED="1704632961588"/> @@ -702,9 +702,12 @@ <node TEXT="評価" ID="ID_1053436711" CREATED="1702112499515" MODIFIED="1702112509004"> <node TEXT="信頼性" ID="ID_1221084016" CREATED="1702289777950" MODIFIED="1702289781581"> <node TEXT="モデル検査とAgdaによる実装" ID="ID_1438858883" CREATED="1702289781790" MODIFIED="1702289794818"/> -</node> +<node TEXT="copyの信頼性は?" ID="ID_1159602829" CREATED="1706417738889" MODIFIED="1706417747056"/> <node TEXT="RedBlackTreeの信頼性は定理証明する" ID="ID_12400408" CREATED="1706417749855" MODIFIED="1706417762632"/> -<node TEXT="copyの信頼性は?" ID="ID_1159602829" CREATED="1706417738889" MODIFIED="1706417747056"/> +</node> +<node TEXT="実装" ID="ID_484711889" CREATED="1706520630447" MODIFIED="1706520633279"> +<node TEXT="&ALLOCATION" ID="ID_1081895195" CREATED="1706521406980" MODIFIED="1706521412797"/> +</node> </node> <node TEXT="今後" ID="ID_87524419" CREATED="1702112509364" MODIFIED="1702112512270"/> </node> @@ -756,8 +759,8 @@ </node> </node> </node> -<node TEXT="実装" POSITION="left" ID="ID_1462455862" CREATED="1706417525408" MODIFIED="1706417530681"> -<node TEXT="CopyRedBlackTreeの実装" ID="ID_1619882257" CREATED="1701697553803" MODIFIED="1703491075408" VSHIFT_QUANTITY="-4.5 pt"> +<node TEXT="実装" POSITION="left" ID="ID_1462455862" CREATED="1706417525408" MODIFIED="1706520562138"> +<node TEXT="CopyRedBlackTreeの実装" FOLDED="true" ID="ID_1619882257" CREATED="1701697553803" MODIFIED="1706520562137" VSHIFT_QUANTITY="-4.5 pt"> <node TEXT="実装方法" ID="ID_1774988166" CREATED="1705735668943" MODIFIED="1705735677711"> <node TEXT="Tree InterfaceのAPIにCopyを追加する" ID="ID_95904284" CREATED="1705735678228" MODIFIED="1705735715335"/> <node TEXT="RedBlackTreeのコピーとして実装する" ID="ID_748405331" CREATED="1706417169892" MODIFIED="1706417179625"/> @@ -791,6 +794,7 @@ <node TEXT="Copy後古いContextを消す" ID="ID_1297792398" CREATED="1699849646521" MODIFIED="1699849693755"/> <node TEXT="メモリ管理をモナドで表していることになる" ID="ID_152951728" CREATED="1699849705089" MODIFIED="1699849715878"/> <node TEXT="ALLOCで別のContextに書き込むようにしたいな" ID="ID_1289215093" CREATED="1706417832741" MODIFIED="1706417849017"/> +<node TEXT="別ノードに書き込むことになるのでそのままreplicationになる" ID="ID_1997482213" CREATED="1706508692481" MODIFIED="1706508711469"/> </node> <node TEXT="リーフまで降りたらroot方向に木を戻る" ID="ID_1233772087" CREATED="1699849731393" MODIFIED="1699849765553"> <node TEXT="Stack pop" ID="ID_1907664340" CREATED="1699849765982" MODIFIED="1699849773214"/> @@ -799,7 +803,9 @@ </node> </node> <node TEXT="コード説明" ID="ID_1352482727" CREATED="1704630501155" MODIFIED="1704630507416"> -<node TEXT="ALLOCATEの部分" ID="ID_933840077" CREATED="1706418297855" MODIFIED="1706418365645"/> +<node TEXT="ALLOCATEの部分" ID="ID_933840077" CREATED="1706418297855" MODIFIED="1706418365645"> +<node TEXT="" ID="ID_1621850954" CREATED="1706503638877" MODIFIED="1706503638877"/> +</node> <node TEXT="stackの操作" ID="ID_1586156552" CREATED="1706418375086" MODIFIED="1706418391025"> <node TEXT="結構面倒......" ID="ID_1797610218" CREATED="1706418380222" MODIFIED="1706418386258"/> </node>