平成10年度 委託研究ソフトウェアの提案 |
研究代表者: | 松岡 聡 助教授 |
東京工業大学大学院 情報理工学研究科 数理・計算科学専攻 |
| 氏名 | 所属 |
研究代表者 | 松岡 聡 | 東工大 情報理工学 数理・計算科学 |
研究協力者 | 細部博史 | 日本学術振興会 特別研究員(PD) 東大 理学系 情報科学 |
現在,C++で書かれているHiRise制約解消系をJavaへ移植する.現在のHiRiseは標準的なC++で書かれており,基本的にはプラットフォームに依存しない.しかし,HiRiseは対話的なグラフィカルユーザーインターフェース(GUI)を主な応用対象とし,一般に,C++ (またはC)を用いたGUIツールキットはプラットフォーム依存であるため,結果的に,HiRiseを用いて作成したGUIアプリケーションはプラットフォーム依存になってしまう.一方,Javaは近年,プラットフォーム独立な言語として注目を集めており,多くの研究開発者が採用を始めている.加えて,Abstract Windowing Toolkitと呼ばれる,優れたGUIツールキットを提供しているため,HiRise制約解消系の利用環境として最適である.
HiRiseをC++からJavaへ移植する際,単純な書き換えではなく,以下のような点に配慮する.
現在のHiRise制約解消系は標準的なC++で書かれており,GNU C++やMicrosoftVisual C++で利用できることを確認している.しかし,実際にGUIアプリケーションに応用する際,C++を用いているために,特定のプラットフォーム向けにアプリケーションを作成せざるを得ない.原理的には,C++以外の異なる言語からHiRise制約解消系を利用することは可能である.しかし,これには,特別なインターフェースを用意し,面倒な手続きを踏む必要があり,利用者にとって障壁が大きい.
一方,Javaはプラットフォーム独立な言語で,優れたGUIツールキットを提供しており,近年,注目を集めている.事実,GUI研究の分野では,C++よりJavaを好む研究者も少なくなく,Javaへの移行が観察される.このような背景を考えると,HiRise制約解消系のJava版には,高い需要が予想される.
上で述べたように,現在のHiRise制約解消系本体は変更せず,特別なインターフェースを提案者らが用意して,JavaからHiRiseを利用できるようにするというアプローチも考えられる.このようなアプローチを採った場合,確かに,実行速度の面で有利である.しかし,制約解消系部分がプラットフォーム依存であるため,Javaを使用したことの利点が損なわれてしまう.例えば,Javaで作成したアプリケーションをWWWページ上で公開することが困難になる.
また,Javaはアプリケーションのプロトタイピングに適していると言われることがあり,最初にアプリケーションをJavaで試作し,その後,C++へ作り直す開発者も存在する.このような開発者にとって,1つの制約解消系にJava版とC++版の2種類が存在することは,大きな魅力となる.
一般に,Javaで制約解消系を実装した場合,C++版に比べて遅くなってしまうことが最大の問題となる.通常,HiRiseと同程度の機能を持つ制約解消系をJavaで実装した場合,インタラクティブ性はほとんど期待できない.しかし,HiRise制約解消系は,アルゴリズムの速さを最大の特徴としており,Javaに移植したとしても,一定の実行速度を期待できる.このため,Javaで書かれた他の制約解消系に対しても,HiRiseの優位性を主張できると考えられる.
現在のC++版のHiRise制約解消系を利用する際に問題となっている以下の2点に対処する.
www-admin@icot.or.jp