annotate sigse.tex @ 10:15ca58a54b6a

Replace punctuation by sed
author Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
date Tue, 09 Dec 2014 14:13:39 +0900
parents 2ec35bc5e0d5
children 0863e8f0a3d6
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
2
fda4a37537b8 Add Makefile
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
1 \documentclass{ipsjpapers}
fda4a37537b8 Add Makefile
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
2
fda4a37537b8 Add Makefile
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
3 % ユーザが定義したマクロなど.
fda4a37537b8 Add Makefile
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
4 \makeatletter
fda4a37537b8 Add Makefile
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
5 \let\@ARRAY\@array \def\@array{\def\<{\inhibitglue}\@ARRAY}
fda4a37537b8 Add Makefile
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
6 \def\<{\(\langle\)\nobreak}
fda4a37537b8 Add Makefile
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
7 \def\>{\nobreak\(\rangle\)}
fda4a37537b8 Add Makefile
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
8 \def\|{\verb|}
fda4a37537b8 Add Makefile
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
9 \def\Underline{\setbox0\hbox\bgroup\let\\\endUnderline}
fda4a37537b8 Add Makefile
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
10 \def\endUnderline{\vphantom{y}\egroup\smash{\underline{\box0}}\\}
fda4a37537b8 Add Makefile
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
11 \def\LATEX{\iLATEX\Large}
fda4a37537b8 Add Makefile
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
12 \def\LATEx{\iLATEX\normalsize}
fda4a37537b8 Add Makefile
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
13 \def\LATex{\iLATEX\small}
fda4a37537b8 Add Makefile
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
14 \def\iLATEX#1{L\kern-.36em\raise.3ex\hbox{#1\bf A}\kern-.15em
fda4a37537b8 Add Makefile
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
15 T\kern-.1667em\lower.7ex\hbox{E}\kern-.125emX}
fda4a37537b8 Add Makefile
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
16 \def\LATEXe{\ifx\LaTeXe\undefined \LaTeX 2e\else\LaTeXe\fi}
fda4a37537b8 Add Makefile
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
17 \def\LATExe{\ifx\LaTeXe\undefined \iLATEX\scriptsize 2e\else\LaTeXe\fi}
fda4a37537b8 Add Makefile
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
18 \def\Quote{\list{}{}\item[]}
fda4a37537b8 Add Makefile
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
19 \let\endQuote\endlist
fda4a37537b8 Add Makefile
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
20 \def\TT{\if@LaTeX@e\tt\fi}
fda4a37537b8 Add Makefile
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
21 \def\CS#1{\if@LaTeX@e\tt\expandafter\string\csname#1\endcsname\else
3
056c4b8a1f57 Wrote author, title
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
22 $\backslash$#1\fi}
2
fda4a37537b8 Add Makefile
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
23
3
056c4b8a1f57 Wrote author, title
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
24 %\checklines % 行送りを確認する時に使用
2
fda4a37537b8 Add Makefile
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
25 \begin{document}%{
fda4a37537b8 Add Makefile
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
26 % 和文表題
3
056c4b8a1f57 Wrote author, title
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
27 \title{圏によるプログラムの変更の形式化}
2
fda4a37537b8 Add Makefile
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
28 % 英文表題
3
056c4b8a1f57 Wrote author, title
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
29 \etitle{Categorical Formalization of Program Modification}
2
fda4a37537b8 Add Makefile
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
30 % 所属ラベルの定義
3
056c4b8a1f57 Wrote author, title
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
31 \affilabel{ie-ryukyu}{琉球大学工学部情報工学科 \\ Department of Information Engineering, University of the Ryukyus.}
2
fda4a37537b8 Add Makefile
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
32 % 和文著者名
3
056c4b8a1f57 Wrote author, title
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
33 \author{比嘉 健太\affiref{ie-ryukyu}\and
056c4b8a1f57 Wrote author, title
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
34 河野 真治\affiref{ie-ryukyu}}
2
fda4a37537b8 Add Makefile
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
35 % 英文著者名
6
ff11e487203e Wrote basics
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
36 \eauthor{Yasutaka Higa\affiref{ie-ryukyu}\and
ff11e487203e Wrote basics
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
37 Shinji Kono\affiref{ie-ryukyu}}
2
fda4a37537b8 Add Makefile
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
38
fda4a37537b8 Add Makefile
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
39 % 和文概要
fda4a37537b8 Add Makefile
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
40 \begin{abstract}
10
15ca58a54b6a Replace punctuation by sed
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents: 9
diff changeset
41 本研究ではプログラムの信頼性を保ちながら開発するための手法を提案することを目的とする.
5
19c10b1b8287 Wrote abstract in Japanese
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
42
10
15ca58a54b6a Replace punctuation by sed
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents: 9
diff changeset
43 プログラムの信頼性が変化するのはプログラムの変更時である.
15ca58a54b6a Replace punctuation by sed
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents: 9
diff changeset
44 プログラムの変更を表現するデータ構造 Delta を定義し,異なるバージョンのプログラムを同時に実行可能にする.
15ca58a54b6a Replace punctuation by sed
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents: 9
diff changeset
45 異なるバージョン間のプログラムのトレースを比較し,信頼性の変化の指摘とデバッグの支援を行なう手法を提案する.
5
19c10b1b8287 Wrote abstract in Japanese
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
46
2
fda4a37537b8 Add Makefile
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
47 \end{abstract}
fda4a37537b8 Add Makefile
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
48 % 英文概要
fda4a37537b8 Add Makefile
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
49 \begin{eabstract}
9
2ec35bc5e0d5 Add english abstract
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents: 8
diff changeset
50 We will propose software development method with improve reliability of program.
2ec35bc5e0d5 Add english abstract
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents: 8
diff changeset
51
2ec35bc5e0d5 Add english abstract
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents: 8
diff changeset
52 If program modified, reliability change with relation.
2ec35bc5e0d5 Add english abstract
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents: 8
diff changeset
53 We define Delta that data structure for expression of program modification.
2ec35bc5e0d5 Add english abstract
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents: 8
diff changeset
54 Delta be able to execute program has multiple version at the same time.
2ec35bc5e0d5 Add english abstract
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents: 8
diff changeset
55
2ec35bc5e0d5 Add english abstract
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents: 8
diff changeset
56 We propose method to visualising reliability and support debug by compare traces between different version programs.
5
19c10b1b8287 Wrote abstract in Japanese
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
57
2
fda4a37537b8 Add Makefile
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
58 \end{eabstract}
fda4a37537b8 Add Makefile
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
59
fda4a37537b8 Add Makefile
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
60 % 表題などの出力
fda4a37537b8 Add Makefile
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
61 \maketitle
fda4a37537b8 Add Makefile
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
62
4
3c333203c8c5 Delete unknown charcode
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents: 3
diff changeset
63 %}{
2
fda4a37537b8 Add Makefile
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
64
fda4a37537b8 Add Makefile
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
65 % 本文はここから始まる
fda4a37537b8 Add Makefile
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
66 \section{はじめに}
10
15ca58a54b6a Replace punctuation by sed
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents: 9
diff changeset
67 プログラムの信頼性を保ちながら開発するための手法を提案する.
15ca58a54b6a Replace punctuation by sed
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents: 9
diff changeset
68 プログラムの変更時に信頼性が変化すると仮定し,圏を用いてプログラムの変更を形式化する.
6
ff11e487203e Wrote basics
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
69
10
15ca58a54b6a Replace punctuation by sed
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents: 9
diff changeset
70 本研究ではプログラムの変更を Monad として表現する.
15ca58a54b6a Replace punctuation by sed
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents: 9
diff changeset
71 Monad とはメタ計算と対応付けられたデータ構造である.
15ca58a54b6a Replace punctuation by sed
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents: 9
diff changeset
72 Monad として任意の異なるバージョンのプログラムを同時に実行するデータ構造 Delta を定義した.
15ca58a54b6a Replace punctuation by sed
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents: 9
diff changeset
73 プログラムの変更は特定バージョンの Delta から次のバージョンの Delta への変換として記述する.
6
ff11e487203e Wrote basics
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
74
10
15ca58a54b6a Replace punctuation by sed
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents: 9
diff changeset
75 ここで,任意の2つのバージョンのプログラムを同時に実行する.
15ca58a54b6a Replace punctuation by sed
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents: 9
diff changeset
76 実行した際に振舞いが変化する点がバージョン間における変更点である.
15ca58a54b6a Replace punctuation by sed
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents: 9
diff changeset
77 変更点を自動で検出することにより,バージョンが変わることによって信頼性の変化する部分を指摘する.
6
ff11e487203e Wrote basics
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
78
ff11e487203e Wrote basics
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
79 \section{プログラムの変更を表す Delta}
10
15ca58a54b6a Replace punctuation by sed
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents: 9
diff changeset
80 プログラミング言語 Haskell においてデータ構造 Delta を定義した.
15ca58a54b6a Replace punctuation by sed
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents: 9
diff changeset
81 Delta は全てのバージョンの実行結果の値を保持するデータ構造である.
15ca58a54b6a Replace punctuation by sed
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents: 9
diff changeset
82 値の変更は値から Delta を返す関数として定義する.
15ca58a54b6a Replace punctuation by sed
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents: 9
diff changeset
83 返す Delta に内包する値を複数個持たせることにより,複数のバージョンを表現する.
6
ff11e487203e Wrote basics
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
84
10
15ca58a54b6a Replace punctuation by sed
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents: 9
diff changeset
85 ここで,異なるバージョン数を持つ Delta や関数の組み合せを考える.
15ca58a54b6a Replace punctuation by sed
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents: 9
diff changeset
86 その際,前のバージョンの組み合せを保存しつつ新たな変更も取り入れるように組み合せる必要がある.
15ca58a54b6a Replace punctuation by sed
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents: 9
diff changeset
87 バージョンの組み合せを表現するために Delta を Monad とする.
6
ff11e487203e Wrote basics
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
88
10
15ca58a54b6a Replace punctuation by sed
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents: 9
diff changeset
89 Monad とはデータ構造とメタ計算を対応付ける手法である\cite{moggi}.
15ca58a54b6a Replace punctuation by sed
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents: 9
diff changeset
90 ここでのメタ計算とはバージョン間の組み合せを一意に決めるルールである.
15ca58a54b6a Replace punctuation by sed
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents: 9
diff changeset
91 関数の実行時にメタ計算も含めて実行することにより,異なるバージョンに存在するの独立した計算も全て実行することができる.
15ca58a54b6a Replace punctuation by sed
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents: 9
diff changeset
92 なお,データ構造を Monad として定義する際に満たすべき Monad則が存在するが,Monad則を満たしていることは証明支援系言語Agda\cite{agda}によって証明した.
6
ff11e487203e Wrote basics
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
93 TODO: ルールを得るサンプルを書くかな? or Delta の定義
ff11e487203e Wrote basics
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
94
10
15ca58a54b6a Replace punctuation by sed
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents: 9
diff changeset
95 よって,プログラムをデータ構造 Delta とDelta を返す関数として記述することにより,全てのバージョンを同時に実行できるプログラムが得られる.
15ca58a54b6a Replace punctuation by sed
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents: 9
diff changeset
96 ここで,バージョンとはある一意な Delta の組み合せの列として表現される.
15ca58a54b6a Replace punctuation by sed
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents: 9
diff changeset
97 組み合せの列を比較することにより異なるバージョン間の比較ができると考えた.
6
ff11e487203e Wrote basics
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
98
ff11e487203e Wrote basics
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
99
ff11e487203e Wrote basics
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
100 \section{任意の2つのバージョンを実行する Parallel Debugger}
10
15ca58a54b6a Replace punctuation by sed
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents: 9
diff changeset
101 任意の2つのバージョンを同時に実行することによりデバッグを支援する手法 Parallel Debugger を提案する.
6
ff11e487203e Wrote basics
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
102
10
15ca58a54b6a Replace punctuation by sed
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents: 9
diff changeset
103 Delta によって表現されたプログラムの任意のバージョンを2つ選ぶ.
15ca58a54b6a Replace punctuation by sed
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents: 9
diff changeset
104 2つのバージョンを同時に実行し,実行結果が変化する点を検出する.
15ca58a54b6a Replace punctuation by sed
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents: 9
diff changeset
105 実行結果の比較を行なうことにより,プログラムの変更時に混入したバグを発見できるのでは無いかと考えた.
6
ff11e487203e Wrote basics
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
106
10
15ca58a54b6a Replace punctuation by sed
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents: 9
diff changeset
107 さらに,2つのバージョンのうち片方を実行しつつ,もう片方はデバッグモードとして実行する.
15ca58a54b6a Replace punctuation by sed
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents: 9
diff changeset
108 バージョンアップ前の挙動をバージョンアップ後も保存しているか自動で確認することも可能であると考えている.
15ca58a54b6a Replace punctuation by sed
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents: 9
diff changeset
109 加えて,テストなどと併用することにより異なるバージョン間における信頼性や品質の比較も可能である.
6
ff11e487203e Wrote basics
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
110
ff11e487203e Wrote basics
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
111
ff11e487203e Wrote basics
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
112 \section{まとめと課題}
10
15ca58a54b6a Replace punctuation by sed
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents: 9
diff changeset
113 本研究ではプログラムの変更をMonadによって表現した.
15ca58a54b6a Replace punctuation by sed
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents: 9
diff changeset
114 定義したデータ構造 Delta により全てのバージョンを同時に実行できることを確認した.
15ca58a54b6a Replace punctuation by sed
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents: 9
diff changeset
115 Delta における特定のバージョン2つを同時に実行することにより,デバッグの支援や信頼性の比較を行なう手法 Parallel Debugger を提案した.
6
ff11e487203e Wrote basics
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
116
10
15ca58a54b6a Replace punctuation by sed
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents: 9
diff changeset
117 今後の課題としては大きく3つある.
15ca58a54b6a Replace punctuation by sed
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents: 9
diff changeset
118 1 つめは Delta におけるプログラムの表現能力である.
15ca58a54b6a Replace punctuation by sed
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents: 9
diff changeset
119 可能なプログラムの全ての変更を Delta によって表現可能かどうか調べなくてはならない.
15ca58a54b6a Replace punctuation by sed
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents: 9
diff changeset
120 この課題については Delta と他の Monad との組み合せが可能であれば可能であると考えている.
15ca58a54b6a Replace punctuation by sed
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents: 9
diff changeset
121 今回 Delta を実装した Haskell においては入出力の処理が Monad として表現される.
15ca58a54b6a Replace punctuation by sed
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents: 9
diff changeset
122 そのため,入出力を含めた変更は Monad との組み合せが必要になる.
6
ff11e487203e Wrote basics
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
123
10
15ca58a54b6a Replace punctuation by sed
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents: 9
diff changeset
124 2 つめはDelta におけるそれぞれのバージョンのトレースを得ることである.
15ca58a54b6a Replace punctuation by sed
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents: 9
diff changeset
125 異なるバージョンにおいて実行結果が変化する点を指摘するには実行結果が比較可能でなくてはいけない.
15ca58a54b6a Replace punctuation by sed
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents: 9
diff changeset
126 このためにバージョンごとの実行結果やトレースを得る必要がある.
15ca58a54b6a Replace punctuation by sed
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents: 9
diff changeset
127 この問題に対しても Monad との組み合せによって解決しようと考えている.
15ca58a54b6a Replace punctuation by sed
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents: 9
diff changeset
128 トレースを得る Monad を定義し,そのMonadと Delta との組み合せで各バージョンのトレースを得る.
6
ff11e487203e Wrote basics
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
129
10
15ca58a54b6a Replace punctuation by sed
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents: 9
diff changeset
130 3 つめは Delta を圏として表現することとその解析である.
15ca58a54b6a Replace punctuation by sed
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents: 9
diff changeset
131 Monad は Kleisli圏の Kleisli Triple との対応が存在しており\cite{category},Deltaもある圏を構築すると考えている.
15ca58a54b6a Replace punctuation by sed
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents: 9
diff changeset
132 特に, Parallel Debugger は圏における Product と対応すると考えている.
15ca58a54b6a Replace punctuation by sed
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents: 9
diff changeset
133 圏における他の性質から,プログラムの変更の性質の解析や他の手法を提案する.
2
fda4a37537b8 Add Makefile
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
134
fda4a37537b8 Add Makefile
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
135
4
3c333203c8c5 Delete unknown charcode
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents: 3
diff changeset
136 %}{
2
fda4a37537b8 Add Makefile
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
137
fda4a37537b8 Add Makefile
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
138 \begin{thebibliography}{10}
fda4a37537b8 Add Makefile
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
139
7
dd9431a77a9a Add bibliographies
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents: 6
diff changeset
140 \bibitem{moggi} Eugenio Moggi: Notion of Computation and Monads(1991)
dd9431a77a9a Add bibliographies
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents: 6
diff changeset
141 \bibitem{category} Michael Barr and Charles Wells: Category Theory for Computing Science(1989)
9
2ec35bc5e0d5 Add english abstract
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents: 8
diff changeset
142 \bibitem{proofs-and-types} Jean-Yves Girard, Paulr Taylor, Yves Lafont: Proofs and Types(1990)
2ec35bc5e0d5 Add english abstract
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents: 8
diff changeset
143 \bibitem{agda} The Agda Wiki - Agda: \\ http://wiki.portal.chalmers.se/agda
2
fda4a37537b8 Add Makefile
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
144
fda4a37537b8 Add Makefile
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
145 \end{thebibliography}
fda4a37537b8 Add Makefile
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
146
4
3c333203c8c5 Delete unknown charcode
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents: 3
diff changeset
147 %}{
2
fda4a37537b8 Add Makefile
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
148
fda4a37537b8 Add Makefile
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
149 \end{document}