2012 Fiscal Year Research-status Report
高水準かつ安全なプログラミング言語間連携機構の実現
Project/Area Number |
24700021
|
Research Category |
Grant-in-Aid for Young Scientists (B)
|
Research Institution | Tohoku University |
Principal Investigator |
上野 雄大 東北大学, 電気通信研究所, 助教 (60551554)
|
Project Period (FY) |
2012-04-01 – 2015-03-31
|
Keywords | プログラム言語論 / プログラミングパラダイム / コンパイラ / 関数型言語 |
Research Abstract |
本研究の一般的な目標は,2つのプログラミング言語に対して,型理論や意味論などの分析を通じて,二者の違いを吸収するコードを系統的に導出するためのコンパイル方式を確立することである.これは,型理論に基づく正しさなどが保証された形での,プログラミング言語間の相互運用を可能とする新しいアプローチである.連携する言語の意味や評価モデルの分析から,連携のためのコードを系統的に導出することで,より容易,安全,かつ強力な言語間の連携を可能とする.この目標が達成されたならば,本方式は高信頼・高機能なアプリケーションの生産性を高めるための基盤技術のひとつとなり得る. 本年度の研究実施計画は,以下の課題を解決し,型付き関数型言語とシェルスクリプトを繋げるための方式を構築することであった.(1)シェルスクリプトと型付き関数型言語間の連携インターフェースとその型付け,(2)シェルスクリプトと関数型言語の連携を実現する実装手法と意味論,および(3)連携のためのコードを生成する型主導コンパイルアルゴリズム.本年度はこの計画の通り,関数型言語から高水準にシェルスクリプトを呼び出す方式を構築し,さらに関数型言語SML#コンパイラに対する予備的な実装を行い,その実現可能性を確認した.本連携方式の下では,ユーザーはSML#プログラム中にシェルスクリプトを混在させてプログラムを書くことができる.プログラム中に含まれるシェルスクリプトには,そのスクリプトの入出力データの形式をSML#の型注釈として明示する.SML#プログラムからは,このシェルスクリプトは型注釈で与えられた型の関数として見える.連携の正しさは,型推論によるプログラムの整合性検査によって検査され,連携に誤りがある場合はコンパイル時に誤りが報告される.この連携機構は,従来の文字列ベースの連携方式に比べて,安全性および使用の容易さの両面で優れている.
|
Current Status of Research Progress |
Current Status of Research Progress
2: Research has progressed on the whole more than it was originally planned.
Reason
当初予定していたシェルスクリプトとの分析および関数型言語との連携機構の構築は,予定の通り概ね達成することができた.さらに,平成25年度以降に計画している,Rubyなどの汎用プログラミング言語との連携に向けた研究や,言語間連携を活用したWebアプリケーションの構築技術についても,すでに予備的な検討を開始しており,直ちに研究に取りかかることができる状況にある.
|
Strategy for Future Research Activity |
今後は,本年度に得られた知見および申請者による既存研究に基づき,より高度な連携機構を必要とする汎用プログラミング言語との連携を目指す.その結果得られる連携機構は,本年度と同様にSML#コンパイラに実装し,その実用性を検証する.さらに,これまでの連携機構を活用し,Webアプリケーションなど,より高度な連携を必要とする複雑なアプリケーションの構築を試み,その構築過程を通じて,本研究の目的である高度な言語連携の実用性を評価する. 本研究では,型付き関数型言語との連携対象の言語としてRubyを選択する予定である.Rubyは,型付けやパラダイムの点で関数型言語と直交しており,この二者の高水準な連携を実現できたならば,豊富なライブラリとマルチパラダイムを駆使できる強力なプログラミング環境のひとつと成りうる. 本研究では,Rubyとの連携の確立に向け,Rubyの意味論に関する詳細な分析を行う.意味論の分析は,連携機構が要求する型を決定する上で重要な要素のひとつである.Rubyは言語仕様が与えられているものの,言語全体の性質を形式的に理解する試みは十分になされておらず,Rubyの操作的意味論の構築は,それだけでも興味深い課題である.
|
Expenditure Plans for the Next FY Research Funding |
研究費は,研究調査および研究成果発表のための会議参加費および旅費,ならびに研究の遂行に必要なノートPCやソフトウェアなどの消耗品および書籍など資料の購入に使用する.
|
Research Products
(3 results)