view chapter9.tex @ 22:7a279b87d112

slide
author tatsuki
date Wed, 18 Feb 2015 19:24:22 +0900
parents
children
line wrap: on
line source

\chapter*{付録}

\large{functionalJavaのバグについて}

JungleのIndexの実装に使用したFunctionalJavaのTreeMap.getの計算量がO(n)という致命的なバグがあった。
そのため本研究ではFunctionalJavaのデバッグを行いTreeMap.getの修正を行った。
以下に修正前と修正後の測定結果のグラフを記す。

\begin{figure}[h]
\begin{center}
\includegraphics[height=11cm,bb=0 0 445 249]{fig/TreeMapGet.pdf}
\caption{TreeMapのGet}
\label{fig:TreeMapGet}
\end{center}
\end{figure}

修正前のTreeMap.getは、attributeを探す際にTreeを再構築しながら探索を行っていたため、その部分がネックになっていた。
なので、Treeの再構築を行わず探索するよう修正を行った。



\large{maTrixのデータに対するアクセス関数}

maTrixがデータにアクセスする際に使用する関数の一覧を以下に記す。
\begin{table}[h]
\caption{データアクセス関数}
\label{list:maTrixData}
\begin{center}
\begin{tabular}{|l|l|} \hline
isActive&引数に与えられた人に対応するアカウントが \\
&有効であるかを調べる  ~ \\ \hline
rolePriority & 引数に与えられた人が特定の役割を持つ場合に、\\
& 役割の優先順位を返す~ \\ \hline
competentRoleId& 引数に与えられた人に割り当てられている主務を返す ~ \\ \hline
concurrentRoleIds&引数に与えられた人に割り当てられている兼務をすべて返す   ~ \\ \hline
roleDescriptionElementIds&引数に与えられた人、組織の役割記述要素をすべて返す ~ \\ \hline
roleIds&引数に与えられた人、または組織に割り当てられている\\
&役割を全て返す   ~ \\ \hline
childOrganizationIds& 引数に与えられた組織の子組織をすべて返す ~ \\ \hline
deepChildOrganizationIds&引数に与えられた組織の小組織を再帰的に辿って全て返す   ~ \\ \hline
personIds&引数に与えられた組織に所属する全ての人を返す ~ \\ \hline
deepPersonIds&引数に与えられた組織を再帰的に深く辿りながら\\
&それらに所属する全ての人を返す ~ \\ \hline
parentOrganizationIds&引数に与えられた組織または人が所属する親組織を返す ~ \\ \hline
deepParentOrganizationIds&引数に与えられた組織または人が所属する親組織\\
&を再帰的に全て返す ~ \\ \hline
deepChildOrganizationIdsPlus&deepChildOrganizationIdsと基本的に同じ処理をするが、\\
&自身も処理対象に含める ~ \\ \hline
deepParentOrganizationIdsPlus&deepParentOrganizationIdsPlusと基本的に同じ処理をするが\\
&自身も処理対象に含める ~ \\ \hline
stringPathToId&パスで特定できる要素のIdを返す。\\
&パスで指定可能な要素は役割と役割記述要素の2つがある ~ \\ \hline
\end{tabular}
\end{center}
\end{table}

上記の関数のJungle版を本研究では実装した。