| <!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"> <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öhm.</p> | 
 | 			      <p> Nach der Objektorientierung ist ein neuer, bedeutender Trend in der  | 
 | 			      Softwareentwicklung in Sicht: die aspektorientierte Programmierung (AOP).  | 
 | 			      Schritt für Schritt vermittelt Oliver Böhm ihre Grundlagen und  | 
 | 			      zeigt den praktischen Einsatz anhand der fü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/"> | 
 | 			    "AspectJ in Action"</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/"> | 
 |     			"The AspectJ Cookbook"</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"> | 
 | 			    "Mastering AspectJ"</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 concernsand  | 
 | 					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"> | 
 | 			"A new aspect to programming"</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. "The AOP genie is well and truly out of the | 
 | 	       bottle." | 
 | 	    </dd> | 
 | 	     | 
 | 		<dt><a target="_top" href="http://www.ibm.com/developerworks/java/library/j-aopwork1/"> | 
 |     	"AOP@Work: AOP tools comparison"</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/"> | 
 | 			  "Develop aspect-oriented Java applications with Eclipse and AJDT"</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/"> | 
 | 			    "Contract enforcement with AOP"</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"> | 
 |     	"Aspect-Oriented Refactoring"</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"> | 
 | 		    "Aspect Oriented Programming"</a>  | 
 | 		    (July 2003 ServerSide interview of Gregor Kiczales) | 
 | 		    by Dion Almaer | 
 | 		</dt> | 
 | 		<dd> "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." | 
 | 		</dd> | 
 |  | 
 | 		<dt><a target="_top" href="http://www.fawcette.com/javapro/2003_03/magazine/columns/javatecture/default_pf.asp"> | 
 | 		    "Aspects, Concerns, and Java"</a> | 
 | 		    (March 2003) | 
 | 		    by James W. Cooper | 
 | 		</dt> | 
 | 		<dd> | 
 | 		</dd> | 
 |  | 
 | 		<dt><a target="_top" href="http://www.xprogramming.com/xpmag/virtualMockObjects.htm"> | 
 | 		    "Virtual Mock Objects using | 
 | 		        AspectJ with JUnit"</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"> | 
 | 		    "Aspect-Oriented Programming with Sun(tm) ONE Studio"</a> (October 2002, updated July 2003) | 
 | 		    by Vaughn Spurlin | 
 | 		</dt> | 
 | 		<dd>"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." | 
 | 		</dd> | 
 |  | 
 | 		<dt><a target="_top" href="http://www.ddj.com/articles/2002/0208/"> | 
 | 		    "Aspect-Oriented Programming and AspectJ"</a> in the August 2002 Dr. Dobbs  | 
 | 		    Journal, by William Grosso | 
 | 		</dt> | 
 | 		<dd>"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/">"Get  | 
 | 		    Test-Inoculated!"</a> in the May 2002 issue of Software Development, by Wes  | 
 | 		    Isberg and the AspectJ Team | 
 | 		</dt> | 
 | 		<dd> | 
 | 		  (Originally titled "Test-Inoculated: Programmers Love Not Writing Tests") | 
 | 		    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"> | 
 | 		    "Test flexibly with AspectJ and mock objects"</a> in the May 2002 Java  | 
 | 		    Technology Zone of IBM's Developer Works, by Nicholas Lesiecki | 
 | 		</dt> | 
 | 		<dd> | 
 | 				"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." | 
 | 		</dd> | 
 |  | 
 | 		<dt><a target="_top" href="http://www.javaworld.com/javaworld/jw-04-2002/jw-0412-aspect3.html"> | 
 | 		    "I want my AOP!, Part 3"</a> in the April 2002 issue of Java World, by  | 
 | 		    Ramnivas Laddad | 
 | 		</dt> | 
 | 		<dd> | 
 | 		"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." | 
 | 		</dd> | 
 |  | 
 | 		<dt><a target="_top" href="http://www.javaworld.com/javaworld/jw-03-2002/jw-0301-aspect2.html"> | 
 | 		    "I want my AOP!, Part 2"</a> in the March 2002 issue of Java World, by  | 
 | 		    Ramnivas Laddad | 
 | 		</dt> | 
 | 		<dd>"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." | 
 | 		</dd> | 
 |  | 
 | 		<dt><a target="_top" href="http://www.stepwise.com/Articles/AspectJ/index.html"> | 
 | 		    "Aspect-Oriented Programming with WebObjects"</a> in the March 2002 issue of  | 
 | 		    StepWise.com, by Christian Pekeler | 
 | 		</dt> | 
 | 		<dd>"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." | 
 | 		</dd> | 
 |  | 
 | 		<dt><a target="_top" href="http://www-106.ibm.com/developerworks/java/library/j-aspectj/index.html?dwzone=java"> | 
 | 		    "Improve Modularity with Aspect-Oriented Programming"</a> in the January  | 
 | 		    2002 Java Technology Zone of IBM's Developer Works, by Nicholas Lesiecki | 
 | 		</dt> | 
 | 		<dd>"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." | 
 | 		</dd> | 
 |  | 
 | 		<dt> <a target="_top" href="http://www.javaworld.com/javaworld/jw-01-2002/jw-0118-aspect.html"> | 
 | 		    "I want my AOP!, Part 1"</a> in the January 2002 issue of Java World, by  | 
 | 		    Ramnivas Laddad | 
 | 		</dt> | 
 | 		<dd>"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." | 
 | 		</dd> | 
 |  | 
 | 		<dt><a target="_top" href="http://www.devx.com/premier/mgznarch/javapro/2001/11nov01/ps0111/ps0111.asp"> | 
 | 		    "Aspect-Oriented Programming in Java"</a>, in the November 2001 issue of  | 
 | 		    JavaPro, by Daniel F. Savarese | 
 | 		</dt> | 
 | 		<dd>"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." | 
 | 		</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 "Getting Started with AspectJ" 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"> | 
 | 		    "Real-world AOP Tool Simplifies OO Development"</a> in the September 2001  | 
 | 		    issue of Java Report, by Rich Price | 
 | 		</dt> | 
 | 		<dd>"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." | 
 | 		</dd> | 
 |  | 
 | 		<dt><a target="_top" href="http://www.sdmagazine.com/documents/s=1123/sdm0109e/0109e.htm">"The  | 
 | 		    First Aspect-Oriented Compiler"</a> in the September 2001 issue of Software  | 
 | 		    Development, by Larry O'Brien | 
 | 		</dt> | 
 | 		<dd>"It's not every day, or every year, that you come  | 
 | 		    across something that makes you rethink your entire approach to  | 
 | 		    programming.  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." | 
 | 		</dd> | 
 |  | 
 | 		<dt><a target="_top" href="http://www.sdmagazine.com/documents/s=843/sdm0107i/0107i.htm"> | 
 | 		    "Through the Looking Glass"</a> in the July 2001 issue of Software  | 
 | 		    Development, by Grady Booch | 
 | 		</dt> | 
 | 		<dd>"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." | 
 | 		</dd> | 
 | 	 | 
 | 		<dt><a target="_top" href="http://www.technologyreview.com/magazine/jan01/TR10_kiczales.asp"> | 
 | 		    "The Technology Review Ten: Untangling Code"</a> in the January/February  | 
 | 		    2001 issue of the Technology Review, by Claire Tristram | 
 | 		</dt> | 
 | 		<dd>"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 "aspect-oriented programming," 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. . ." | 
 | 		</dd> | 
 | 	 | 
 | 		<dt><a target="_top" href="http://www.computer.org/software/so2000/s6toc.htm">"Can  | 
 | 		    Aspect-Oriented Programming Lead to More Reliable Software?"</a> in the  | 
 | 		    November/December 2000 issue of IEEE Software, by John Viega and Jeffrey  | 
 | 		    Voas | 
 | 		</dt> | 
 | 		<dd>"Aspect-oriented programming is a novel topic in  | 
 | 		    the software engineering and languages communities.  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.  In this article we introduce AspectJ, the first  | 
 | 		    aspect-oriented programming language, and demonstrate how you can use it to  | 
 | 		    construct more reliable software." | 
 | 		</dd> | 
 | 	 | 
 | 		<dt><a target="_top" href="http://www.voelter.de/data/articles/aop/aop.html">"Aspectj-Oriented  | 
 | 		    Programming in Java"</a> in the January 2000 issue of the | 
 | 		    <a target="_top" href="http://www.javareport.com">Java Report</a>, by Markus Voelter | 
 | 		</dt> | 
 | 		<dd>"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.  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." | 
 | 		</dd> | 
 | 	 | 
 | 	</dl> | 
 | 	 | 
 |   <!-- ================ End of page specific content ===================== --> | 
 | </div> | 
 | </div> | 
 | </body> | 
 | </html> |