研究概要 |
本研究では,分散並列アプリケーションの開発を目的とした関数型言語の開発に関して,次のような研究を行なった. 1. 本研究者が以前開発した並列制約関数型言語Goffinの分散環境への拡張についての言語設計2. 並列グラフ簡約におけるスレッド,タスクの遅延生成,及び,その方法の関数型言語への実装方法3. モバイル関数型オブジェクトコードの提案と設計 1の研究では,明示的なエージェントの配置,時間的制約,ポート制約の概念を制約関数型言語Goffinに導入し,言語設計を行なった.クライアントサーバアプリケーションと,アプリケーション間の動的な通信の確立という,代表的な分散アプリケーションの例を用いて,これらの概念の有用性を示した.この研究の成果をまとめた論文は,FLOPS'98において,公表済みである. 2の研究では,通信遅延を軽減するのに有効な,軽量マルチスレッドのスレッド管理コストを低く保つために,以下の二つの方法を提案した.一つは,スレッドをスケジューリングする際,局所的なスケジューリングだけを行うスレッドと,全体的なスケジューリングを行なうスレッドに分ける方法である.もう一つは,グラフ簡約において,不必要なスレッドとタスクの生成を行なわないように,スレッドとタスクの遅延生成する方法である.また,それらの方法を関数型言語の実装にどう反映させるかの提案も行なった. 3の研究で提案するモバイル関数型オブジェクトコードは,強い型付け理論に基づく動作の規定,ビットコードの使用,という二つの点で従来のバイトコードと異なる.型付けを行なうことで,より高い安全性を保証し,また,ビットコードを使うことで,コードサイズを小さくし,実行時の最適化を少なくする.この研究では,コードの圧縮,型理論,実行モデルも含めた設計を行なった.
|