Mercurial > hg > Papers > 2014 > toma-master
changeset 5:658281be77ec
describe the abstract
author | Daichi TOMA <toma@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Sun, 19 Jan 2014 09:35:05 +0900 |
parents | f1b0236b1ffa |
children | 37efb7dc0bda |
files | .hgignore paper/abstract.tex paper/appendix.tex paper/chapter1.tex paper/chapter2.tex paper/chapter3.tex paper/chapter4.tex paper/master_paper.tex paper/rendering.tex |
diffstat | 9 files changed, 51 insertions(+), 25 deletions(-) [+] |
line wrap: on
line diff
--- a/.hgignore Sat Dec 28 11:59:35 2013 +0900 +++ b/.hgignore Sun Jan 19 09:35:05 2014 +0900 @@ -4,4 +4,8 @@ *.blg *.dvi *.log -master.pdf +*.idx +*.lof +*.lot +*.toc +master_paper.pdf
--- a/paper/abstract.tex Sat Dec 28 11:59:35 2013 +0900 +++ b/paper/abstract.tex Sun Jan 19 09:35:05 2014 +0900 @@ -1,4 +1,21 @@ \begin{abstract} + ブロードバンド環境やモバイル端末の普及により、ウェブサービスの利用者数は急激に伸びている。 + リクエスト数の増加を予想することは困難であり、負荷が増大した場合に容易に拡張できるスケーラビリティが求められる。 + ここでいうスケーラビリティとは、利用者や負荷の増大に対し、単なるリソースの追加のみでサービスの質を維持することのできる性質のことである。 + + ウェブサービスにおけるスケーラビリティを実現するためには、並列にデータにアクセスできる設計が必要となる。 + 本研究では、並列にデータへアクセスする手法として、非破壊的木構造を利用する。 + 非破壊的木構造では、排他制御をせずにデータを読むことが可能でありスケーラビリティを確保できる。 -アブストラクト + 非破壊的木構造を用いたデータベースとして、オブジェクト指向プログラミング言語 Java を用いた Jungle\texttrademark が存在する。 + しかしながら、非破壊的木構造は破壊的代入がないためオブジェクト指向プログラミング言語よりも純粋関数型言語との相性が良いと考えられる。 + 実際に、Java による実装でも Functional Java 用いて関数型プログラミングスタイルで記述されている。 + 本研究では、純粋関数型言語 Haskell による Jungle の再実装を行った。 + + Haskell を用いることで、表現力や純粋性のメリットを享受することができた。 + Haskell では、高度な型を一からつくり上げることができ、型情報を利用してコンパイル時に多くのエラーを捕捉できる。 + また、並列処理において副作用に依存する問題から解放され処理が簡潔になった。 + そのうえ、Haskell による実装では、Java による実装と比較して開発期間およびコード行数が非常に短くなるといったメリットもあった。 + + 性能比較のために Haskell で書かれた HTTP サーバ Warp を用いて簡易掲示板システムを開発し、既存の Java の実装と同程度の性能を達成できた。 \end{abstract}
--- a/paper/appendix.tex Sat Dec 28 11:59:35 2013 +0900 +++ b/paper/appendix.tex Sun Jan 19 09:35:05 2014 +0900 @@ -2,5 +2,5 @@ \addcontentsline{toc}{chapter}{発表文献} \begin{itemize} -\item 河野研ゼミ + \item{Haskellによる非破壊的木構造を用いたCMSの実装,\\ 當眞大千, 河野真治(琉球大学), 永山辰巳(株式会社 Symphony)\\ 日本ソフトウェア科学会30回大会 (2013年度), Sep, 2013} \end{itemize}
--- a/paper/chapter1.tex Sat Dec 28 11:59:35 2013 +0900 +++ b/paper/chapter1.tex Sun Jan 19 09:35:05 2014 +0900 @@ -1,4 +1,10 @@ -\chapter{序論} +\chapter{Haskellとは} +Haskellとは純粋関数型プログラミング言語である。 -\section{はじめに} -はじめに +\section{関数型プログラミング} +関数型プログラミング言語では、引数を関数に作用させていくことで計算を行う。 +Haskellは純粋であり、参照透過性を持つ。 +参照透過性という性質は、引数が同じならば関数は必ず同じ値を返すことを保証する。 +\section{データ型} +\section{Monad} +\section{並列実行}
--- a/paper/chapter2.tex Sat Dec 28 11:59:35 2013 +0900 +++ b/paper/chapter2.tex Sun Jan 19 09:35:05 2014 +0900 @@ -1,4 +1,4 @@ -\chapter{議論} +\chapter{Haskellによるデータベースの設計} -\section{はじめに} -はじめに +\section{目標} +\section{Haskellで実装するメリット}
--- a/paper/chapter3.tex Sat Dec 28 11:59:35 2013 +0900 +++ b/paper/chapter3.tex Sun Jan 19 09:35:05 2014 +0900 @@ -1,5 +1,7 @@ -\chapter{結論} +\chapter{Haskellによるデータベースの実装} -\section{はじめに} -はじめに +\section{Node} +\section{Treeの取り扱い} +\section{ルートノード} +\section{並列実行}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/paper/chapter4.tex Sun Jan 19 09:35:05 2014 +0900 @@ -0,0 +1,6 @@ +\chapter{ベンチマーク} + +\section{実験環境} +\section{実験} +\section{実験結果} +
--- a/paper/master_paper.tex Sat Dec 28 11:59:35 2013 +0900 +++ b/paper/master_paper.tex Sun Jan 19 09:35:05 2014 +0900 @@ -7,9 +7,9 @@ \input{font.sty} -\jtitle{Haskellによる非破壊的木構造を用いたCMSの設計と実装} +\jtitle{関数型言語 Haskell によるデータベースの実装} \etitle{} -\year{平成25年度} +\year{平成26年度} \affiliation{\center% \includegraphics[clip,keepaspectratio,width=.15\textwidth] {images/u-ryukyu-Mark.eps}\\ @@ -26,7 +26,7 @@ \end{minipage}} \markleftfoot{% 左下に挿入 \begin{minipage}{.8\textwidth} - Haskellによる非破壊的木構造を用いたCMSの設計と実装 + 関数型言語 Haskell によるデータベースの実装 \end{minipage}} \newcommand\figref[1]{図 \ref{fig:#1}} @@ -57,6 +57,7 @@ \input{chapter1.tex} \input{chapter2.tex} \input{chapter3.tex} +\input{chapter4.tex} \input{conclusion.tex} %謝辞
--- a/paper/rendering.tex Sat Dec 28 11:59:35 2013 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,10 +0,0 @@ -\chapter{Rendering Engine} \label{chapter:rendering} - -\section{Rendering で用いるモデルの作成} -\section{Rendering で使うデータ構造} -\section{CreatePolygonFromSceneGraph} -\section{CreateSpan} -\section{Rendering する上での Texture の管理} -\section{DrawSpan} - -