Mercurial > hg > Papers > 2017 > atton-master
changeset 92:c407b7403548
Add figure
author | atton <atton@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Thu, 09 Feb 2017 18:52:09 +0900 |
parents | 54cf3b3153fe |
children | 16dc3337a5a9 |
files | paper/akasha.tex paper/atton-master.pdf paper/fig/akashaPut.graffle paper/fig/akashaPut.pdf paper/fig/metameta.graffle paper/fig/metameta.pdf paper/fig/put.graffle paper/fig/put.pdf |
diffstat | 8 files changed, 24 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/paper/akasha.tex Thu Feb 09 18:37:26 2017 +0900 +++ b/paper/akasha.tex Thu Feb 09 18:52:09 2017 +0900 @@ -158,9 +158,15 @@ 最初に、検証の対象となる赤黒木と、検証に必要な DataSegment を含む Meta DataSegment を定義する(リスト\ref{src:akasha-context})。 これが akasha のレベルで利用する Meta DataSegment である。 赤黒木自体はユーザから見るとメタレベル計算であるが、今回はその実装の検証するため、赤黒木がノーマルレベルとなる。 -よって akasha はメタメタレベルの計算とも考えられる。 +よって akasha はメタメタレベルの計算とも考えられる(図~\ref{fig:metameta})。 -% TODO: meta meta の図 +\begin{figure}[htbp] + \begin{center} + \includegraphics[width=250pt]{fig/metameta.pdf} + \caption{akasha とメタの階層構造} + \label{fig:metameta} + \end{center} +\end{figure} akasha が使う DataSegment は データの挿入順を数え上げるためには使う環状リスト \verb/Iterator/ とその要素 \verb/IterElem/、検証に使う情報を保持する \verb/AkashaInfo/、木をなぞる際に使う \verb/AkashaNode/ がある。 @@ -183,8 +189,23 @@ 同様に最も高い高さを取得し、仕様であるリスト\ref{src:assert}の assert を挿入の度に実行する。 assert は CodeSegment の結合を行なうメタ計算である \verb/meta/ を上書きすることにより実現する。 +イメージとしては、挿入を行なう Meta CodeSegment を利用するプログラム(図~\ref{fig:put}) の途中に検証用のメタ計算を挟むことで実現できる(図~\ref{fig:akashaPut})。 -% TODO: 図 +\begin{figure}[htbp] + \begin{center} + \includegraphics[width=300pt]{fig/put.pdf} + \caption{put を利用するプログラム} + \label{fig:put} + \end{center} +\end{figure} + +\begin{figure}[htbp] + \begin{center} + \includegraphics[width=300pt]{fig/akashaPut.pdf} + \caption{put を利用するプログラムのメタを上書きする} + \label{fig:akahsaPut} + \end{center} +\end{figure} \verb/meta/ はリスト\ref{src:rbtree-insert-case-2}の \verb/insertCase2/ のように軽量継続を行なう際に CodeSegment 名と DataSegment を指定するものである。 検証を行なわない通常の \verb/meta/ の実装は CodeSegment 名から対応する実体への軽量継続である(リスト\ref{src:meta})。