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.

Members

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

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)

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

ide.zip (currently unavailable)

Installation

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.