123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176 |
- <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">AspectJ Design Overview</h3>
-
- <h4>Contents</h4>
- <ul>
- <li><a href="compiler-weaver/index.html">Guide for Developers of the AspectJ Compiler and Weaver</a></li>
- <li><a href="modules.html">Module Structure</a></li>
- <li><a href="language.html">Language Design</a></li>
- </ul>
-
- <h4 class="paragraph">Here are some sobering words from David Parnas on
- "Ignorant Surgery" in his paper on Software Aging:</h4>
- <h4 class="smallParagraph">"Although it is essential to upgrade software to
- prevent aging, changing software can cause a different form of aging. The
- designer of a piece of software usually had a simple concept in mind when
- writing the program. If the program is large, understanding the concept allows
- one to find those sections of the program that must be altered when an update or
- correction is needed. Understanding that concept also implies understanding the
- interfaces used within the system and between the system and its environment.
- Changes made by people who do not understand the original design concept almost
- always cause the structure of the program to degrade. Under those circumstances,
- changes will be inconsistent with the original concept; in fact, they will
- invalidate the original concept. Sometimes the damage is small, but often it is
- quite severe. After those changes, one must know both the original design rules
- and the newly introduced exceptions to the rules, to understand the product.
- After many such changes, the original designers no longer understand the
- 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'."</h4>
-
- </body>
-
- </html>
|