C++で書かれていたHiRise 制約解消系をJavaへ移植した.昨年度版の HiRise は標準的なC++で書かれており,基本的にはプラットフォームに依存 しない.しかし,HiRise は対話的なGUIを主な応用対象とし,一般に,C++ (またはC)を用いたGUIツールキットはプラットフォーム依存であるため,結果 的に,HiRise を用いて作成したGUIアプリケーションはプラットフォーム依 存になってしまう.一方,Javaは近年,プラットフォーム独立な言語として注 目を集めており,多くの研究開発者が採用を始めている.加えて,Abstract Windowing Toolkitと呼ばれる,優れたGUIツールキットを提供しているため, HiRise 制約解消系の利用環境として最適である.
性能評価のために行った簡単な予備実験では,標準的なパーソナルコンピュー ター上において,変数と制約がそれぞれ1000個程度の例で,インタラクティブ な操作に十分な速度を達成していることを確認した.一方,昨年度のC++版で は,3000個程度の場合でもインタラクティブな操作が可能だった.HiRise のインクリメンタルな制約解消における主要ケースの時間計算量は,変数をn 個としたときに O(n2)であり,Javaの使用による速度低下を考慮すれば,こ の結果は妥当であると考えられる.