LoopsAJ: a join point for loops in AspectJ
[Introduction] [Papers] [Download] [Related work] [Authors]
Introduction
This project is an implementation of a join point for loops in AspectJ. This has been realised as part of Bruno Harbulot's Ph.D. at the University of Manchester, UK.
Papers
-
Bruno Harbulot and John R. Gurd. A join point for loops in AspectJ. To be published
in the Proceedings of the 5th International Conference
on Aspect-Oriented Software Development (AOSD). Bonn, Germany, March
2006.
Copyright ACM, (2006). This is the author's version of the work. It is posted here by permission of ACM for your personal use. Not for redistribution. -
Bruno Harbulot and John R. Gurd. A join point for loops in AspectJ.
Proceedings of the 4th workshop on Foundations of Aspect-Oriented Languages
(FOAL 2005). Chicago, USA, March 2005.
Here is the LoopsAJ poster presented at AOSD 2005.
-
Bruno Harbulot and John R. Gurd. Using AspectJ to Separate
Concerns in Parallel Scientific Java Code. Published
in the Proceedings of the 3rd International Conference
on Aspect-Oriented Software Development (AOSD). Lancaster, UK, March
2004.
Copyright ACM, (2004). This is the author's version of the work. It is posted here by permission of ACM for your personal use. Not for redistribution. (ACM DOI: http://doi.acm.org/10.1145/976270.976286.)
Download
The version that is available for download is LoopsAJ 0.3. Please keep in mind that this is a prototype implementation, which still contains a few "undesired features". I'll try to make a more recent version available soon.
Sources:
To build LoopsAJ 0.3, you will need:- the abc source code (version 1.0.2) and all its required libraries (all of this can be obtained from http://www.aspectbench.org/);
- an AspectJ compiler, the AJDT for Eclipse is known to work;
- the LoopsAJ source code. Follow the instructions in the README file.
Binaries:
You will still need the jar files for soot, jasmin, polyglot and java_cup, which you can get from the abc webpage (in Download, Section Binaries).- Get the compiler here: abc-1.0.2-loopsaj-0.3-compiler.jar
- Get the runtime libraries here: abc-1.0.2-loopsaj-0.3-runtime.jar
- Get the testcases here: loopsaj-0.3-testcase.zip
You may need to change the properties in "build.xml" (target "settings") to set to approriate paths to the jar files. "ant compile" and "ant run" should do the rest!
Related work
For improved selection on "recursive" join points, please check out the CFlowLevel page.