| <!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> |