Association Aspects: 連想アスペクト

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

Members

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

Publications

  • [SMU+04b]Kouhei Sakurai, Hidehiko Masuhara, Naoyasu Ubayashi, Saeko Matsuura, and Seiichi Komiya. Association aspects. In Karl Lieberherr, editor, Proceedings of the 3rd International Conference on Aspect-Oriented Software Development (AOSD’04), pp. 16–25, Lancaster, UK. ACM Press, March 2004. [ bib | DOI | .pdf ]
  • [SMU+06]Kouhei Sakurai, Hidehiko Masuhara, Naoyasu Ubayashi, Saeko Matsuura, and Seiichi Komiya. Design and implementation of an aspect instantiation mechanism. LNCS Transactions on Aspect-Oriented Software Development, Vol. 3880/2006, pp. 259–292, 2006. Extended from [SMU+04b]. [ bib | DOI | .pdf ]

Downloads

Compiler

AspectJ1.2 based (2005.1.29: updated)

  • aspectj-aa.jar (currently unavailable)

Source code

  • aa-compiler-src.zip (currently unavailable)

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

IDE example

ide.zip (currently unavailable)

Installation

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

java -jar aspectj-aa.jar

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

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

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