diff options
author | mkersten <mkersten> | 2003-07-15 21:14:24 +0000 |
---|---|---|
committer | mkersten <mkersten> | 2003-07-15 21:14:24 +0000 |
commit | ca5a31135689b903e347492b836257fc5735fdf4 (patch) | |
tree | 4a68462cda18e0eaf9fb1e6701a48acf8abcbc3c /docs/developer | |
parent | e447d254c1c7f9ae3fa35530a10206a58aa60881 (diff) | |
download | aspectj-ca5a31135689b903e347492b836257fc5735fdf4.tar.gz aspectj-ca5a31135689b903e347492b836257fc5735fdf4.zip |
Updated modules documentation.
Added ASM documentation.
Diffstat (limited to 'docs/developer')
-rw-r--r-- | docs/developer/asm.html | 353 |
1 files changed, 353 insertions, 0 deletions
diff --git a/docs/developer/asm.html b/docs/developer/asm.html new file mode 100644 index 000000000..4311a0b15 --- /dev/null +++ b/docs/developer/asm.html @@ -0,0 +1,353 @@ +<html> + +<head> +<meta http-equiv="Content-Language" content="en-us"> +<meta http-equiv="Content-Type" content="text/html; charset=windows-1252"> +<meta name="GENERATOR" content="Microsoft FrontPage 5.0"> +<meta name="ProgId" content="FrontPage.Editor.Document"> +<title>AJDT Project Proposal</title> +<STYLE TYPE="text/css"> +<!-- + + /* FOR THE SDA PAGE */ + + /* + BODY {margin-top: 15px; margin-left: 15px; margin-right: 15px;} + */ + + A:link { + color:#4756AC; + } + A:visited { + color:#60657B; + } + A:hover { + color:red + } + + INPUT {font:12px "Courier New", sans-serif;} + + H2 { + font:18px/18px Verdana, Arial, Helvetica, sans-serif; + color:black; + font-weight:bold; + margin-left: 10px; + line-height:110%; + } + H3 { + font:18px/18px Verdana, Arial, Helvetica, sans-serif; + color:black; + font-weight:bold; + margin-left: 10px; + line-height:110%; + } + H4 { + font:15px/16px Verdana, Arial, Helvetica, sans-serif; + color:black; + font-weight:bold; + margin-left: 10px; + line-height:140%; + } + P { + font:13px/13px Verdana, Arial, Helvetica, sans-serif; + margin-right: 10px; + margin-left: 10px; + line-height:130%; + } + .paragraph { + font:13px/13px Verdana, Arial, Helvetica, sans-serif; + margin-right: 10px; + margin-left: 10px; + line-height:130%; + } + .smallParagraph { + font:11px/11px Verdana, Arial, Helvetica, sans-serif; + margin-right: 10px; + margin-left: 10px; + line-height:130%; + } + LI { + font:13px/13px Verdana, Arial, Helvetica, sans-serif; + text-align:justify; + margin-right: 10px; + margin-left: 15px; + line-height:120%; + } + /* + UL { + font:13px/13px Verdana, Arial, Helvetica, sans-serif; + text-align:justify; + margin-right: 10px; + margin-left: 15px; + line-height:120%; + }*/ + + DL { + font:13px/13px Verdana, Arial, Helvetica, sans-serif; + text-align:justify; + margin-right: 10px; + margin-left: 15px; + line-height:120%; + } + B { font:13px/13px Verdana, Arial, Helvetica, sans-serif; + font-weight:bold; + line-height:140%; + } + .footer { + font:10px/10px Verdana, Arial, Helvetica, sans-serif; + color:#888888; + text-align:left + } + .figureTitle { + font:13px/13px Verdana, Arial, Helvetica, sans-serif; + text-align:justify; + text-align:center + } + .copyrightNotice { + font:10px/10px Verdana, Arial, Helvetica, sans-serif; + color:#999999; + line-height:110%; + } + .smallHeading { + font:13px/13px Verdana, Arial, Helvetica, sans-serif; + font-weight:bold; + line-height:110%; + } + .tinyHeading { + font:11px/11px Verdana, Arial, Helvetica, sans-serif; + font-weight:bold; + line-height:120%; + } + .newsText { + font:11px/11px Verdana, Arial, Helvetica, sans-serif; + line-height:130%; + } + .smallParagraph { + font:11px/11px Verdana, Arial, Helvetica, sans-serif; + line-height:130%; + } + .fancyHeading { + font:20px/20px Chantilly, Arial, Helvetica, sans-serif; + margin-right: 10px; + color:#6f7a92; + margin-left: 10px; + line-height:130%; + } + +--> +</STYLE> +</head> + +<BODY BGCOLOR="white"> + +<h3 align="center">Abstract Structure Model (ASM)</h3> +<h4 align="left">Aspect Member Labels </h4> +<ul> + <li>pointcut<ul> + <li>pointcut <i>Id</i>(<i>Types</i>)</li> + </ul> + </li> + <li>advice<ul> + <li>after(<i>Types</i>)</li> + <li>after(<i>Types</i>) returning [(<i>Formal</i>)]</li> + <li>after(<i>Types</i>) throwing [(<i>Formal</i>)]</li> + <li>around(<i>Types</i>) : <i>Type</i></li> + <li>[throws <i>Type]</i></li> + <li>before </li> + </ul> + </li> + <li>inter-type member declarations<ul> + <li><i>Id</i>(<i>Types</i>) : <i>Type</i></li> + <li><i>Id</i> : <i>Type</i></li> + </ul> + </li> + <li>other inter-type declarations<ul> + <li>declare parents : <i>Type ???</i> </li> + <li>declare warning : <i>"<first words of String>.." </i></li> + <li>declare error : <i>"<first world of String>.." </i></li> + <li>declare soft : <i>Type</i></li> + <li>declare precedence</li> + </ul> + </li> +</ul> +<h4 align="left">Advice Relationships </h4> +<ul> + <li>advises / advised by + <ul> + <li>call + <ul> + <li>method/constructor call site </li> + </ul> + </li> + <li>execution + <ul> + <li>method/constructor declaration </li> + </ul> + </li> + <li>initialization + <ul> + <li>type declaration otherwise + </li> + </ul> + </li> + <li>preinitiatialization<ul> + <li>constructor declaration </li> + </ul> + </li> + <li>staticinitialization + <ul> + <li>type declaration otherwise + </li> + </ul> + </li> + <li>get + <ul> + <li>field access site </li> + </ul> + </li> + <li>set + <ul> + <li>field assignment site </li> + </ul> + </li> + <li>handler + <ul> + <li>catch statement </li> + </ul> + </li> + <li>adviceexecution + <ul> + <li>advice declaration </li> + </ul> + </li> + </ul> + </li> + <li><font color="#0000FF">uses control flow / control flow used by + </font> + <ul> + <li><font color="#0000FF">cflow + </font> + <ul> + <li><font color="#0000FF">method declaration / call site </font> </li> + </ul> + </li> + <li><font color="#0000FF">cflowbelow + </font> + <ul> + <li><font color="#0000FF">method declaration </font> </li> + </ul> + </li> + </ul> + </li> + <li><font color="#999999">uses dynamic test / dynamic test used by + </font> + <ul> + <li><font color="#999999">if + </font> + <ul> + <li><font color="#999999">conditional expression </font></li> + </ul></li> + </ul></li> +</ul> +<h4>Additional Inheritance Relationships </h4> +<ul> + <li>inherits / inherited by + <ul> + <li>aspect declaration + <ul> + <li>abstract aspect declaration </li> + </ul> + </li> + </ul> + </li> + <li><font color="#0000FF">specifies / specified by + </font> + <ul> + <li><font color="#0000FF">abstract pointcut + </font> + <ul> + <li><font color="#0000FF">concrete pointcut </font> </li> + </ul> + </li> + </ul> + </li> +</ul> +<h4>Additional Referential Relationships </h4> +<ul> + <li><font color="#800000">matches deffered </font> + </li> + <li>uses pointcut / pointcut used by + <ul> + <li>advice declaration + <ul> + <li>pointcut </li> + </ul> + </li> + <li>pointcut + <ul> + <li>pointcut </li> + </ul> + </li> + </ul> + </li> + <li><font color="#0000FF">is specified per / pointcut used by + </font> + <ul> + <li><font color="#0000FF">aspect declaration + </font> + <ul> + <li><font color="#0000FF">pointcut declaration </font> </li> + </ul> + </li> + </ul> + </li> +</ul> +<h4>Inter-Type Declarations </h4> +<ul> + <li>declares on / <font color="#0000FF">introduced</font> declarations + <ul> + <li>inter-type declaration -- do these show up ???<ul> + <li>type declaration </li> + </ul> + </li> + <li>soft declaration + <ul> + <li>method declaration </li> + </ul> + </li> + </ul> + </li> + <li>declares static check / matched by static check + <ul> + <li>error/warning declare declaration + <ul> + <li><any PCD match></li> + </ul> + </li> + </ul> + </li> + <li><font color="#0000FF">declares precedence on + </font> + <ul> + <li><font color="#0000FF">precedence declaration + </font> + <ul> + <li><font color="#0000FF">type declaration </font> </li> + </ul> + </li> + </ul> + </li> +</ul> +<p> </p> +<p> </p> +<p> </p> +<p><b>Issues</b></p> +<ul> + <li>default constructors & initializers: promote to relation to type + declaration, or just move source location to type declaration, but show + nodes in tree ??</li> +</ul> + +</body> + +</html>
\ No newline at end of file |