<h3 align="center">AspectJ Modules</h3>
-<p>There are a number of different structures [Parnas] : the module structure,
-the uses structure, the runtime structure,\85 We focus first on the module
-structure as found in the org.aspectj and org.eclipse.ajdt cvs roots.<br>
-<br>
-The CVS modules are all rooted at dev.eclipse.org:/home/technology. </p>
-<ul>
- <li>aspectj-home contains the AspectJ project web site on eclipse.org</li>
- <li>org.aspectj contains the AspectJ project source code</li>
- <li>org.eclipse.ajdt contains the AJDT project web site and the AJDT source
- code</li>
-</ul>
-<h4>Core Modules</h4>
-<h4 class="paragraph"><b>ajbrowser</b></h4>
-<h4 class="paragraph">This module contains the ajbrowser application. It depends on the ajde module
+<p>There are a number of different structures [Parnas]: "the module structure,
+the uses structure, the runtime structure, .." This document overviews module structure and summarizes what is hidden by each.
+For detailed documentation refer to the individual module sources and docs
+available via CVS. </p>
+<h4 align="center">Core Modules</h4>
+<p><b>CVS Location: </b>dev.eclipse.org:/home/technology/org.aspectj/modules</p>
+<p>
+<table cellSpacing="4" cellPadding="1" width="100%" align="center" border="0" id="table1">
+ <tr>
+ <td width="100" bgColor="#c8cedc">
+ <p align="center" class="smallParagraph"><font color="#383e4c"><b>Module</b></font></td>
+ <td width="*" bgColor="#c8cedc">
+ <p align="center"><font color="#383e4c"><b>Dependencies</b> </font></td>
+ <td width="*" bgColor="#c8cedc">
+ <p class="smallParagraph" align="center"><b>
+ <font color="#383e4c" size="2">Description</font></b></td>
+ </tr>
+ <tr>
+ <td bgColor="#eeeeee">
+ <p class="smallParagraph" align="left">ajbrowser</td>
+ <td bgColor="#eeeeee">
+ <p class="smallParagraph" align="left">ajde, asm, bridge, taskdefs, util</td>
+ <td bgColor="#eeeeee">
+ <p class="smallParagraph" align="left">
+ This module contains the ajbrowser application. It depends on the ajde module
for access to the aspectj compiler, and also for the swing user interface
-components that ajde provides.</h4>
-<h4 class="paragraph"><b>ajde</b></h4>
-<p>This module hides the details of accessing the aspectj compiler and interpreting
-compilation results (error messages, structure model etc.) from other
-applications (typically IDEs) that need to invoke it programmatically. <br>
-<br>
-It also contains a library of common swing user interface components that can be
-used by any swing based IDE. Ajbrowser and the non-eclipse IDE integration
-projects use this library (except for the emacs support).<br>
+components that ajde provides.</td>
+ </tr>
+ <tr>
+ <td bgColor="#eeeeee">
+ <p class="smallParagraph" align="left">ajde</td>
+ <td bgColor="#eeeeee">
+ <p class="smallParagraph" align="left">asm, bridge,
+ org.aspectj.ajdt.core, org.eclipse.jdt.core, util</td>
+ <td bgColor="#eeeeee">
+ <p class="smallParagraph" align="left">
+ Hides the details of accessing the aspectj compiler
+ and interpreting compilation results (error messages, structure
+ model, etc.) from other applications (typically IDEs) that need
+ to invoke it programmatically.
+ Changing any public interface in ajde can break all the IDE
+ integration projects and should be done with care.<br>
<br>
-Note: we need to separate the ajde component into two \96 ajde.core and ajde.ui.
-The core should be independent of the ui component (currently this isn\92t quite
-true). This will allow non-swing based applications that need to integrate with
-the aspectj compiler to do so without needing to provide a swing environment.
-The issue is most pressing on Mac OS X where AJDT fails to load due to conflicts
-between Eclipse\92s SWT and swing<br>
-<br>
-Changing any public interface in ajde can break all the IDE integration projects
-and should be done with care. </p>
-<p><b>asm</b></p>
-<p>This module contains the Abstract Structure Model which represents the result of
+ It also contains a library of common swing user interface
+ components that can be used by any swing based IDE. Ajbrowser
+ and the non-eclipse IDE integration projects use this library
+ (except for the emacs support).</td>
+ </tr>
+ <tr>
+ <td bgColor="#eeeeee">
+ <p class="smallParagraph" align="left">asm</td>
+ <td bgColor="#eeeeee">
+ <p class="smallParagraph" align="left">bridge</td>
+ <td bgColor="#eeeeee">
+ <p class="smallParagraph" align="left">
+ Contains the Abstract Structure Model, which represents the result of
an aspectj compilation. Clients of ajde are returned an instance of the
-structure model which allows them to navigate and interpret the structure of a
-compiled aspectj program.</p>
-<p><b>bridge</b></p>
-<p>...</p>
-<p><b>org.aspectj.ajdt.core</b></p>
-<p>...</p>
-<p><b>org.eclipse.jdt.core</b></p>
-<p>...</p>
-<p><b>runtime</b></p>
-<p>...</p>
-<p><b>taskdefs</b></p>
-<p>...</p>
-<p><b>util</b></p>
-<p>...</p>
-<p><b>weaver</b></p>
-<h4>...<br>
+structure model which allows them to navigate and interpret the static structure of an aspectj program.</td>
+ </tr>
+ <tr>
+ <td bgColor="#eeeeee">
+ <p class="smallParagraph" align="left">bridge</td>
+ <td bgColor="#eeeeee">
+ <p class="smallParagraph" align="left">util</td>
+ <td bgColor="#eeeeee">
+ <p class="smallParagraph" align="left">
+ Contains an interface and implementation of classes realted to
+ compiler messages including: source locations, handling, and
+ formatting. Intended to minimize dependencies between
+ testing, the compiler, and ajde.</td>
+ </tr>
+ <tr>
+ <td bgColor="#eeeeee">
+ <p class="smallParagraph" align="left">org.aspectj.ajdt.core</td>
+ <td bgColor="#eeeeee">
+ <p class="smallParagraph" align="left">asm, bridge, org.eclipse.jdt.core,
+ runtime, testing-util, util, weaver</td>
+ <td bgColor="#eeeeee">
+ <p class="smallParagraph" align="left">
+ Front-end of the AspectJ compiler and extension of Eclipse's JDT compiler.
+ Extends the JDT compiler's parsing and name resolution to
+ understand AspectJ declarations. Also extends incremental
+ behavior with understanding of AspectJ dependancies.</td>
+ </tr>
+ <tr>
+ <td bgColor="#eeeeee">
+ <p class="smallParagraph" align="left">org.eclipse.ajdt.core</td>
+ <td bgColor="#eeeeee">
+ <p class="smallParagraph" align="left"> </td>
+ <td bgColor="#eeeeee">
+ <p class="smallParagraph" align="left">
+ The additional extensibility needed from the JDT compiler is
+ captured by these deltas.</td>
+ </tr>
+ <tr>
+ <td bgColor="#eeeeee">
+ <p class="smallParagraph" align="left">runtime</td>
+ <td bgColor="#eeeeee">
+ <p class="smallParagraph" align="left"> </td>
+ <td bgColor="#eeeeee">
+ <p class="smallParagraph" align="left">
+ Small runtime library required for building and running AspectJ
+ programs.</td>
+ </tr>
+ <tr>
+ <td bgColor="#eeeeee">
+ <p class="smallParagraph" align="left">taskdefs</td>
+ <td bgColor="#eeeeee">
+ <p class="smallParagraph" align="left">bridge, org.aspectj.ajdt.core,
+ util</td>
+ <td bgColor="#eeeeee">
+ <p class="smallParagraph" align="left">
+ Ant taskdefs for the ajc and ajdoc command line tools.</td>
+ </tr>
+ <tr>
+ <td bgColor="#eeeeee">
+ <p class="smallParagraph" align="left">util</td>
+ <td bgColor="#eeeeee">
+ <p class="smallParagraph" align="left"> </td>
+ <td bgColor="#eeeeee">
+ <p class="smallParagraph" align="left">
+ Common utility classes including data type, file, and stream
+ manipulation.</td>
+ </tr>
+ <tr>
+ <td bgColor="#eeeeee">
+ <p class="smallParagraph" align="left">weaver</td>
+ <td bgColor="#eeeeee">
+ <p class="smallParagraph" align="left">asm, bridge, runtime, testing-util,
+ util</td>
+ <td bgColor="#eeeeee">
+ <p class="smallParagraph" align="left">
+ Back-end of the AspectJ compiler, built on top of the BCEL
+ bytecode toolkit. All advice planning and weaving is done
+ here. Takes an aspect bytecode format and other Java
+ classfiles as input. </td>
+ </tr>
+ <!--
+ <tr>
+ <TD bgColor=#eeeeee>
+ <p class=smallParagraph align="left">appears in <font color="#383E4C"><b>ICSE
+ 2000
+ </b></font></p>
+ </TD>
+ <TD bgColor=#eeeeee>
+ <p class=smallParagraph align="left">A Study on Exception Detection and Handling Using
+ Aspect-Oriented Programming (0.4)</p>
+ </TD>
+ <TD bgColor=#eeeeee><p class=smallParagraph align="center"><a href="/documentation/papersAndSlides/ICSE2000-ExcptnDetect.pdf">PDF</a>
+ </p></TD>
+ </tr>
+ -->
+ </table>
+ <h4 align="center">Supporting Modules</h4>
+<p align="left"><b>CVS Location: </b>dev.eclipse.org:/home/technology/org.aspectj/modules</p>
+<p>
+<table cellSpacing="4" cellPadding="1" width="100%" align="center" border="0" id="table2">
+ <tr>
+ <td width="100" bgColor="#c8cedc">
+ <p align="center" class="smallParagraph"><font color="#383e4c"><b>Module</b></font></td>
+ <td width="*" bgColor="#c8cedc">
+ <p class="smallParagraph" align="center"><b>
+ <font color="#383e4c" size="2">Description</font></b></td>
+ </tr>
+ <tr>
+ <td bgColor="#eeeeee">
+ <p class="smallParagraph" align="left">build</td>
+ <td bgColor="#eeeeee">
+ <p class="smallParagraph" align="left">
+ Ant files, scripts, and taskdefs required for building the
+ AspectJ distribution. Also contains the GUI installer.</td>
+ </tr>
+ <tr>
+ <td bgColor="#eeeeee">
+ <p class="smallParagraph" align="left">docs</td>
+ <td bgColor="#eeeeee">
+ <p class="smallParagraph" align="left">
+ Programmer and developer documentation.</td>
+ </tr>
+ <tr>
+ <td bgColor="#eeeeee">
+ <p class="smallParagraph" align="left">lib</td>
+ <td bgColor="#eeeeee">
+ <p class="smallParagraph" align="left">
+ Libraries required for building AspectJ.</td>
+ </tr>
+ <tr>
+ <td bgColor="#eeeeee">
+ <p class="smallParagraph" align="left">testing</td>
+ <td bgColor="#eeeeee">
+ <p class="smallParagraph" align="left">
+ Test support classes.</td>
+ </tr>
+ <tr>
+ <td bgColor="#eeeeee">
+ <p class="smallParagraph" align="left">testing-client</td>
+ <td bgColor="#eeeeee">
+ <p class="smallParagraph" align="left">
+ Client used for running the harness and reporting results.</td>
+ </tr>
+ <tr>
+ <td bgColor="#eeeeee">
+ <p class="smallParagraph" align="left">testing-drivers</td>
+ <td bgColor="#eeeeee">
+ <p class="smallParagraph" align="left">
+ Testing harness drivers and support classes.</td>
+ </tr>
+ <tr>
+ <td bgColor="#eeeeee">
+ <p class="smallParagraph" align="left">testing-util</td>
+ <td bgColor="#eeeeee">
+ <p class="smallParagraph" align="left">
+ Common testing utility classes.</td>
+ </tr>
+ <tr>
+ <td bgColor="#eeeeee">
+ <p class="smallParagraph" align="left">tests</td>
+ <td bgColor="#eeeeee">
+ <p class="smallParagraph" align="left">
+ AspectJ test suite, including all language tests, regression
+ tests, and test system sources.</td>
+ </tr>
+ <!--
+ <tr>
+ <TD bgColor=#eeeeee>
+ <p class=smallParagraph align="left">appears in <font color="#383E4C"><b>ICSE
+ 2000
+ </b></font></p>
+ </TD>
+ <TD bgColor=#eeeeee>
+ <p class=smallParagraph align="left">A Study on Exception Detection and Handling Using
+ Aspect-Oriented Programming (0.4)</p>
+ </TD>
+ <TD bgColor=#eeeeee><p class=smallParagraph align="center"><a href="/documentation/papersAndSlides/ICSE2000-ExcptnDetect.pdf">PDF</a>
+ </p></TD>
+ </tr>
+ -->
+ </table>
+
+<h4 align="center">Eclipse Support (AJDT)</h4>
+<p align="left"><b>CVS Location: </b>dev.eclipse.org:/home/technology/org.eclipse.ajdt/plugins/org.eclipse.ajdt</p>
+<table cellSpacing="4" cellPadding="1" width="100%" align="center" border="0" id="table3">
+ <tr>
+ <td width="100" bgColor="#c8cedc">
+ <p align="center" class="smallParagraph"><font color="#383e4c"><b>
+ Plug-in</b></font></td>
+ <td width="*" bgColor="#c8cedc">
+ <p align="center"><font color="#383e4c"><b>Dependencies</b> </font></td>
+ <td width="*" bgColor="#c8cedc">
+ <p class="smallParagraph" align="center"><b>
+ <font color="#383e4c" size="2">Description</font></b></td>
+ </tr>
+ <tr>
+ <td bgColor="#eeeeee">
+ <p class="smallParagraph" align="left">org.eclipse.ajdt.ui</td>
+ <td bgColor="#eeeeee">
+ <p class="smallParagraph" align="left">org.aspectj.ajde</td>
+ <td bgColor="#eeeeee">
+ <p class="smallParagraph" align="left">
+ AspectJ IDE support for Eclipse.</td>
+ </tr>
+ <tr>
+ <td bgColor="#eeeeee">
+ <p class="smallParagraph" align="left">org.aspectj.ajde</td>
+ <td bgColor="#eeeeee">
+ <p class="smallParagraph" align="left">ajde, asm, bridge</td>
+ <td bgColor="#eeeeee">
+ <p class="smallParagraph" align="left">
+ AspectJ libraries plug-in.</td>
+ </tr>
+ <!--
+ <tr>
+ <TD bgColor=#eeeeee>
+ <p class=smallParagraph align="left">appears in <font color="#383E4C"><b>ICSE
+ 2000
+ </b></font></p>
+ </TD>
+ <TD bgColor=#eeeeee>
+ <p class=smallParagraph align="left">A Study on Exception Detection and Handling Using
+ Aspect-Oriented Programming (0.4)</p>
+ </TD>
+ <TD bgColor=#eeeeee><p class=smallParagraph align="center"><a href="/documentation/papersAndSlides/ICSE2000-ExcptnDetect.pdf">PDF</a>
+ </p></TD>
+ </tr>
+ -->
+ </table>
+ <h4 align="center">JBuilder Support</h4>
+<p align="left"><b>CVS Location: <span style="font-weight: 400">
+cvs.aspectj4jbuildr.sourceforge.net:/cvsroot/aspectj4jbuildr</span></b></p>
+<table cellSpacing="4" cellPadding="1" width="100%" align="center" border="0" id="table4">
+ <tr>
+ <td width="100" bgColor="#c8cedc">
+ <p align="center" class="smallParagraph"><font color="#383e4c"><b>
+ OpenTool</b></font></td>
+ <td width="*" bgColor="#c8cedc">
+ <p align="center"><font color="#383e4c"><b>Dependencies</b> </font></td>
+ <td width="*" bgColor="#c8cedc">
+ <p class="smallParagraph" align="center"><b>
+ <font color="#383e4c" size="2">Description</font></b></td>
+ </tr>
+ <tr>
+ <td bgColor="#eeeeee">
+ <p class="smallParagraph" align="left">jbuilder</td>
+ <td bgColor="#eeeeee">
+ <p class="smallParagraph" align="left">ajde, asm, bridge</td>
+ <td bgColor="#eeeeee">
+ <p class="smallParagraph" align="left">
+ AspectJ IDE support for JBuilder.</td>
+ </tr>
+ <!--
+ <tr>
+ <TD bgColor=#eeeeee>
+ <p class=smallParagraph align="left">appears in <font color="#383E4C"><b>ICSE
+ 2000
+ </b></font></p>
+ </TD>
+ <TD bgColor=#eeeeee>
+ <p class=smallParagraph align="left">A Study on Exception Detection and Handling Using
+ Aspect-Oriented Programming (0.4)</p>
+ </TD>
+ <TD bgColor=#eeeeee><p class=smallParagraph align="center"><a href="/documentation/papersAndSlides/ICSE2000-ExcptnDetect.pdf">PDF</a>
+ </p></TD>
+ </tr>
+ -->
+ </table>
<br>
-Supporting Modules</h4>
-<p><b>build</b></p>
-<p>...</p>
-<p><b>docs</b></p>
-<p>...</p>
-<p><b>lib</b></p>
-<p>...</p>
-<p><b>releases</b></p>
-<p>...</p>
-<p><b>testing</b></p>
-<p>...</p>
-<p><b>testing-client</b></p>
-<p>...</p>
-<p><b>testing-drivers</b></p>
-<p>...</p>
-<p><b>testing-util</b></p>
-<p>...</p>
-<p><b>tests</b></p>
-<p>...<br>
- </p>
+<h4 align="center">NetBeans Support</h4>
+<p align="left"><b>CVS Location: <span style="font-weight: 400">
+cvs.aspectj4netbean.sourceforge.net:/cvsroot/aspectj4netbean</span></b></p>
+<table cellSpacing="4" cellPadding="1" width="100%" align="center" border="0" id="table5">
+ <tr>
+ <td width="100" bgColor="#c8cedc">
+ <p align="center" class="smallParagraph"><font color="#383e4c"><b>Module</b></font></td>
+ <td width="*" bgColor="#c8cedc">
+ <p align="center"><font color="#383e4c"><b>Dependencies</b> </font></td>
+ <td width="*" bgColor="#c8cedc">
+ <p class="smallParagraph" align="center"><b>
+ <font color="#383e4c" size="2">Description</font></b></td>
+ </tr>
+ <tr>
+ <td bgColor="#eeeeee">
+ <p class="smallParagraph" align="left">netbeans</td>
+ <td bgColor="#eeeeee">
+ <p class="smallParagraph" align="left">ajde, asm, bridge</td>
+ <td bgColor="#eeeeee">
+ <p class="smallParagraph" align="left">
+ AspectJ IDE support for NetBeans and SunONE Studio.</td>
+ </tr>
+ <!--
+ <tr>
+ <TD bgColor=#eeeeee>
+ <p class=smallParagraph align="left">appears in <font color="#383E4C"><b>ICSE
+ 2000
+ </b></font></p>
+ </TD>
+ <TD bgColor=#eeeeee>
+ <p class=smallParagraph align="left">A Study on Exception Detection and Handling Using
+ Aspect-Oriented Programming (0.4)</p>
+ </TD>
+ <TD bgColor=#eeeeee><p class=smallParagraph align="center"><a href="/documentation/papersAndSlides/ICSE2000-ExcptnDetect.pdf">PDF</a>
+ </p></TD>
+ </tr>
+ -->
+ </table>
+ <h4 align="center">Emacs Support</h4>
+<p align="left"><b>CVS Location: <span style="font-weight: 400">
+cvs.aspectj4emacs.sourceforge.net:/cvsroot/aspectj4emacs</span></b></p>
+<table cellSpacing="4" cellPadding="1" width="100%" align="center" border="0" id="table6">
+ <tr>
+ <td width="100" bgColor="#c8cedc">
+ <p align="center" class="smallParagraph"><font color="#383e4c"><b>Module</b></font></td>
+ <td width="*" bgColor="#c8cedc">
+ <p align="center"><font color="#383e4c"><b>Dependencies</b> </font></td>
+ <td width="*" bgColor="#c8cedc">
+ <p class="smallParagraph" align="center"><b>
+ <font color="#383e4c" size="2">Description</font></b></td>
+ </tr>
+ <tr>
+ <td bgColor="#eeeeee">
+ <p class="smallParagraph" align="left">emacs</td>
+ <td bgColor="#eeeeee">
+ <p class="smallParagraph" align="left">ajde, asm, bridge</td>
+ <td bgColor="#eeeeee">
+ <p class="smallParagraph" align="left">
+ AspectJ support for Emacs and XEmacs.</td>
+ </tr>
+ <!--
+ <tr>
+ <TD bgColor=#eeeeee>
+ <p class=smallParagraph align="left">appears in <font color="#383E4C"><b>ICSE
+ 2000
+ </b></font></p>
+ </TD>
+ <TD bgColor=#eeeeee>
+ <p class=smallParagraph align="left">A Study on Exception Detection and Handling Using
+ Aspect-Oriented Programming (0.4)</p>
+ </TD>
+ <TD bgColor=#eeeeee><p class=smallParagraph align="center"><a href="/documentation/papersAndSlides/ICSE2000-ExcptnDetect.pdf">PDF</a>
+ </p></TD>
+ </tr>
+ -->
+ </table>
</body>