This disambiguation page lists articles associated with the same title. If an internal link led you here, you may wish to change the link to point directly to the intended article.
As the popularity of AOP is growing and the research community is moving things forward, vocabulary, concepts, and implementations have gained in consistency, allowing for better tool support and developer experience, such as with the AspectJ Eclipse plug-in AspectJ Development Tools (AJDT).
AOP has also gone through several implementation techniques, ranging from source-code manipulation to bytecode instrumentation—a technique widely adopted in Java, especially with the advent of the Java 5 JVMTI.
AOP solves this by adding an extra dimension to the design space, and introduces constructs that allow us to define the cross-cutting concerns—to lift them out into a new dimension and package them in a modular way.