2013 Fiscal Year Research-status Report
宇宙機オンボードコンピュータのビット反転によるプログラム進化
Project/Area Number |
25540109
|
Research Category |
Grant-in-Aid for Challenging Exploratory Research
|
Research Institution | The University of Electro-Communications |
Principal Investigator |
高玉 圭樹 電気通信大学, 情報理工学(系)研究科, 教授 (20345367)
|
Project Period (FY) |
2013-04-01 – 2015-03-31
|
Keywords | ソフトコンピューティング / 遺伝アルゴリズム / プログラム進化 / ビット反転 / Single-Bit Upset |
Research Abstract |
宇宙空間では,地上よりも多くの宇宙線(放射線を含む)が絶えず飛び交っており,メモリなど半導体デバイスに衝突すると,電荷の変化から0/1で記憶されている情報のビットが反転し,データの破壊や誤作動,最悪の場合はシステムの停止を引き起こす.この問題に対し,従来では(1)金属のシールドを張る,(2)論理回路の多重化,(3)配線幅の広い低性能CPUの利用による対策がとられてきた.しかし,(1)に関しては衛星の重量が増加し,莫大な燃料(=コスト)がかかり,(2)に関しては回路面積が増加するだけでなく,多重化を制御する部分が故障するとシステムが機能しなくなる.また,(3)に関しては計算能力が現在のCPUに比べ低く,高度な処理に限界がある. これらの問題を解決するために,本研究は宇宙線によるビット反転を「進化における遺伝子の突然変異」ととらえ,それを積極的に利用することでプログラムを進化させるオンボードコンピュータ(On-Board Computer: OBC)を考案し,ビット反転を防ぐシールドも論理回路の多重化も必要なく,現在のCPUの利用を可能にする.これに対し,我々は今までに四則演算(+,-1,×2,÷2)のプログラムをシミュレーション上で進化させることに成功したが,(1)メモリ(プログラム)に対するビット反転のみを考慮し,CPU(内のレジスタ)でのビット反転までは考慮できないことに加えて,(2)四則演算を用いたプログラムしかできず,条件分岐やループ構造を含む複雑なプログラムを扱えない.そこで,本研究ではメモリのビット反転にCPU でのビット反転を加え,かつ,アセンブリ言語でのプログラム進化を可能にするOBCを探求し,最終的にはH8Tiny マイコンで使用できるアセンブリ言語の命令語を用いて評価する.
|
Current Status of Research Progress |
Current Status of Research Progress
2: Research has progressed on the whole more than it was originally planned.
Reason
本研究は,宇宙線によるビット反転を利用してプログラムを進化させるオンボードコンピュータ(OBC)に,CPUでのビット反転を加え,かつ,条件分岐やループ構造を含む複雑なプログラムの進化を可能にする手法を探究するために,次の二つの課題に取り組んだ. [課題①]レジスタに対するビット反転に耐性のあるプログラム進化(4命令語): プログラムを構成する命令語へのビット反転に加え,プログラムで使われる変数(計算結果など)を保持したレジスタへのビット反転に耐性のある方法を探究した.具体的には,計算結果のビット反転によりプログラムが正しく評価されない場合の対策方法を考案した.また,レジスタにはプログラムで使われる変数以外に,プログラムサイズなどのプログラム属性が記憶されており,このサイズにビット反転が起こるとプログラムの終了位置がずれてプログラムを正しく実行できなくなる問題にも対処した.なお,この段階では一つの変数の四則演算を行う命令語(inc(+1),dec(-1),shl(×2),shr(÷2))のみで構成されたプログラムを対象とし,初期値0からある目標値に近づけるプログラムの進化を試みている. [課題②]条件分岐やループ構造を含むプログラム進化(6命令語): より複雑なプログラムを扱えるようになるために,四則演算とは本質的に異なる条件分岐やループ構造を導入した.具体的には,アセンブリ言語で用いられている0判定命令(JNZなど)やループ構造に必要なジャンプ命令(JMPなど)を導入した.ここでは,課題①で用いた四則演算の命令語にJNZとJMPを含んだ6つの命令語から構成されたプログラム進化に取り組んでいる.
|
Strategy for Future Research Activity |
次年度は,4種類の四則演算,条件分岐命令,ジャンプ命令の6つの命令だけでなく,実ミッションへの展開を考慮して,最終的にはH8 Tinyマイコンで使用できるアセンブリ言語の命令語を用いて評価する.具体的には,次の二つの課題に取り組む. [課題③]レジスタ同士の計算を含むプログラム進化(16 命令語): 本年度の課題①よりもレジスタのビット反転に耐性のあるプログラム進化を実現するために,計算用レジスタを1つ使用する四則演算に加えて,計算用レジスタを2つ使用し,それらを引数として用いるadd(足し算),and (論理和),sub(引き算),mul(掛け算)の命令語を追加する.具体的には,レジスタCXとDXを用いた16種類の命令語から構成されるプログラム進化を試みる. [課題④]アセンブリ言語でのプログラム進化(62命令語): 本アプローチの実応用可能性を検証するために,H8 Tinyマイコンで使用するアセンブリ言語の命令語すべてを扱えるように拡張し,数値計算の例題にプログラム進化の可能性を明確化する.これにより,遺伝的プログラミングにおける木構造や線形表現ではカバーできない範囲のプログラム進化が可能となる. [課題⑤]総合評価: レジスタのビット反転に耐性を持ち,条件分岐やループ構造を含むアセンブリ言語から構成されるプログラム進化を検証するために,課題①~④を統合し,(a)正常プログラムにビット反転が起こっても元に戻れること,(b)バグを含むプログラムが正常プログラムに変化すること,(c)予期せぬときに,その状況にあわせてプログラムを修正できることの3つの観点で総合評価する.
|
-
-
-
-
[Presentation] Evaluating an Integration of Spacecraft Location Estimation with Crater Detection: Toward Smart Lander for Investigating Moon2014
Author(s)
Takadama, K., Harada, T., Kamata, H., Ozawa, S., Fukuda, S., and Sawai, S.
Organizer
The 12th International Symposium on Artificial Intelligence, Robotics and Automation in Space (i-SAIRAS2014)
Place of Presentation
モントリオール,カナダ
Year and Date
20140617-20140619
-
-
-
-
-
-
-