Mercurial > hg > Papers > 2010 > kent-master
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 |
rev | line source |
---|---|
2 | 1 %% 要旨 |
2 \begin{abstract} | |
3 | |
4 %%TODO | |
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 | 9 いる。 |
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 | 54 |
55 | |
56 \end{abstract} | |
57 |