2002 Fiscal Year Annual Research Report
組込み機器のための例外処理の記述容易化と最適化コンパイルに関する研究
Project/Area Number |
14780218
|
Research Institution | Kyushu University |
Principal Investigator |
中西 恒夫 九州大学, システム情報科学研究院, 助教授 (70311785)
|
Keywords | 例外処理 / コンパイラ / try-catch構文 / 二分決定木 |
Research Abstract |
例外処理は,例外条件の検出と例外状態からの回復の二局面に分けられる.例外状態からの回復については,1970年代後半よりプログラミング言語の研究において多くの研究がなされているが,その多くは例外状態からの回復に目を向けたものであり,ユーザ定義の例外条件の検出についてはプログラマが複雑な条件判断をして明示的に例外を発行しなければならない.そこで本研究では,try-catch構文を拡張し,tryブロック内でプログラマによって与えられる不変条件が満足されない場合は例外処理を起動する例外処理方式を検討し,例外処理記述の負担を軽減することを検討した.この例外処理方式は例外条件の真偽判定にオーバーヘッドを要するが,コンパイル時に条件式評価順序を最適化することにより,そのオーバーヘッドの削減を図った.最適化にあたっては,条件式を二分決定木(Binary Decision Diagram : BDD)で表現し,二分決定木を縮約することで,条件式評価のためのコードのサイズ縮小と評価オーバーヘッドの削減を図った.BDDの大きさは内点に対応する真偽変数の並び方に依存することが知られているが,本研究では代表的な縮約アルゴリズムであるShifting Algorithmを用いた.一方,例外状態からの回復処理は,例外が発生した状態に依存するもののその多くは似通ったものとなるため,try-catch構文では冗長な記述が多く生じる.例外状態からの回復処理は,一般的には,例外が発生した状況に応じて,複数ある回復処理のいくつかを手順どおりに実行してシステムを正常な状態に戻す処理となる.そこで本研究では例外からの回復処理の各項目間の実行順序に関する依存関係を明示的に記述する要求駆動型例外処理構文を提案した.
|
Research Products
(2 results)
-
[Publications] 中西恒夫, 山下俊之, 北須賀輝明, 福田晃: "異常状態の大域的検出と要求駆動型例外処理に関する一考察"情報処理学会研究報告(システムソフトウェアとオペレーティングシステム研究会). 2003・19. 7-13 (2003)
-
[Publications] 山下俊之, 中西恒夫, 福田晃: "コンテキスト指向例外処理方式における例外条件検出"情報処理学会第65回全国大会論文集. (発表予定). (2003)