Association Aspects: 連想アスペクト

連想アスペクト(Association Aspects)はAspectJのアスペクトに対する拡張機構です。連想アスペクトによって特定のオブジェクトのグループに対する横断的関心事を記述することができます。AspectJを拡張したコンパイラ実装によって、アスペクトインスタンスを明示的に生成し、複数のオブジェクトに関連づけることができます。更に、関連づけられたオブジェクトから検索されるアスペクトインスタンスのもとで、アドバイスを実行することが可能です。

Member

  • 櫻井 孝平
  • 増原 英彦
  • 鵜林 尚靖 (九州工大)
  • 松浦 佐江子 (芝浦工大)
  • 古宮 誠一 (芝浦工大)

Publication

Downloads

Compiler

AspectJ1.2 based (2005.1.29: updated)

fileaspectj-aa.jar

Source code

fileaa-compiler-src.zip

ソースコードはAspectJのコードのバージョンV1_2_0に対するパッチとして提供しています。
zipファイル中のweaver.patchとajdt.patchファイルがそれぞれ、AspectJのweaverajdtプロジェクトに適用可能です。

IDE example

ide.zip

Installation

まず、aspectj-aa.jarを上のリンクからダウンロードして、次のように実行します。

java -jar aspectj-aa.jar

これにより、オリジナルのAspectJインストーラと同様にコンパイラとランタイムライブラリがインストールされます。
オリジナルのAspectJを持っている場合は、そのディレクトリを上書きしないように注意してください。

インストールのあとは、インストールされたディレクトリにあるajcコマンドで、連想アスペクトをコンパイルすることができます。
このコンパイラはオリジナルのajc 1.2コンパイラと同様のオプションをとることができます。

コンパイルされたコードはaspectjrt.jarを利用して実行することができます。連想アスペクトの実装はこのランタイムライブラリには手を入れていないため、オリジナルのAspectJ1.2のものがそのまま利用可能です。