blob: 1e9a3d65764b3de19fb2064f7f63aefcebc08f5f [file] [log] [blame]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>The AspectJ project at Eclipse.org: Publications</title>
<link rel="stylesheet" href="aspectj_style.css" type="text/css" />
</head>
<body>
<div id="container">
<?php require("banner.html"); ?>
<div id="main">
<!-- ================ Page specific content starts here ================ -->
<table BORDER="0" CELLSPACING="5" CELLPADDING="2" WIDTH="100%">
<tr>
<td ALIGN="LEFT" width="60%" valign="top">
<h1>aspectj publications</h1>
</td>
<td WIDTH="40%" align="right">&nbsp;<img src="http://eclipse.org/images/Idea.jpg" width="120" height="86"></td>
</tr>
</table>
<p>
Books and articles about AspectJ are listed below by date.
This list does not contain academic papers or publications we
haven't heard about. If you know of something not listed,
please email a description to
<a href="mailto:aspectj-users@eclipse.org">
aspectj-users@eclipse.org</a>.
</p>
<p>Jump straight to <a href="#articles">articles</a></p>
<h2>Books on AspectJ and related topics</h2>
<table width="100%" cellspacing="5" cellpadding="2" border="0">
<tbody>
<tr>
<td width="20%">
<a href="http://www.dpunkt.de/buch/3-89864-330-1.html">
<img width="200" src="images/aopaj5.jpg" alt="Aspektorientierte Programmierung mit AspectJ 5">
</a>
</td>
<td align ="left"><p><b>
<a href="http://www.dpunkt.de/buch/3-89864-330-1.html">Aspektorientierte Programmierung mit AspectJ 5</a> </b>,
by Oliver B&ouml;hm.</p>
<p> Nach der Objektorientierung ist ein neuer, bedeutender Trend in der
Softwareentwicklung in Sicht: die aspektorientierte Programmierung (AOP).
Schritt f&uuml;r Schritt vermittelt Oliver B&ouml;hm ihre Grundlagen und
zeigt den praktischen Einsatz anhand der f&uuml;hrenden AO-Programmiersprache
AspectJ.
</p>
</td>
</tr>
<tr>
<td width="20%">
<a href="http://www.amazon.com/exec/obidos/ASIN/0321245873/qid=1112868888/sr=2-3/ref=pd_bbs_b_2_3/103-5274059-2049410">
<img width="200" src="images/eclipseaspectj.jpg" alt="Eclipse AspectJ">
</a>
</td>
<td align ="left"><p><b>
<a href="http://www.amazon.com/exec/obidos/ASIN/0321245873/qid=1112868888/sr=2-3/ref=pd_bbs_b_2_3/103-5274059-2049410">Eclipse AspectJ</a> :
Aspect-Oriented Programming in Eclipse with AspectJ and the AspectJ Development Tools</b>,
by Adrian Colyer, Andy Clement, George Harley and Matthew Webster.</p>
<p> In this book, the lead developers of AspectJ
"cover every facet of AOP development with
AspectJ and Eclipse, from creating new projects through extending and
documenting full-fledged applications. You'll find an authoritative
tutorial covering the entire AspectJ language, a complete API reference,
and realistic guidance on adopting AspectJ..."
</p>
</td>
</tr>
<tr>
<td width="20%">
<a href="http://www.amazon.com/exec/obidos/tg/detail/-/1930110936/ref=pd_bxgy_img_2/103-5274059-2049410?v=glance&s=books&n=507846">
<img width="200" src="images/aspectjinaction.jpg" alt="AspectJ in Action">
</a>
</td>
<td align ="left">
<p><a target="_top" href="http://www.manning.com/laddad/">
&quot;AspectJ in Action&quot;</a>
(350 pages, July 2003, Manning)
by Ramnivas Laddad</p>
<p>It is time to move from AOP theory and toy examples to AOP practice and real applications.
With this unique book you can make that move. It teaches you AOP concepts, the AspectJ language,
and how to develop industrial-strength systems. It shows you examples which you can reuse.
It unleashes the true power of AOP through unique patterns of AOP design. When you are done,
you will be eager-and able-to build new systems, and enhance your existing ones, with the help of AOP.
</p>
</td>
</tr>
<tr>
<td width="20%">
<a href="http://www.amazon.com/exec/obidos/tg/detail/-/0596006543/qid=1112883594/sr=8-3/ref=pd_csp_3/103-5274059-2049410?v=glance&s=books&n=507846">
<img width="200" src="images/aspectjcookbook.gif" alt="AspectJ Cookbook">
</a>
</td>
<td align ="left">
<p><a target="_top" href="http://www.oreilly.com/catalog/aspectjckbk/">
&quot;The AspectJ Cookbook&quot;</a>
by Russ Miles</p>
<p>The AspectJ Cookbook shows readers why, and how, common Java development problems
can be solved by using AOP techniques. With our popular problem-solution-discussion format,
the book presents real world examples to demonstrate that AOP is more than just a concept;
it's a development process that will benefit users in an immediate and visible manner.
</p>
</td>
</tr>
<tr>
<td width="20%">
<a href="http://www.amazon.com/exec/obidos/tg/detail/-/0471431044/qid=1112883856/sr=1-1/ref=sr_1_1/103-5274059-2049410?v=glance&s=books">
<img width="200" src="images/masteringaspectj.jpg" alt="Mastering AspectJ">
</a>
</td>
<td align ="left">
<p><a target="_top" href="http://www.wiley.com/WileyCDA/WileyTitle/productCd-0471431044.html">
&quot;Mastering AspectJ&quot;</a>
(456 pages, March 2003, Wiley)
by Joseph Gradecki and Nicholas Lesiecki
</p>
<p>Aspect-oriented programming (AOP) promises to increase the power of OO applications by
modularizing functionality that cuts across classes (such as logging, transaction management,
design patterns, and security). If your application has this type of functionality,
you can benefit from using AspectJ, an AOP language that is a seamless extension to Java.</p>
<p>
In this code-intensive book, the authors present a detailed overview of the concepts of AOP and
AspectJ, and take you step-by-step through the process of building an application. </p>
</td>
</tr>
<tr>
<td width="20%">
<a href="http://www.amazon.co.jp/exec/obidos/ASIN/4797326387/qid=1112884110/sr=8-1/ref=sr_8_xs_ap_i1_xgl/249-9397178-5049905">
<img width="200" src="images/tatsubori.jpg" alt="Introduction to Aspect-Oriented Programming with AspectJ">
</a>
</td>
<td align ="left">
<a href="http://www.amazon.co.jp/exec/obidos/ASIN/4797326387/qid=1112884110/sr=8-1/ref=sr_8_xs_ap_i1_xgl/249-9397178-5049905">
Introduction to Aspect-Oriented Programming with AspectJ</a> (Japanese)
</td>
</tr>
<tr>
<td width="20%">
<a href="http://www.amazon.com/exec/obidos/ASIN/0321219767/qid=1112884234/sr=2-1/ref=pd_bbs_b_2_1/103-5274059-2049410">
<img width="200" src="images/aosd.jpg" alt="AOSD">
</a>
</td>
<td align ="left">
<p><a href="http://www.amazon.com/exec/obidos/ASIN/0321219767/qid=1112884234/sr=2-1/ref=pd_bbs_b_2_1/103-5274059-2049410">
Aspect-Oriented Software Development</a> edited by Robert Filman, Tzilla Elrad, Siobhan Clarke and Mehmet Aksit.</p>
<p>In this book, four leaders in AOSD development bring together today's most significant advances.
Drawing on contributions from the field's leading researchers, they introduce fundamental AOSD concepts,
present new technologies for AOSD engineering and programming, and detail early application experiences
with AOSD methods.
</p>
</td>
</tr>
<tr>
<td width="20%">
<a href="http://www.amazon.com/exec/obidos/tg/detail/-/0321268881/qid=1112885840/sr=1-1/ref=sr_1_1/103-5274059-2049410?v=glance&s=books">
<img width="200" src="images/aosdusecases.jpg" alt="AOSD">
</a>
</td>
<td align ="left">
<p><a href="http://www.amazon.com/exec/obidos/tg/detail/-/0321268881/qid=1112885840/sr=1-1/ref=sr_1_1/103-5274059-2049410?v=glance&s=books">
Aspect-Oriented Software Development with Use Cases</a></p>
<p>In this highly anticipated new book, Ivar Jacobson and Pan-Wei Ng demonstrate how to apply use cases—
a mature and systematic approach to focusing on stakeholder concerns—and
aspect-orientation in building robust and extensible systems. Throughout the book, the authors employ a single,
real-world example of a hotel management information system to make the described theories and
practices concrete and understandable.
</p>
</td>
</tr>
<tr>
<td width="20%">
<a href="http://www.amazon.com/exec/obidos/tg/detail/-/0321246748/qid=1112885475/sr=1-2/ref=sr_1_2/103-5274059-2049410?v=glance&s=books">
<img width="200" src="images/aoad.jpg" alt="AOSD">
</a>
</td>
<td align ="left">
<p><a href="http://www.amazon.com/exec/obidos/tg/detail/-/0321246748/qid=1112885475/sr=1-2/ref=sr_1_2/103-5274059-2049410?v=glance&s=books">Aspect-Oriented Analysis and Design</a></p>
<p>In this new book, two AOSD experts apply theory to the practical realm of real-world development.
They explain the different kinds of aspects, help the reader identify them, and provide guidance on
successful design and implementation. The result is an applicable and easy-to-digest methodology for
simplifying and optimizing the development of software systems.</p>
</td>
</tr>
<tr>
<td width="20%">
<a href="http://www.amazon.com/exec/obidos/tg/detail/-/0672324105/qid=1112885592/sr=1-4/ref=sr_1_4/103-5274059-2049410?v=glance&s=books">
<img width="200" src="images/kiselev.jpg" alt="AOSD">
</a>
</td>
<td align ="left">
<p>
<a href="http://www.amazon.com/exec/obidos/tg/detail/-/0672324105/qid=1112885592/sr=1-4/ref=sr_1_4/103-5274059-2049410?v=glance&s=books">
Aspect-Oriented Programming with AspectJ</a> (covers AspectJ 1.0x)</p>
<p>In a November 2001 Java Pro magazine article, noted Java pundit Daniel Savarese states,
"The days of Object-Oriented Programming may be numbered, One day we may all be using Aspect-Oriented Programming ."
While this may be hyperbole, the AOP bring certain needed improvements to the OOP.
AspectJ is a Java-based tool that allows developers to apply standard Java syntax to AOP principles,
much as C++ allowed C programmers to use C syntax in an object-oriented manner.
There are AspectJ add-ons available for Borland's JBuilder, Sun's Forte for Java and for the EMACS text editor.
Aspect-Oriented Programming with AspectJ introduces AOP and the AspectJ tool. The book also shows how,
by using existing Java programming knowledge, the developer can use AOP in meaningful development work.
</p>
</td>
</tr>
</tbody>
</table>
<a name="articles"></a>
<h2>Articles</h2>
<dl>
<dt><a href="http://www.builderau.com.au/architect/0,39024564,39183763,00.htm">
&quot;A new aspect to programming&quot;</a> by Simon Sharwood.
</dt>
<dd>
A review of the benefits of AOP and the current state of the practice, with contributions
from IBM, BEA, and Microsoft amongst others. &quot;The AOP genie is well and truly out of the
bottle.&quot;
</dd>
<dt><a target="_top" href="http://www.ibm.com/developerworks/java/library/j-aopwork1/">
&quot;AOP@Work: AOP tools comparison&quot;</a> by Mik Kersten
</dt>
<dd>In this <a href="http://www.ibm.com/developerworks/java">developerWorks</a>
article, Mik compares AspectJ, AspectWerkz,
JBoss AOP and Spring AOP for power and usability, and touches
on the implications of the merger of AspectWerkz and AspectJ.
</dd>
<dt><a target="_top" href="http://www-106.ibm.com/developerworks/library/j-ajdt/">
&quot;Develop aspect-oriented Java applications with Eclipse and AJDT&quot;</a>
(Sep. 2004) by Matt Chapman and Helen Hawkins
</dt>
<dd>
In this article, AJDT contributors and IBM aspect-oriented software development team members
Matt Chapman and Helen Hawkins introduce you to AJDT. You'll learn how to install the tools;
how to create, run, and debug AspectJ applications; and how to visualize and navigate the crosscutting
structures inherent to aspect-oriented programming.
</dd>
<dt><a target="_top" href="http://www-106.ibm.com/developerworks/library/j-ceaop/">
&quot;Contract enforcement with AOP&quot;</a>
by Filippo Diotalevi
</dt>
<dd> Apply Design by Contract to Java software development with AspectJ
(Level: introductory)
</dd>
<dt><a target="_top" href="http://www.theserverside.com/resources/article.jsp?l=AspectOrientedRefactoringPart1">
&quot;Aspect-Oriented Refactoring&quot;</a>
by Ramnivas Laddad
</dt>
<dd> Aspect-oriented refactoring (AO refactoring) synergistically combines
refactoring and AOP to refactor crosscutting elements.
</dd>
<dt><a target="_top" href="http://www.theserverside.com/events/videos/GregorKiczalesText/interview.jsp">
&quot;Aspect Oriented Programming&quot;</a>
(July 2003 ServerSide interview of Gregor Kiczales)
by Dion Almaer
</dt>
<dd> &quot;AOP technology and practice is now moving
from the invention phase to the innovation phase.
[...I]t is vital that the inventors and the innovators work to
try and build bridges to each other.&quot;
</dd>
<dt><a target="_top" href="http://www.fawcette.com/javapro/2003_03/magazine/columns/javatecture/default_pf.asp">
&quot;Aspects, Concerns, and Java&quot;</a>
(March 2003)
by James W. Cooper
</dt>
<dd>
</dd>
<dt><a target="_top" href="http://www.xprogramming.com/xpmag/virtualMockObjects.htm">
&quot;Virtual Mock Objects using
AspectJ with JUnit&quot;</a>
(October, 2002)
</dt>
<dd>by Simon Monk and Stephen Hall
</dd>
<dt><a target="_top" href="http://developers.sun.com/tools/javatools/articles/aspectJ.html">
&quot;Aspect-Oriented Programming with Sun(tm) ONE Studio&quot;</a> (October 2002, updated July 2003)
by Vaughn Spurlin
</dt>
<dd>&quot;Aspect-oriented programming does involve deep
concepts in programming, but the basics are easy enough to yield immediate
benefit with relatively little effort. This fits well with both a fast paced
extreme programming style and a conservative style that requires proof of
benefits at each step before committing to the next step. The full value of
completely adopting AOP may be as profound as the transition from structured
programming to object-oriented programming, but with little or no cost for a
gradual and gentle transition.&quot;
</dd>
<dt><a target="_top" href="http://www.ddj.com/articles/2002/0208/">
&quot;Aspect-Oriented Programming and AspectJ&quot;</a> in the August 2002 Dr. Dobbs
Journal, by William Grosso
</dt>
<dd>&quot;Aspect-oriented programming extends the
object-oriented paradigm by letting you write more maintainable code using
aspects. Additional resources include
<a target="_top" href="http://www.ddj.com/ftp/2002/2002_08/aop.txt">aop.txt</a> (listings)
and <a target="_top" href="http://www.ddj.com/ftp/2002/2002_08/aop.zip">aop.zip</a>
(source code).
</dd>
<dt><a target="_top" href="http://sdmagazine.com/articles/2002/0205/">&quot;Get
Test-Inoculated!&quot;</a> in the May 2002 issue of Software Development, by Wes
Isberg and the AspectJ Team
</dt>
<dd>
(Originally titled &quot;Test-Inoculated: Programmers Love Not Writing Tests&quot;)
This introduces AspectJ using code snippets that
verify compile- and run-time invariants, capture and replay input,
and set up stubs and drivers for integration testing.
(<a href="dl/inoculated-src.zip">corresponding
sources are available</a>)
</dd>
<dt><a target="_top" href="http://www-106.ibm.com/developerworks/java/library/j-aspectj2/?open&l=007,t=gr">
&quot;Test flexibly with AspectJ and mock objects&quot;</a> in the May 2002 Java
Technology Zone of IBM's Developer Works, by Nicholas Lesiecki
</dt>
<dd>
&quot;To keep the cost of test development low, unit
tests must run in isolation. Mock object testing isolates each unit by
providing mocked implementations of code on which the tested class depends.
But object-oriented techniques cannot successfully replace collaborating
code in situations where dependencies are retrieved from a globally
accessible source. AspectJ's ability to crosscut the structure of the tested
code allows you to cleanly replace code in these types of situations.&quot;
</dd>
<dt><a target="_top" href="http://www.javaworld.com/javaworld/jw-04-2002/jw-0412-aspect3.html">
&quot;I want my AOP!, Part 3&quot;</a> in the April 2002 issue of Java World, by
Ramnivas Laddad
</dt>
<dd>
&quot;AOP and AspectJ solve real problems, and early
adopters are increasingly trying AOP concepts with AspectJ. Like any other
new programming paradigm, it will take time before both technologies reach
their full potential. As more developers use AspectJ, the experience gained
will guide the language's evolution. Simultaneously, design patterns and
anti-patterns will appear. AOP's adaptation as a mainstream programming
methodology will be a fun thing to watch and, better still, participate in.&quot;
</dd>
<dt><a target="_top" href="http://www.javaworld.com/javaworld/jw-03-2002/jw-0301-aspect2.html">
&quot;I want my AOP!, Part 2&quot;</a> in the March 2002 issue of Java World, by
Ramnivas Laddad
</dt>
<dd>&quot;AspectJ provides a powerful and useful AOP
implementation for Java. AspectJ offers modularizing crosscutting concerns
by adding new joinpoint, pointcut, and advice concepts. Since AspectJ
extends Java, Java programmers will find it an easy language to learn.&quot;
</dd>
<dt><a target="_top" href="http://www.stepwise.com/Articles/AspectJ/index.html">
&quot;Aspect-Oriented Programming with WebObjects&quot;</a> in the March 2002 issue of
StepWise.com, by Christian Pekeler
</dt>
<dd>&quot;AspectJ is a very stable compiler, and ready to
be used in production. It works flawlessly together with WebObjects.
Integration with Project Builder can certainly be improved, though.&quot;
</dd>
<dt><a target="_top" href="http://www-106.ibm.com/developerworks/java/library/j-aspectj/index.html?dwzone=java">
&quot;Improve Modularity with Aspect-Oriented Programming&quot;</a> in the January
2002 Java Technology Zone of IBM's Developer Works, by Nicholas Lesiecki
</dt>
<dd>&quot;Aspect-oriented programming (AOP) is a new
programming technique that allows programmers to modularize <i>crosscutting
concerns</i> (behavior that cuts across the typical divisions of
responsibility, such as logging). AOP introduces <i>aspects,</i> which
encapsulate behaviors that affect multiple classes into reusable modules.
With the recent release of AspectJ by Xerox PARC, Java developers can now
take advantage of the modularization AOP can provide. This article
introduces AspectJ and illustrates the design benefits that result from its
use.&quot;
</dd>
<dt> <a target="_top" href="http://www.javaworld.com/javaworld/jw-01-2002/jw-0118-aspect.html">
&quot;I want my AOP!, Part 1&quot;</a> in the January 2002 issue of Java World, by
Ramnivas Laddad
</dt>
<dd>&quot;Most software systems consist of several concerns
that crosscut multiple modules. Object-oriented techniques for implementing
such concerns result in systems that are invasive to implement, tough to
understand, and difficult to evolve. The new aspect-oriented programming
(AOP) methodology facilitates modularization of crosscutting concerns. Using
AOP, you can create implementations that are easier to design, understand,
and maintain. Further, AOP promises higher productivity, improved quality,
and better ability to implement newer features. This article, the first in a
three-part series, introduces the AOP concept and the problems it attempts
to solve.&quot;
</dd>
<dt><a target="_top" href="http://www.devx.com/premier/mgznarch/javapro/2001/11nov01/ps0111/ps0111.asp">
&quot;Aspect-Oriented Programming in Java&quot;</a>, in the November 2001 issue of
JavaPro, by Daniel F. Savarese
</dt>
<dd>&quot;AspectJ contains many very interesting language
features and you may start looking for excuses to use them in your programs
once you realize everything they make possible. AspectJ's authors recommend
that you get started using aspects for writing, testing, and profiling code
before moving on to make it an integral part of your production code base.
AOP has many years to go before it becomes a mainstream programming
methodology, but I have a feeling that aspects are here to stay, and that at
least some AOP features will eventually make their way into Java and other
programming languages.&quot;
</dd>
<dt><a target="_top" href="http://portal.acm.org/toc.cfm?id=383845&type=issue&coll=portal&dl=ACM&idx=J79&part=magazine&WantType=Magazines&title=CACM">
Special Issue on Aspect-Oriented Programming</a>, October 2001
Communications of the ACM
</dt>
<dd>Several articles in this issue refer to AspectJ,
including &quot;Getting Started with AspectJ&quot; by the AspectJ Team.
</dd>
<dt><a target="_top" href="http://www.javareport.com/html/from_pages/article.asp?id=4712&mon=9&yr=2001">
&quot;Real-world AOP Tool Simplifies OO Development&quot;</a> in the September 2001
issue of Java Report, by Rich Price
</dt>
<dd>&quot;We have tested AspectJ extensively and feel
confident enough in it that we use it in production. We have never had a bug
caused by the compiler-generated code. The tools are still rough around the
edges, but we have seen steady improvement in functionality and quality over
the past year. Support is excellent. Despite some minor annoyances and
limitations, I can't imagine not using AspectJ.&quot;
</dd>
<dt><a target="_top" href="http://www.sdmagazine.com/documents/s=1123/sdm0109e/0109e.htm">&quot;The
First Aspect-Oriented Compiler&quot;</a> in the September 2001 issue of Software
Development, by Larry O'Brien
</dt>
<dd>&quot;It's not every day, or every year, that you come
across something that makes you rethink your entire approach to
programming.&nbsp; Mark my words, aspects are going to cause an epochal shift in
programming right up there with the object shift of a decade ago. . . there
is no question that within a few years, aspects will be as much a part of
the programming lexicon as objects are today. . . AspectJ is the best tool
to help Java programmers investigate an exciting programming concept whose
time on the main stage of software development has come. Do yourself a favor
- download it today.&quot;
</dd>
<dt><a target="_top" href="http://www.sdmagazine.com/documents/s=843/sdm0107i/0107i.htm">
&quot;Through the Looking Glass&quot;</a> in the July 2001 issue of Software
Development, by Grady Booch
</dt>
<dd>&quot;The first time I really grasped the wonderful
power of object-oriented abstractions, I thought I'd seen the ultimate model
on which all kinds of complex systems could be grown. . . However, I was
wrong: There's something deeper, something that's truly beyond objects.
Admittedly, this isn't a concept that's easy to explain, because I'm still
so steeped in an object-oriented view of the world. However, just as a
sailor can sense a changing sea, I note subtle signs that point to a marked
transformation, a disruptive technology, on the horizon.&quot;
</dd>
<dt><a target="_top" href="http://www.technologyreview.com/magazine/jan01/TR10_kiczales.asp">
&quot;The Technology Review Ten: Untangling Code&quot;</a> in the January/February
2001 issue of the Technology Review, by Claire Tristram
</dt>
<dd>&quot;Pity software engineers. With the touch of a
button, their programs let us make global fixes in a long text, say, or a
spreadsheet, yet programmers often need to correct their own work one
tedious line at a time. That irony isn't lost on Gregor Kiczales, principal
scientist at Xerox's Palo Alto Research Center (PARC) and professor at the
University of British Columbia in VancouverÑand he has a fix in mind.
Kiczales champions what he calls &quot;aspect-oriented programming,&quot; a technique
that will allow software writers to make the same kinds of shortcuts that
those of us in other professions have been making for years. . .&quot;
</dd>
<dt><a target="_top" href="http://www.computer.org/software/so2000/s6toc.htm">&quot;Can
Aspect-Oriented Programming Lead to More Reliable Software?&quot;</a> in the
November/December 2000 issue of IEEE Software, by John Viega and Jeffrey
Voas
</dt>
<dd>&quot;Aspect-oriented programming is a novel topic in
the software engineering and languages communities.&nbsp; AOP appears to have the
potential to significantly improve the reliability of programs, particularly
by modularizing error-handling policies and allowing for easier maintenance
and better reuse.&nbsp; In this article we introduce AspectJ, the first
aspect-oriented programming language, and demonstrate how you can use it to
construct more reliable software.&quot;
</dd>
<dt><a target="_top" href="http://www.voelter.de/data/articles/aop/aop.html">&quot;Aspectj-Oriented
Programming in Java&quot;</a> in the January 2000 issue of the
<a target="_top" href="http://www.javareport.com">Java Report</a>, by Markus Voelter
</dt>
<dd>&quot;Abstract: AOP defines a new program construct,
called an aspect, which is used to capture corsscutting aspects of a
software system in separate program entities.&nbsp; This article is divided into
three parts: first, an explanation of the concepts of AOP; second, an
introduction to AspectJª, an implementation of the AOP concepts in Java;
finally, a comparison of the AOP approach to metalevel programming.&quot;
</dd>
</dl>
<!-- ================ End of page specific content ===================== -->
</div>
</div>
</body>
</html>