--- /dev/null
+<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