Browse Source

Updated module docs.

tags/V1_1_1
mkersten 21 years ago
parent
commit
7d44a8a3a5
2 changed files with 399 additions and 71 deletions
  1. 398
    70
      docs/developer/modules.html
  2. 1
    1
      docs/developer/overview.html

+ 398
- 70
docs/developer/modules.html View File

@@ -142,80 +142,408 @@

<h3 align="center">AspectJ Modules</h3>

<p>There are a number of different structures [Parnas] : the module structure,
the uses structure, the runtime structure,… 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]: &quot;the module structure,
the uses structure, the runtime structure, ..&quot;&nbsp; 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 – ajde.core and ajde.ui.
The core should be independent of the ui component (currently this isn’t 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’s 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.&nbsp; 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.&nbsp;
Extends the JDT compiler's parsing and name resolution to
understand AspectJ declarations.&nbsp; 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">&nbsp;</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">&nbsp;</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">&nbsp;</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.&nbsp; All advice planning and weaving is done
here.&nbsp; Takes an aspect bytecode format and other Java
classfiles as input.&nbsp; </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>
&nbsp;<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.&nbsp; 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>
&nbsp;<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>
&nbsp;</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>
&nbsp;<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>


+ 1
- 1
docs/developer/overview.html View File

@@ -162,7 +162,7 @@ product. Those who made the changes, never did. In other words, *nobody*
understands the modified product.<br>
Software that has been repeatedly modified (maintained) in this way becomes very
expensive to update. Changes take longer and are more likely to introduce new
'bugs'&quot;</h4>
'bugs'.&quot;</h4>
<h4>Contents</h4>
<ul>
<li><a href="modules.html">Module Structure</a></li>

Loading…
Cancel
Save