This page is intended to list tools suitable for use in production systems.
The page is divided into two parts: the first part lists tools known to have a significant number of commercial users; the second part lists tools that do not yet have a significant number of commercial users, but are nonetheless of suitable quality for production use.
You may also want to explore the tools described as Research Projects.
Tools with a Significant User Base
AspectJ is a seamless aspect-oriented extension to Java that enables the modular implementation of a wide range of crosscutting concerns.
AspectWerkz is a dynamic, lightweight and high-performant AOP/AOSD framework for Java. (from March 2005 Aspectwekz has been merged with AspectJ)
JBoss-AOP is the Java AOP architecture used for the JBOSS application server.
Spring's approach to AOP differs from that of most other AOP frameworks. The aim is not to provide the most complete AOP implementation (although Spring AOP is quite capable); it is rather to provide a close integration between AOP implementation and Spring IoC to help solve common problems in enterprise applications.
Other Development Quality Tools
abc is a full implementation of the AspectJ language, with an emphasis on extensibility and optimisations. It is used by over 10 research groups around the world.
AspectC++ is an aspect-oriented extension to the C++ programming language.
AspectDNG is a .NET multi-language aspect weaver.
phpaspect is a PHP language extension which implements aspect-oriented programming for PHP 5.
AspectS is an AOP framework for Smalltalk. There are two versions: one for Visual Works, and another for Squeak.
AspectXML is an attempt to sound out, brainstorm, and generally try out the aspect oriented approach in relation to XML.
Eos is an aspect-oriented extension to C# for .NET Framework. Eos supports a very simple unified model of AOP.
FeatureC++ supports feature-oriented and aspect-oriented programming in C++. The highlight of FeatureC++ is the combination of FOP and AOP concepts.
JAC is a Java framework for aspect-oriented distributed programming.
LOOM.NET is a static aspect weaver that operates on binary .NET assemblies. The RAPIER-LOOM.NET library is a dynamic aspect weaver.
Nanning is an Aspect Oriented Framework for Java based on dynamic proxies and aspects implemented as ordinary Java-classes.
PAT (Persistent Applications Toolkit) is a persistence aspect for plain, Java objects.
PostSharp is a post-compiler for Microsoft .NET. It ships with a complete module reader/writer and code object model. It may be used as a base for AOP development.
SetPoint is an aspect-oriented tool based on semantic pointcuts, developed using Microsoft's .NET framework.
XWeaver is an extensible, customizable and minimally intrusive aspect weaver for C/C++ — it generates source code which differs as little as possible from the base code (preserves layout and comments).
Teddy's Aspect Weaver is an AOP framework resulting a static aspect weaver based on AspectDNG's ILML library and provides easier configuration format (both meta xml way and custom attribute way) and more advice types support.
MFAOPHP is a simple implementation of AOP in PHP, it supports JoinPoints, PointCuts and the before, after and around Aspects. No pre-PHP processor, but real-time Aspect Weaving. Download your own free version under GPL licence.
AOP Library for PHP This download-free (GPL licence) package can be used to implement Aspect Oriented Programming (AOP) by executing the code of classes that enable orthogonal aspects at run-time.
DotSpect (.SPECT) is a .NET, Compile-time (Static-injection), Language-Independent Aspect Weaver. It provides a language similar to AspectJ with some additional syntactic elements. Advice code can be written in any language. By default, there is support for C# and VB.NET. It also provides an IDE for writing and testing aspects.
DataWindow .NET Application Development software Boosts the performance of .NET application development environments.
A detailed description of how to edit can be found on the Help:Editing page.