annotate abstract.tex @ 5:dfb89e32eea1

added gcc.tex, conclusion.tex and some sources. writed abstraction.
author kent <kent@cr.ie.u-ryukyu.ac.jp>
date Mon, 08 Feb 2010 00:35:58 +0900
parents 50e23a4b2f40
children 8ef81ff8cb52
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
2
50e23a4b2f40 add many files.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1 %% 要旨
50e23a4b2f40 add many files.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2 \begin{abstract}
50e23a4b2f40 add many files.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
3
50e23a4b2f40 add many files.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
4 %%TODO
50e23a4b2f40 add many files.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
5
5
dfb89e32eea1 added gcc.tex, conclusion.tex
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
6 本研究室では継続を基本としたプログラミング言語Continuation based
dfb89e32eea1 added gcc.tex, conclusion.tex
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
7 C(CbC)を開発している。この言語はCから関数やforループ制御などを除き、同
dfb89e32eea1 added gcc.tex, conclusion.tex
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
8 様の動作は全て継続を用いて実現する事で、Cよりも細かい動作を可能にして
2
50e23a4b2f40 add many files.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
9 いる。
50e23a4b2f40 add many files.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
10
5
dfb89e32eea1 added gcc.tex, conclusion.tex
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
11
dfb89e32eea1 added gcc.tex, conclusion.tex
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
12
dfb89e32eea1 added gcc.tex, conclusion.tex
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
13 これまでCbCのコンパイラにはmicro-cをベースとしたコンパイラを用いてきた
dfb89e32eea1 added gcc.tex, conclusion.tex
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
14 。また、2008年の研究ではGCCでのCbCコンパイルも可能となった。しかし、
dfb89e32eea1 added gcc.tex, conclusion.tex
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
15 GCCは当初の期待ほどの性能は出ず、未実装の機能もあり、また実装方法の問
dfb89e32eea1 added gcc.tex, conclusion.tex
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
16 題からバグの存在も明らかになった。
dfb89e32eea1 added gcc.tex, conclusion.tex
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
17
dfb89e32eea1 added gcc.tex, conclusion.tex
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
18 そこで本研究ではその問題点の洗い出しと、未実装であった機能の実装を含む
dfb89e32eea1 added gcc.tex, conclusion.tex
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
19 その問題点の改善を行った。
dfb89e32eea1 added gcc.tex, conclusion.tex
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
20
dfb89e32eea1 added gcc.tex, conclusion.tex
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
21 この改善により、GCCコンパイラはCbCの機能を完全にサポートし、さらに以前
dfb89e32eea1 added gcc.tex, conclusion.tex
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
22 のバージョンよりも高速化に成功した。またこれまでmicro-cでは対応してい
dfb89e32eea1 added gcc.tex, conclusion.tex
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
23 なかった多数のアーキテクチャへの対応が可能となった。実測評価においては
dfb89e32eea1 added gcc.tex, conclusion.tex
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
24 micro-cベースのコンパイラと比較し、良好な結果を得られた。
dfb89e32eea1 added gcc.tex, conclusion.tex
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
25
dfb89e32eea1 added gcc.tex, conclusion.tex
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
26
dfb89e32eea1 added gcc.tex, conclusion.tex
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
27 %%%%%
dfb89e32eea1 added gcc.tex, conclusion.tex
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
28 %システムの大規模化、複雑化という傾向は現代のソフトウェア開発プロジェク
dfb89e32eea1 added gcc.tex, conclusion.tex
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
29 %トにおける特徴の一つである。
dfb89e32eea1 added gcc.tex, conclusion.tex
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
30 %この傾向は社会システムが成長する中で必然的なものとはいえるが、そのため
dfb89e32eea1 added gcc.tex, conclusion.tex
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
31 %にシステムの設計や実装において誤りが発生する可能性も応じて高くなり、ソ
dfb89e32eea1 added gcc.tex, conclusion.tex
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
32 %フトウェア開発における問題点の一つとして挙げられる。
dfb89e32eea1 added gcc.tex, conclusion.tex
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
33
dfb89e32eea1 added gcc.tex, conclusion.tex
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
34 %また、多くのシステム構築にはソフトウェアとハードウェアの両方が不可欠で
dfb89e32eea1 added gcc.tex, conclusion.tex
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
35 %ある。その受け渡しを行う組み込み開発の需要も増加傾向にある。
dfb89e32eea1 added gcc.tex, conclusion.tex
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
36 %ハードウェア記述にはVHDLや..などが使われるが、それらの言語は現代のソフ
dfb89e32eea1 added gcc.tex, conclusion.tex
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
37 %トウェア開発でのオブジェクト指向やスタックとは違い、状態遷移を基本とし
dfb89e32eea1 added gcc.tex, conclusion.tex
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
38 %ており、方向性がまったく違う。
dfb89e32eea1 added gcc.tex, conclusion.tex
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
39 %これらを統合し。。。でより効率的なシステム開発が可能になると考えられる
dfb89e32eea1 added gcc.tex, conclusion.tex
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
40 %。
dfb89e32eea1 added gcc.tex, conclusion.tex
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
41
dfb89e32eea1 added gcc.tex, conclusion.tex
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
42 %当研究室では、コードセグメントと継続を使う言語 Continuation based C を
dfb89e32eea1 added gcc.tex, conclusion.tex
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
43 %提案している。
dfb89e32eea1 added gcc.tex, conclusion.tex
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
44 %この言語は上記の問題を解決するため、1) ハードウェアとスタック言語の中間
dfb89e32eea1 added gcc.tex, conclusion.tex
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
45 %2) 状態遷移を言語として直接記述できる 3) アセンブラに変わるコンパイル
dfb89e32eea1 added gcc.tex, conclusion.tex
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
46 %ターゲットとして最適 4) 検証をプログラムに組み込める
dfb89e32eea1 added gcc.tex, conclusion.tex
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
47 %という特徴を持っている。
dfb89e32eea1 added gcc.tex, conclusion.tex
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
48 %これにより
dfb89e32eea1 added gcc.tex, conclusion.tex
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
49 %%Continuation based Cは過去の研究においてGCCやmicro-cへの実装がなされて
dfb89e32eea1 added gcc.tex, conclusion.tex
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
50 %いる。
dfb89e32eea1 added gcc.tex, conclusion.tex
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
51
dfb89e32eea1 added gcc.tex, conclusion.tex
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
52 %本研究では実装における問題点の洗い出しとその解決、
dfb89e32eea1 added gcc.tex, conclusion.tex
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
53 %またContinuation based Cを使った例としてTaskManagerの実装を紹介する。
2
50e23a4b2f40 add many files.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
54
50e23a4b2f40 add many files.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
55
50e23a4b2f40 add many files.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
56 \end{abstract}
50e23a4b2f40 add many files.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
57