ASM 
Very small and fast Java bytecode manipulation framework; can be used to dynamically generate stub classes or other proxy classes, directly in binary form, or to dynamically modify classes at load time, just before loaded into a JVM. [Open Source, BSD]
http://asm.objectweb.org/
Aspect Browser 
A tool for Java (with optional Emacs support) which helps developers to find and visualise crosscutting concerns, using text matching. [Freeware]
http://www-cse.ucsd.edu/users/wgg/Software/AB/
AspectJ 
Aspect-oriented Java extension, seamless, from Xerox PARC. Goal: to make aspect-oriented programming (AOP) technology available to a wide range of programmers. [Open Source, MPL]
http://www.eclipse.org/aspectj/
AspectWerkz 
Dynamic, lightweight and high-performing AOP framework for Java; uses bytecode modification to weave classes at project build-, class-load-, or run-time. [Open Source, LGPL]
http://aspectwerkz.codehaus.org/
Concerning AOP and Inheritance 
Paper which introduces the Java-based language Sally and compares it with AspectJ: interactions as opposed to method entry, named advices, advice overriding. Also compares aspects, conventional inheritance, and mixins.
http://dawis.icb.uni-due.de/fileadmin/dawis_template/main/resources/publications/aosd/shaUnl_ConcerningAOPandInheritance_2001.pdf
DJ 
Support for adaptive programming (dynamic structure-shy traversals and visitors) in pure Java.
http://www.ccs.neu.edu/research/demeter/DJ/
DemeterJ 
An adaptive programming language based on Java. The "big sister" of DJ.
http://www.ccs.neu.edu/research/demeter/DemeterJava/
EAOP tool 
A research prototype for Event-based Aspect-Oriented Programming (EAOP) for Java.
http://www.emn.fr/x-info/eaop/tool.html
HyperJ [IBM] 
A Java tool supporting advanced Multi-Dimensional Separation of Concerns. [Freeware]
http://www.alphaworks.ibm.com/tech/hyperj
JAsCo 
Advanced Java-based aspect-oriented programming (AOP or AOSD) language originally tailored for the component-based field. Main traits: highly reusable aspects, strong aspectual composition mechanism to manage combinations of aspects.
http://ssel.vub.ac.be/jasco/
Macker 
Helps enforce architectural rules (layering, tiering, and modularity) in Java code. It applies pattern-based access rules from XML rules files to compiled classes. [Open source, GPL]
http://innig.net/macker/
PROSE 
PROgrammable extenSions of sErvices; allows modifying Java programs at run-time; dynamic aspect-oriented programming (AOP), adaptive service architectures, and information systems for mobile computing.
http://prose.ethz.ch/
Sally 
A general-purpose aspect language (GPAL) based on Java, with aspect reflection.
http://dawis.icb.uni-due.de/research/aosd/sally/
abc: the AspectBench Compiler for AspectJ 
The distribution of an optimising, extensible compiler for AspectJ, freely available under the LGPL. The abc project is a joint effort between the University of Oxford (UK), McGill University (Canada), and the University of Aarhus (Denmark). [Open source,
http://abc.comlab.ox.ac.uk/introduction
|
|