» 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]
» Aspect Browser - A tool for Java (with optional Emacs support) which helps developers to find and visualise crosscutting concerns, using text matching. [Freeware]
» 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]
» AspectJ, 0.8b5: Real-world AOP tool simplifies OO development - Detailed review of the aspect-oriented Java extension AspectJ 0.8, by Rich Price, a senior staff engineer at CheckFree Corp.
» 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]
» 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.
[PDF]
» DJ - Support for adaptive programming (dynamic structure-shy traversals and visitors) in pure Java.
» DemeterJ - An adaptive programming language based on Java. The "big sister" of DJ.
» EAOP tool - A research prototype for Event-based Aspect-Oriented Programming (EAOP) for Java.
» HyperJ [IBM] - A Java tool supporting advanced Multi-Dimensional Separation of Concerns. [Freeware]
» 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.
» 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]
» 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.
» Sally - A general-purpose aspect language (GPAL) based on Java, with aspect reflection.
» 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,
|
|