我々は、新しいプログラミングパラダイムであるアスペクト指向技術の応用して、開発者にとって使いやすい分散システムのDJcutterの開発をおこなった。 DJcutterの特徴は、リモート・ポイントカットに対応している点である。リモートポイントカットとは、他のマシン上で実行されているプログラムの処理内容をジョインポイントとして選択する機能である。従来のアスペクト指向言語やシステムでは、ポイントカットによって選択されたジョインポイントが発生しているマシンと、それによって実行されるアドバイスが存在するマシンは同一である。したがって、リモートポイントカットと同等の処理を従来の言語やシステムで実現しようとすると、選択されたジョインポイントが発生しているマシン上でまずアドバイスを実行し、そのアドバイスの中から適当な遠隔メソッド呼び出しの機能を使って、目的の処理を遠隔マシン上で実行するように呼び出すことになる。このようにアドバイスを、マシン間の呼び出しの中継をおこなう機構として利用することになり、アスペクト指向の利点を必ずしも十分に引き出せない。 我々はこの点を、具体的なプログラム例を使って明らかにした。例として、分散プログラムの機能のテストをおこなうプログラムを取り上げた。テストプログラムをDJcutterで記述した場合とAspectJ言語と標準の遠隔メソッド呼び出し機構(Java RMI)で記述した例を比較し、前者の方が直感的で見通しがよくなることを示した。
|