Association Aspects

Association Aspects are an extension to aspects in AspectJ for representing crosscutting concerns among objects. With our extended compiler, you can freely create aspect instances of aspects, associate them to groups of objects, and let aspect instances run advice upon events in the objects associated to.


  • Kouhei Sakurai
  • Hidehiko Masuhara
  • Naoyasu Ubayashi (Kyushu Institute of Technology)
  • Saeko Matuura (Shibaura Institute of Technology)
  • Seiichi Komiya (Shibaura Institute of Technology)




AspectJ1.2 based (2005.1.29: updated)


Source code

Source code is available as patches to the AspectJ V1_2_0 source code. weaver.patch and ajdt.patch files in the zip archive apply to the weaver and ajdt projects in AspectJ source, respectively.

IDE example


First, download an installer aspectj-aa.jar from the above link and run by: java -jar aspectj-aa.jar It installs the compiler and runtime library in a similar manner to the AspectJ installer. Please be careful not to overwrite into the original AspectJ installation directory if you have.

After installation, the ajc command in the installed directory is the compiler that can compile programs with association aspects. The command takes the same options and parameters as the original ajc 1.2 compiler.Compiled code should be executed with runtime library aspectjrt.jar. You can use the library of the original AspectJ 1.2 directory.