東京工業大学がアスペクト指向(AOP)に基づいて開発したオープンソース・ソフトウエアを,日立ソフトウェア エンジニアリングが同社のSuperH向けJava開発環境の標準機能として採用した。日本の大学が開発したオープンソース・ソフトウエアがそのまま実際の製品に採用されるケースは少なく,産学連携の一つの形態として注目を集めそうだ。

EclipseでBugdelを利用している画面
 東工大が開発したのは,Javaのデバッグを支援するソフトウエア「Bugdel」。東工大 大学院 情報理工学研究科の大学院生 薄井義行氏と,助教授の千葉滋氏が開発した。BugdelはJavaプログラムにデバッグのためのプログラムを埋め込むEclipseプラグイン。アスペクト指向技術を利用し,デバッグ対象のプログラムとデバッグのためのプログラムを分離して記述することができ,これによりデバッグの効率を高めることが可能になる。アスペクト指向とは,複数のオブジェクトが共通に利用する機能を,独立したモジュールとして実装できるようにするプログラミング技術。Bugdelは千葉助教授が開発したJavaバイトコード変換ツールJavassistを利用して開発されている。

 また,指定した箇所でプログラムの実行を一時停止するブレーク・ポイントの設定も可能。通常,ブレーク・ポイントを設定するためには,そのためにコンパイルしたJava実行環境(JavaVM)を使用する必要があるが,実行速度の低下が発生し,本番と異なる挙動が発生する可能性がある。Bugdelでは通常のJavaVMでブレーク・ポイントを設定できるため,本番に近い環境でデバッグが可能になるとともに,デバッグのための作業も削減できる。

 Bugdelを利用したのは,日立ソフトのSuperH向けJava実行環境「SuperJ Engine」のための開発環境。SuperHは日立製作所が開発したRISCプロセサで,SuperJ Engineは,主に組み込みシステム向けのJava実行環境として数十社が利用している。開発環境としてはEclipseを使用しており,2005年4月からBugdelを標準のプラグインとして正式採用した。

 日立ソフトは,ブレーク・ポイント機能など実際の開発現場で重要となる機能を要望としてまとめ,東工大の薄井氏らがこれを実装した。日立ソフトは,開発環境マシンとターゲット・マシンとの通信など,Bugdelを利用するためのSuperJ Engine特有の部分などを開発した。

(高橋 信頼=IT Pro)