diff options
author | mkersten <mkersten> | 2003-11-11 06:36:33 +0000 |
---|---|---|
committer | mkersten <mkersten> | 2003-11-11 06:36:33 +0000 |
commit | 5ba7e88c10c7b254a2cdb59c09ebc102b4e68dfa (patch) | |
tree | 49e12aa2c11b19ea5e97a97acb06e8ea2ba64b86 /docs | |
parent | 435ab20666622d327cdfc62f5d3e4e86ceab416f (diff) | |
download | aspectj-5ba7e88c10c7b254a2cdb59c09ebc102b4e68dfa.tar.gz aspectj-5ba7e88c10c7b254a2cdb59c09ebc102b4e68dfa.zip |
Adding old demo scripts.
Diffstat (limited to 'docs')
-rw-r--r-- | docs/teaching/demos/oopsla2001-script.html | 310 | ||||
-rw-r--r-- | docs/teaching/demos/oopsla2002-script.html | 671 |
2 files changed, 981 insertions, 0 deletions
diff --git a/docs/teaching/demos/oopsla2001-script.html b/docs/teaching/demos/oopsla2001-script.html new file mode 100644 index 000000000..1c506956c --- /dev/null +++ b/docs/teaching/demos/oopsla2001-script.html @@ -0,0 +1,310 @@ +<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 4.0"> +<meta name="ProgId" content="FrontPage.Editor.Document"> +<title>AspectJ Installation Note</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 Demo</h3> + +<h4>1. Installing the Demo</h4> + +<ul> + <li>Extract the contents of "aspectj-demo.zip" to + "C:\aspectj-demo", resulting in the following directory structure: + <ul> + <li>C:\aspectj-demo + <ul> + <li>apps</li> + <li>bin</li> + <li>examples</li> + <li>slides</li> + </ul> + </li> + </ul> + </li> + <li>Verify that JBuilder 4 is using the correct project by opening it, closing + all of the current projects + <ul> + <li>Under the "File" menu select "Close Projects...", + select all of the open projects and close them</li> + <li>Under the "File" menu select "Open Project...", + and open "C:\aspectj-demo\examples\jbuilder\Spacewar.jpr"</li> + <li>You should now be able to compile "Spacewar". If + ajdeForJBuilder reports any problems refer to + "C:\aspectj-demo\apps\aspectj0.8\doc\primer\tools\ajdeForJBuilder.html"</li> + </ul> + </li> + <li>Set up your "Windows Taskbar" to be permanently visible by + right-clicking the bar, selecting "Properties", and un-checking + "Auto hide"</li> + <li>From your "Windows Explorer" drag the + "C:\aspectj-demo\bin\Demo" folder to the "Windows + Taskbar". This will have the effect of placing the demo buttons + on the taskbar. To remove the buttons drag off the "Demo" + toolbar and close the resulting floating toolbar window.</li> + <li>It is useful to have the "Task Manager" running in the + "System Tray" during the demo in order to see when the debugger is + loading since it is slow. To launch it right-click the "Windows + Taskbar" and select "Task Manager", then minimize the window. + </li> +</ul> +<h4>2. Initial Setup</h4> +<ul> + <li>Emacs Setup + <ul> + <li>Click "Emacs", and move the cursor to the beginning of the + "spacewar.Ship.fire" method</li> + </ul> + </li> + <li>JBuilder Setup + <ul> + <li>Click "JBuilder", open the "AspectJ Structure + View", and bring the editor to the "spacewar.Ship.fire" + method</li> + <li>under the "Spacewar.jpr" node in the "Project + Explorer" (left pane of main window) expand the "spacewar" + package to see its classes</li> + <li>ensure that the last compile was done without "Debug.java" + in the build configuration</li> + </ul> + </li> + <li>Forte Setup + <ul> + <li>Click "Forte", click the "AspectJ Structure View" + button, and navigate the editor to the "spacewar.EnsureShipIsAlive" + class </li> + </ul> + </li> + <li>AJDoc Setup + <ul> + <li>click "AJDoc", browse to the "spacewar/Ship.java" + class</li> + </ul> + </li> +</ul> +<h4>3. Running the Demo</h4> +<ul> + <li>Emacs + <ul> + <li>At the declaration of the "spacewar.Ship.fire" method hit + "<cntrl>x, <cntrl>j"</li> + <li>Follow the resulting popup menu to the "EnsureShipIsAlive" + advice</li> + <li>Navigate back to "spacewar.Ship.fire" using the same method</li> + </ul> + </li> + <li>JBuilder + <ul> + <li>Navigation + <ul> + <li>In the "Structure View" select the "fire" + method and expand it's children to reveal "EnsureShipIsAlive: + around..."</li> + <li>Double-click "EnsureShipIsAlive: around..." to navigate + to that advice declaration</li> + <li>Navigate back using the same method, or using the + "Back", then "Forward" method in conjuntion with + the structure tree (this navigation can also be done by + right-clicking the inline advice icons in the editor's gutter)</li> + </ul> + </li> + <li>Compilation + <ul> + <li>In "EnsureShipIsAlive" remove "ship" from the + "proceed(ship)" call and recompile.</li> + <li>When the error message pops up fix it by replacing + "ship"</li> + </ul> + </li> + <li>Build Configuration + <ul> + <li>Double-click "Default.lst" and select the "lst + Designer" tab at the bottom of the editor pane</li> + <li>Expand the "spacewar" node</li> + <li>Click "Debug.java" in order to add it to the + configuration</li> + <li>Navigate to the "Ship.java" class so that the effects of + the new compilation are visible in the "Structure View" + when the compilation completes</li> + <li>Compile "Default.lst"</li> + <li>Run the project (top the execution of the project by clicking the + red stop button in the run messages pane)</li> + </ul> + </li> + <li>Debugging + <ul> + <li>Start the debugger</li> + <li>When the "Please select launch parameters..." dialog + pops up click "OK"</li> + <li>Select the "Classes" tab (4th tab from the top)</li> + <li>When the game starts, expand "spacewar", expand "Ship.java"</li> + <li>Browse to the "fire" method and expand it</li> + <li>Right-click on the "fire" method and select "stop + in spaceawar.Ship.fire"</li> + <li>Wait for the breakpoint to be hit</li> + <li>Use the "Step Into" button (5th button on the bottom + from the left) to single step the file until you step through the + advice and into the body of the fire method</li> + <li>Click the red stop button (1st button) in order to stop the + debugging</li> + </ul> + </li> + </ul> + </li> + <li>Forte + <ul> + <li>Currently no Forte demo (fyi: navigate the structure the same way as + in JBuilder, and right-click the LST files to compile them, right click + "Game.java" to execute it)</li> + </ul> + </li> + <li>AJDoc + <ul> + <li>Scroll down to the "fire" method, and follow it's + "Advised by: " link to get to the "EnsureShipIsAlive" + aspect</li> + </ul> + </li> +</ul> +<p> </p> + + +</body> + +</html> diff --git a/docs/teaching/demos/oopsla2002-script.html b/docs/teaching/demos/oopsla2002-script.html new file mode 100644 index 000000000..310505196 --- /dev/null +++ b/docs/teaching/demos/oopsla2002-script.html @@ -0,0 +1,671 @@ +<html xmlns:o="urn:schemas-microsoft-com:office:office" +xmlns:w="urn:schemas-microsoft-com:office:word" +xmlns="http://www.w3.org/TR/REC-html40"> + +<head> +<meta http-equiv=Content-Type content="text/html; charset=windows-1252"> +<meta name=ProgId content=Word.Document> +<meta name=Generator content="Microsoft Word 11"> +<meta name=Originator content="Microsoft Word 11"> +<link rel=File-List href="oopsla2002-script_files/filelist.xml"> +<title>demo: OO IDE</title> +<!--[if gte mso 9]><xml> + <o:DocumentProperties> + <o:Author>Mik Kersten</o:Author> + <o:LastAuthor>Mik Kersten</o:LastAuthor> + <o:Revision>2</o:Revision> + <o:TotalTime>91</o:TotalTime> + <o:LastPrinted>2002-09-06T19:46:00Z</o:LastPrinted> + <o:Created>2003-11-11T03:52:00Z</o:Created> + <o:LastSaved>2003-11-11T03:52:00Z</o:LastSaved> + <o:Pages>1</o:Pages> + <o:Words>320</o:Words> + <o:Characters>1829</o:Characters> + <o:Company>Xerox PARC</o:Company> + <o:Lines>15</o:Lines> + <o:Paragraphs>4</o:Paragraphs> + <o:CharactersWithSpaces>2145</o:CharactersWithSpaces> + <o:Version>11.5606</o:Version> + </o:DocumentProperties> +</xml><![endif]--><!--[if gte mso 9]><xml> + <w:WordDocument> + <w:ValidateAgainstSchemas/> + <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid> + <w:IgnoreMixedContent>false</w:IgnoreMixedContent> + <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText> + <w:Compatibility> + <w:BreakWrappedTables/> + <w:SnapToGridInCell/> + <w:WrapTextWithPunct/> + <w:UseAsianBreakRules/> + <w:UseWord2002TableStyleRules/> + </w:Compatibility> + <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel> + </w:WordDocument> +</xml><![endif]--><!--[if gte mso 9]><xml> + <w:LatentStyles DefLockedState="false" LatentStyleCount="156"> + </w:LatentStyles> +</xml><![endif]--> +<style> +<!-- + /* Font Definitions */ + @font-face + {font-family:Courier; + panose-1:2 7 4 9 2 2 5 2 4 4; + mso-font-alt:"Courier New"; + mso-font-charset:0; + mso-generic-font-family:modern; + mso-font-format:other; + mso-font-pitch:fixed; + mso-font-signature:3 0 0 0 1 0;} +@font-face + {font-family:Wingdings; + panose-1:5 0 0 0 0 0 0 0 0 0; + mso-font-charset:2; + mso-generic-font-family:auto; + mso-font-pitch:variable; + mso-font-signature:0 268435456 0 0 -2147483648 0;} +@font-face + {font-family:Tahoma; + panose-1:2 11 6 4 3 5 4 4 2 4; + mso-font-charset:0; + mso-generic-font-family:swiss; + mso-font-pitch:variable; + mso-font-signature:1627421319 -2147483648 8 0 66047 0;} +@font-face + {font-family:Verdana; + panose-1:2 11 6 4 3 5 4 4 2 4; + mso-font-charset:0; + mso-generic-font-family:swiss; + mso-font-pitch:variable; + mso-font-signature:536871559 0 0 0 415 0;} + /* Style Definitions */ + p.MsoNormal, li.MsoNormal, div.MsoNormal + {mso-style-parent:""; + margin:0in; + margin-bottom:.0001pt; + mso-pagination:widow-orphan; + font-size:12.0pt; + font-family:"Times New Roman"; + mso-fareast-font-family:"Times New Roman";} +p.MsoHeader, li.MsoHeader, div.MsoHeader + {margin:0in; + margin-bottom:.0001pt; + mso-pagination:widow-orphan; + tab-stops:center 3.0in right 6.0in; + font-size:12.0pt; + font-family:"Times New Roman"; + mso-fareast-font-family:"Times New Roman";} +p.MsoFooter, li.MsoFooter, div.MsoFooter + {margin:0in; + margin-bottom:.0001pt; + mso-pagination:widow-orphan; + tab-stops:center 3.0in right 6.0in; + font-size:12.0pt; + font-family:"Times New Roman"; + mso-fareast-font-family:"Times New Roman";} + /* Page Definitions */ + @page + {mso-footnote-separator:url("oopsla2002-script_files/header.html") fs; + mso-footnote-continuation-separator:url("oopsla2002-script_files/header.html") fcs; + mso-endnote-separator:url("oopsla2002-script_files/header.html") es; + mso-endnote-continuation-separator:url("oopsla2002-script_files/header.html") ecs;} +@page Section1 + {size:8.5in 11.0in; + margin:.5in 1.25in .5in 1.25in; + mso-header-margin:.2in; + mso-footer-margin:.2in; + mso-header:url("oopsla2002-script_files/header.html") h1; + mso-paper-source:0;} +div.Section1 + {page:Section1;} + /* List Definitions */ + @list l0 + {mso-list-id:68115525; + mso-list-type:hybrid; + mso-list-template-ids:858938398 1703206876 -2139089146 -2064071216 1691643238 1804361448 1106935208 795498688 1114022646 513440110;} +@list l0:level1 + {mso-level-number-format:bullet; + mso-level-text:•; + mso-level-tab-stop:.5in; + mso-level-number-position:left; + text-indent:-.25in; + font-family:"Times New Roman";} +@list l1 + {mso-list-id:149487999; + mso-list-type:hybrid; + mso-list-template-ids:996163290 67698689 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;} +@list l1:level1 + {mso-level-number-format:bullet; + mso-level-text:\F0B7; + mso-level-tab-stop:40.5pt; + mso-level-number-position:left; + margin-left:40.5pt; + text-indent:-.25in; + font-family:Symbol;} +@list l2 + {mso-list-id:285232438; + mso-list-type:hybrid; + mso-list-template-ids:-1431031654 -726899658 -63553996 -873671648 -1949522634 -2029475690 883689166 1438958244 -911152764 -143889788;} +@list l2:level1 + {mso-level-number-format:bullet; + mso-level-text:•; + mso-level-tab-stop:.5in; + mso-level-number-position:left; + text-indent:-.25in; + font-family:"Times New Roman";} +@list l3 + {mso-list-id:666597725; + mso-list-type:hybrid; + mso-list-template-ids:1496319566 67698689 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;} +@list l3:level1 + {mso-level-number-format:bullet; + mso-level-text:\F0B7; + mso-level-tab-stop:40.5pt; + mso-level-number-position:left; + margin-left:40.5pt; + text-indent:-.25in; + font-family:Symbol;} +@list l4 + {mso-list-id:829760420; + mso-list-type:hybrid; + mso-list-template-ids:697599534 737209016 718337656 126128176 699144238 -186582856 2015656828 -573567698 -98694796 -102872622;} +@list l4:level1 + {mso-level-number-format:bullet; + mso-level-text:•; + mso-level-tab-stop:.5in; + mso-level-number-position:left; + text-indent:-.25in; + font-family:"Times New Roman";} +@list l5 + {mso-list-id:1175682958; + mso-list-type:hybrid; + mso-list-template-ids:-1913763548 1683933168 -207477172 -1896716198 -1685027206 1819944446 78184194 2140690680 2113166228 -1703233950;} +@list l5:level1 + {mso-level-number-format:bullet; + mso-level-text:•; + mso-level-tab-stop:.5in; + mso-level-number-position:left; + text-indent:-.25in; + font-family:"Times New Roman";} +@list l6 + {mso-list-id:1372803880; + mso-list-type:hybrid; + mso-list-template-ids:-1464406574 67698689 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;} +@list l6:level1 + {mso-level-number-format:bullet; + mso-level-text:\F0B7; + mso-level-tab-stop:40.5pt; + mso-level-number-position:left; + margin-left:40.5pt; + text-indent:-.25in; + font-family:Symbol;} +@list l7 + {mso-list-id:1447773079; + mso-list-type:hybrid; + mso-list-template-ids:-1699440192 67698689 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;} +@list l7:level1 + {mso-level-number-format:bullet; + mso-level-text:\F0B7; + mso-level-tab-stop:.5in; + mso-level-number-position:left; + text-indent:-.25in; + font-family:Symbol;} +@list l8 + {mso-list-id:1451361852; + mso-list-type:hybrid; + mso-list-template-ids:-1759205440 67698689 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;} +@list l8:level1 + {mso-level-number-format:bullet; + mso-level-text:\F0B7; + mso-level-tab-stop:40.5pt; + mso-level-number-position:left; + margin-left:40.5pt; + text-indent:-.25in; + font-family:Symbol;} +@list l9 + {mso-list-id:1524708695; + mso-list-type:hybrid; + mso-list-template-ids:343073212 67698689 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;} +@list l9:level1 + {mso-level-number-format:bullet; + mso-level-text:\F0B7; + mso-level-tab-stop:.5in; + mso-level-number-position:left; + text-indent:-.25in; + font-family:Symbol;} +@list l10 + {mso-list-id:1659534521; + mso-list-type:hybrid; + mso-list-template-ids:291794924 67698689 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;} +@list l10:level1 + {mso-level-number-format:bullet; + mso-level-text:\F0B7; + mso-level-tab-stop:40.5pt; + mso-level-number-position:left; + margin-left:40.5pt; + text-indent:-.25in; + font-family:Symbol;} +@list l11 + {mso-list-id:1796213947; + mso-list-type:hybrid; + mso-list-template-ids:286165626 -348468910 -768843216 1184416038 1188434802 1919294230 -1935737384 -448084024 -1107797042 -1968251254;} +@list l11:level1 + {mso-level-number-format:bullet; + mso-level-text:•; + mso-level-tab-stop:.5in; + mso-level-number-position:left; + text-indent:-.25in; + font-family:"Times New Roman";} +@list l12 + {mso-list-id:1823081790; + mso-list-type:hybrid; + mso-list-template-ids:-1570481774 -1554755134 -381011836 -1997633904 -940664112 -1372821974 -923489310 2081716164 235678500 2136529842;} +@list l12:level1 + {mso-level-number-format:bullet; + mso-level-text:•; + mso-level-tab-stop:.5in; + mso-level-number-position:left; + text-indent:-.25in; + font-family:"Times New Roman";} +ol + {margin-bottom:0in;} +ul + {margin-bottom:0in;} +--> +</style> +<!--[if gte mso 10]> +<style> + /* Style Definitions */ + table.MsoNormalTable + {mso-style-name:"Table Normal"; + mso-tstyle-rowband-size:0; + mso-tstyle-colband-size:0; + mso-style-noshow:yes; + mso-style-parent:""; + mso-padding-alt:0in 5.4pt 0in 5.4pt; + mso-para-margin:0in; + mso-para-margin-bottom:.0001pt; + mso-pagination:widow-orphan; + font-size:10.0pt; + font-family:"Times New Roman"; + mso-ansi-language:#0400; + mso-fareast-language:#0400; + mso-bidi-language:#0400;} +</style> +<![endif]--> +</head> + +<body lang=EN-US style='tab-interval:.5in'> + +<div class=Section1> + +<div align=center> + +<table class=MsoNormalTable border=0 cellspacing=3 cellpadding=0 width=709 + style='width:531.65pt;mso-cellspacing:2.2pt;margin-left:-7.95pt;mso-padding-alt: + 1.5pt 1.5pt 1.5pt 1.5pt'> + <tr style='mso-yfti-irow:0;mso-yfti-firstrow:yes;height:14.3pt'> + <td width=703 colspan=3 style='width:527.25pt;background:#C8CEDC;padding: + 1.5pt 1.5pt 1.5pt 1.5pt;height:14.3pt'> + <p class=MsoNormal align=center style='mso-margin-top-alt:auto;margin-right: + 7.5pt;mso-margin-bottom-alt:auto;margin-left:4.5pt;text-align:center; + line-height:130%'><b><span style='font-size:8.5pt;line-height:130%; + font-family:Verdana;color:#383E4C'>demo: object-oriented IDE</span></b><span + style='font-size:8.5pt;line-height:130%;font-family:Verdana'><o:p></o:p></span></p> + </td> + </tr> + <tr style='mso-yfti-irow:1;height:33.45pt'> + <td width=703 colspan=3 style='width:527.25pt;background:#F7F7F7;padding: + 1.5pt 1.5pt 1.5pt 1.5pt;height:33.45pt'> + <ul style='margin-top:0in' type=disc> + <li class=MsoNormal style='mso-list:l9 level1 lfo7;tab-stops:list .5in'><span + style='font-size:10.0pt;font-family:Tahoma'>good at showing hierarchical + OO structure…<o:p></o:p></span></li> + </ul> + </td> + </tr> + <tr style='mso-yfti-irow:2;height:10.45pt'> + <td width=703 colspan=3 style='width:527.25pt;background:#C8CEDC;padding: + 1.5pt 1.5pt 1.5pt 1.5pt;height:10.45pt'> + <p class=MsoNormal align=center style='mso-margin-top-alt:auto;margin-right: + 7.5pt;mso-margin-bottom-alt:auto;margin-left:4.5pt;text-align:center; + line-height:130%'><b><span style='font-size:8.5pt;line-height:130%; + font-family:Verdana;color:#383E4C'>demo: modularize concern</span></b><span + style='font-size:8.5pt;line-height:130%;font-family:Verdana'><o:p></o:p></span></p> + </td> + </tr> + <tr style='mso-yfti-irow:3;height:33.45pt'> + <td width=253 style='width:189.7pt;background:#F7F7F7;padding:1.5pt 1.5pt 1.5pt 1.5pt; + height:33.45pt'> + <p class=MsoNormal style='margin-left:40.5pt;text-indent:-.25in;mso-list: + l8 level1 lfo8;tab-stops:list 40.5pt'><![if !supportLists]><span + style='font-size:10.0pt;font-family:Symbol;mso-fareast-font-family:Symbol; + mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span + style='font:7.0pt "Times New Roman"'> + </span></span></span><![endif]><span style='font-size:10.0pt;font-family: + Tahoma'>Show FigureEd running<o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:40.5pt;text-indent:-.25in;mso-list: + l8 level1 lfo8;tab-stops:list 40.5pt'><![if !supportLists]><span + style='font-size:10.0pt;font-family:Symbol;mso-fareast-font-family:Symbol; + mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span + style='font:7.0pt "Times New Roman"'> + </span></span></span><![endif]><span style='font-size:10.0pt;font-family: + Tahoma'>Inspect Point.java<o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:40.5pt;text-indent:-.25in;mso-list: + l8 level1 lfo8;tab-stops:list 40.5pt'><![if !supportLists]><span + style='font-size:10.0pt;font-family:Symbol;mso-fareast-font-family:Symbol; + mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span + style='font:7.0pt "Times New Roman"'> + </span></span></span><![endif]><span style='font-size:10.0pt;font-family: + Tahoma'>Use joinpoint probe to find<o:p></o:p></span></p> + </td> + <td width=447 colspan=2 style='width:335.35pt;background:#F7F7F7;padding: + 1.5pt 1.5pt 1.5pt 1.5pt;height:33.45pt'> + <p class=MsoNormal style='margin-left:7.5pt'><span style='font-family:Courier; + mso-bidi-font-family:Tahoma'>call(void figures.Canvas.updateHistory()) + && within(*)<o:p></o:p></span></p> + </td> + </tr> + <tr style='mso-yfti-irow:4;height:33.45pt'> + <td width=253 style='width:189.7pt;background:#F7F7F7;padding:1.5pt 1.5pt 1.5pt 1.5pt; + height:33.45pt'> + <p class=MsoNormal style='margin-left:40.5pt;text-indent:-.25in;mso-list: + l1 level1 lfo9;tab-stops:list 40.5pt'><![if !supportLists]><span + style='font-size:10.0pt;font-family:Symbol;mso-fareast-font-family:Symbol; + mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span + style='font:7.0pt "Times New Roman"'> + </span></span></span><![endif]><span style='font-size:10.0pt;font-family: + Tahoma'>Describe places that it’s called<o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:40.5pt;text-indent:-.25in;mso-list: + l1 level1 lfo9;tab-stops:list 40.5pt'><![if !supportLists]><span + style='font-size:10.0pt;font-family:Symbol;mso-fareast-font-family:Symbol; + mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span + style='font:7.0pt "Times New Roman"'> + </span></span></span><![endif]><span style='font-size:10.0pt;font-family: + Tahoma'>create aspect (defines a special class that can crosscut other + classes)<o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:40.5pt;text-indent:-.25in;mso-list: + l1 level1 lfo9;tab-stops:list 40.5pt'><![if !supportLists]><span + style='font-size:10.0pt;font-family:Symbol;mso-fareast-font-family:Symbol; + mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span + style='font:7.0pt "Times New Roman"'> + </span></span></span><![endif]><span style='font-size:10.0pt;font-family: + Tahoma'>aspect HistoryUpdating <o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:40.5pt;text-indent:-.25in;mso-list: + l1 level1 lfo9;tab-stops:list 40.5pt'><![if !supportLists]><span + style='font-size:10.0pt;font-family:Symbol;mso-fareast-font-family:Symbol; + mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span + style='font:7.0pt "Times New Roman"'> + </span></span></span><![endif]><span style='font-size:10.0pt;font-family: + Tahoma'>write pointcut (has name and parameters)<o:p></o:p></span></p> + </td> + <td width=447 colspan=2 style='width:335.35pt;background:#F7F7F7;padding: + 1.5pt 1.5pt 1.5pt 1.5pt;height:33.45pt'> + <p class=MsoNormal style='margin-left:7.5pt'><span style='font-family:Courier; + mso-bidi-font-family:Tahoma'>pointcut moves(): <o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:7.5pt'><span style='font-family:Courier; + mso-bidi-font-family:Tahoma'><span style='mso-tab-count:1'> </span>call(void + Line.setP1(Point)) || <o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:7.5pt'><span style='font-family:Courier; + mso-bidi-font-family:Tahoma'><span style='mso-tab-count:1'> </span>call(void + Line.setP2(Point));<o:p></o:p></span></p> + </td> + </tr> + <tr style='mso-yfti-irow:5;height:33.45pt'> + <td width=253 style='width:189.7pt;background:#F7F7F7;padding:1.5pt 1.5pt 1.5pt 1.5pt; + height:33.45pt'> + <p class=MsoNormal style='margin-left:40.5pt;text-indent:-.25in;mso-list: + l6 level1 lfo10;tab-stops:list 40.5pt'><![if !supportLists]><span + style='font-size:10.0pt;font-family:Symbol;mso-fareast-font-family:Symbol; + mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span + style='font:7.0pt "Times New Roman"'> + </span></span></span><![endif]><span style='font-size:10.0pt;font-family: + Tahoma'>write after advice (runs “on the way back out”)<o:p></o:p></span></p> + </td> + <td width=447 colspan=2 style='width:335.35pt;background:#F7F7F7;padding: + 1.5pt 1.5pt 1.5pt 1.5pt;height:33.45pt'> + <p class=MsoNormal style='margin-left:7.5pt'><span style='font-family:Courier; + mso-bidi-font-family:Tahoma'>after() returning: move() { <br> + <span style='mso-spacerun:yes'> </span><runs after each move> }<o:p></o:p></span></p> + </td> + </tr> + <tr style='mso-yfti-irow:6;height:33.45pt'> + <td width=253 style='width:189.7pt;background:#F7F7F7;padding:1.5pt 1.5pt 1.5pt 1.5pt; + height:33.45pt'> + <p class=MsoNormal style='margin-left:40.5pt;text-indent:-.25in;mso-list: + l6 level1 lfo10;tab-stops:list 40.5pt'><![if !supportLists]><span + style='font-size:10.0pt;font-family:Symbol;mso-fareast-font-family:Symbol; + mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span + style='font:7.0pt "Times New Roman"'> + </span></span></span><![endif]><span style='font-size:10.0pt;font-family: + Tahoma'>extend advice to Point setters (multi-class)<o:p></o:p></span></p> + </td> + <td width=447 colspan=2 style='width:335.35pt;background:#F7F7F7;padding: + 1.5pt 1.5pt 1.5pt 1.5pt;height:33.45pt'> + <p class=MsoNormal style='margin-left:7.5pt'><span style='font-family:Courier; + mso-bidi-font-family:Tahoma'>call(void FigureElement+.set*(..))<o:p></o:p></span></p> + </td> + </tr> + <tr style='mso-yfti-irow:7;height:33.45pt'> + <td width=253 style='width:189.7pt;background:#F7F7F7;padding:1.5pt 1.5pt 1.5pt 1.5pt; + height:33.45pt'> + <p class=MsoNormal style='margin-left:40.5pt;text-indent:-.25in;mso-list: + l6 level1 lfo10;tab-stops:list 40.5pt'><![if !supportLists]><span + style='font-size:10.0pt;font-family:Symbol;mso-fareast-font-family:Symbol; + mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span + style='font:7.0pt "Times New Roman"'> + </span></span></span><![endif]><span style='font-size:10.0pt;font-family: + Tahoma'>capture context & use interface<o:p></o:p></span></p> + </td> + <td width=447 colspan=2 style='width:335.35pt;background:#F7F7F7;padding: + 1.5pt 1.5pt 1.5pt 1.5pt;height:33.45pt'> + <p class=MsoNormal style='margin-left:7.5pt'><span style='font-family:Courier; + mso-bidi-font-family:Tahoma'>move(FigureElement fe): target(fe) &&..<o:p></o:p></span></p> + </td> + </tr> + <tr style='mso-yfti-irow:8;height:33.45pt'> + <td width=253 style='width:189.7pt;background:#F7F7F7;padding:1.5pt 1.5pt 1.5pt 1.5pt; + height:33.45pt'> + <p class=MsoNormal style='margin-left:40.5pt;text-indent:-.25in;mso-list: + l6 level1 lfo10;tab-stops:list 40.5pt'><![if !supportLists]><span + style='font-size:10.0pt;font-family:Symbol;mso-fareast-font-family:Symbol; + mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span + style='font:7.0pt "Times New Roman"'> + </span></span></span><![endif]><span style='font-size:10.0pt;font-family: + Tahoma'>Show structure, note that SlothfulPoint is now included<o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:40.5pt;text-indent:-.25in;mso-list: + l6 level1 lfo10;tab-stops:list 40.5pt'><![if !supportLists]><span + style='font-size:10.0pt;font-family:Symbol;mso-fareast-font-family:Symbol; + mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span + style='font:7.0pt "Times New Roman"'> + </span></span></span><![endif]><span style='font-size:10.0pt;font-family: + Tahoma'>Run & show effect<o:p></o:p></span></p> + </td> + <td width=447 colspan=2 style='width:335.35pt;background:#F7F7F7;padding: + 1.5pt 1.5pt 1.5pt 1.5pt;height:33.45pt'> + <p class=MsoNormal style='margin-left:7.5pt'><span style='font-family:Courier; + mso-bidi-font-family:Tahoma'><o:p> </o:p></span></p> + </td> + </tr> + <tr style='mso-yfti-irow:9;height:33.45pt'> + <td width=253 style='width:189.7pt;background:#F7F7F7;padding:1.5pt 1.5pt 1.5pt 1.5pt; + height:33.45pt'> + <p class=MsoNormal style='margin-left:40.5pt;text-indent:-.25in;mso-list: + l6 level1 lfo10;tab-stops:list 40.5pt'><![if !supportLists]><span + style='font-size:10.0pt;font-family:Symbol;mso-fareast-font-family:Symbol; + mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span + style='font:7.0pt "Times New Roman"'> + </span></span></span><![endif]><span style='font-size:10.0pt;font-family: + Tahoma'>Show Point.moveBy history violoation<o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:40.5pt;text-indent:-.25in;mso-list: + l6 level1 lfo10;tab-stops:list 40.5pt'><![if !supportLists]><span + style='font-size:10.0pt;font-family:Symbol;mso-fareast-font-family:Symbol; + mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span + style='font:7.0pt "Times New Roman"'> + </span></span></span><![endif]><span style='font-size:10.0pt;font-family: + Tahoma'>Want to make sure that sets of private fields of classes implementing + FigureElement only happen from within the set methods<b style='mso-bidi-font-weight: + normal'><o:p></o:p></b></span></p> + </td> + <td width=447 colspan=2 style='width:335.35pt;background:#F7F7F7;padding: + 1.5pt 1.5pt 1.5pt 1.5pt;height:33.45pt'> + <p class=MsoNormal style='margin-left:7.5pt'><span style='font-family:Courier; + mso-bidi-font-family:Tahoma'>declare warning: <o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:7.5pt'><span style='font-family:Courier; + mso-bidi-font-family:Tahoma'><span style='mso-spacerun:yes'> + </span>set(private * FigureElement+.*) <o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:7.5pt'><span style='font-family:Courier; + mso-bidi-font-family:Tahoma'><span style='mso-spacerun:yes'> + </span>&& !(withincode(* FigureElement+.set*(..)) || <span + style='mso-tab-count:1'> </span><span style='mso-spacerun:yes'> </span><span + style='mso-tab-count:2'> </span><span + style='mso-spacerun:yes'> </span>withincode(FigureElement+.new(..))):<o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:7.5pt'><span style='font-family:Courier; + mso-bidi-font-family:Tahoma'><span style='mso-spacerun:yes'> + </span>"should only assign to fields from set methods";<o:p></o:p></span></p> + </td> + </tr> + <tr style='mso-yfti-irow:10;height:33.45pt'> + <td width=253 style='width:189.7pt;background:#F7F7F7;padding:1.5pt 1.5pt 1.5pt 1.5pt; + height:33.45pt'> + <p class=MsoNormal style='margin-left:40.5pt;text-indent:-.25in;mso-list: + l3 level1 lfo13;tab-stops:list 40.5pt'><![if !supportLists]><span + style='font-size:10.0pt;font-family:Symbol;mso-fareast-font-family:Symbol; + mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span + style='font:7.0pt "Times New Roman"'> + </span></span></span><![endif]><span style='font-size:10.0pt;font-family: + Tahoma'>Write before advice that does precondition checking on Points.<o:p></o:p></span></p> + </td> + <td width=447 colspan=2 style='width:335.35pt;background:#F7F7F7;padding: + 1.5pt 1.5pt 1.5pt 1.5pt;height:33.45pt'> + <p class=MsoNormal style='margin-left:7.5pt'><span style='font-family:"Courier New"'>before(int + newValue): <br> + <span style='mso-spacerun:yes'> </span>set(int Point.*) && + args(newValue) {<br> + if (newValue < 0) {<br> + throw new IAE("too + small");<br> + } <br> + }</span><span style='font-size:10.0pt;font-family:Tahoma'><o:p></o:p></span></p> + </td> + </tr> + <tr style='mso-yfti-irow:11;height:15.85pt'> + <td width=703 colspan=3 style='width:527.25pt;background:#C8CEDC;padding: + 1.5pt 1.5pt 1.5pt 1.5pt;height:15.85pt'> + <p class=MsoNormal align=center style='mso-margin-top-alt:auto;margin-right: + 7.5pt;mso-margin-bottom-alt:auto;margin-left:4.5pt;text-align:center; + line-height:130%'><b><span style='font-size:8.5pt;line-height:130%; + font-family:Verdana;color:#383E4C'>demo: pluggable aspects</span></b><span + style='font-size:8.5pt;line-height:130%;font-family:Verdana'><o:p></o:p></span></p> + </td> + </tr> + <tr style='mso-yfti-irow:12;height:33.45pt'> + <td width=350 colspan=2 style='width:262.5pt;background:#F7F7F7;padding:1.5pt 1.5pt 1.5pt 1.5pt; + height:33.45pt'> + <p class=MsoNormal style='margin-left:40.5pt;text-indent:-.25in;mso-list: + l10 level1 lfo12;tab-stops:list 40.5pt'><![if !supportLists]><span + style='font-size:10.0pt;font-family:Symbol;mso-fareast-font-family:Symbol; + mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span + style='font:7.0pt "Times New Roman"'> + </span></span></span><![endif]><span style='font-size:10.0pt;font-family: + Tahoma'>World’s first fully interactive video game, now 41 years old..<o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:40.5pt;text-indent:-.25in;mso-list: + l10 level1 lfo12;tab-stops:list 40.5pt'><![if !supportLists]><span + style='font-size:10.0pt;font-family:Symbol;mso-fareast-font-family:Symbol; + mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span + style='font:7.0pt "Times New Roman"'> + </span></span></span><![endif]><span style='font-size:10.0pt;font-family: + Tahoma'>Explain spacewar <o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:40.5pt;text-indent:-.25in;mso-list: + l10 level1 lfo12;tab-stops:list 40.5pt'><![if !supportLists]><span + style='font-size:10.0pt;font-family:Symbol;mso-fareast-font-family:Symbol; + mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span + style='font:7.0pt "Times New Roman"'> + </span></span></span><![endif]><span style='font-size:10.0pt;font-family: + Tahoma'>Launch with Ship.java and "Release.lst" selected and compiled.<span + style='mso-spacerun:yes'> </span><o:p></o:p></span></p> + </td> + <td width=350 style='width:262.55pt;background:#F7F7F7;padding:1.5pt 1.5pt 1.5pt 1.5pt; + height:33.45pt'> + <ul style='margin-top:0in' type=disc> + <li class=MsoNormal style='mso-list:l7 level1 lfo11;tab-stops:list .5in'><span + style='font-size:10.0pt;font-family:Tahoma'>Run <o:p></o:p></span></li> + <li class=MsoNormal style='mso-list:l7 level1 lfo11;tab-stops:list .5in'><span + style='font-size:10.0pt;font-family:Tahoma'>Show debug configuration in + config designer<o:p></o:p></span></li> + <li class=MsoNormal style='mso-list:l7 level1 lfo11;tab-stops:list .5in'><span + style='font-size:10.0pt;font-family:Tahoma'>Select + "Debug.lst", compile, and run again <o:p></o:p></span></li> + <li class=MsoNormal style='mso-list:l7 level1 lfo11;tab-stops:list .5in'><span + style='font-size:10.0pt;font-family:Tahoma'>Show debug window, menu, and + method tracing<o:p></o:p></span></li> + </ul> + </td> + </tr> + <tr style='mso-yfti-irow:13;height:13.15pt'> + <td width=703 colspan=3 style='width:527.25pt;background:#C8CEDC;padding: + 1.5pt 1.5pt 1.5pt 1.5pt;height:13.15pt'> + <p class=MsoNormal align=center style='mso-margin-top-alt:auto;margin-right: + 7.5pt;mso-margin-bottom-alt:auto;margin-left:4.5pt;text-align:center; + line-height:130%'><b><span style='font-size:8.5pt;line-height:130%; + font-family:Verdana;color:#383E4C'>demo: crosscutting structure</span></b><span + style='font-size:8.5pt;line-height:130%;font-family:Verdana'><o:p></o:p></span></p> + </td> + </tr> + <tr style='mso-yfti-irow:14;mso-yfti-lastrow:yes;height:33.45pt'> + <td width=350 colspan=2 style='width:262.5pt;background:#F7F7F7;padding:1.5pt 1.5pt 1.5pt 1.5pt; + height:33.45pt'> + <p class=MsoNormal style='margin-left:4.5pt'><span style='font-size:10.0pt; + font-family:Tahoma'>•<span style='mso-tab-count:1'> </span>Explain + annotations over program structure<o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:4.5pt'><span style='font-size:10.0pt; + font-family:Tahoma'>•<span style='mso-tab-count:1'> </span>Explain + links and associations, inheritance links<o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:4.5pt'><span style='font-size:10.0pt; + font-family:Tahoma'>•<span style='mso-tab-count:1'> </span>Explain + model genericity, different views<o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:4.5pt'><span style='font-size:10.0pt; + font-family:Tahoma'>•<span style='mso-tab-count:1'> </span>Show + inline annotations<o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:4.5pt'><span style='font-size:10.0pt; + font-family:Tahoma'>•<span style='mso-tab-count:1'> </span>Show + history navigation<o:p></o:p></span></p> + </td> + <td width=350 style='width:262.55pt;background:#F7F7F7;padding:1.5pt 1.5pt 1.5pt 1.5pt; + height:33.45pt'> + <p class=MsoNormal style='margin-left:4.5pt'><span style='font-size:10.0pt; + font-family:Tahoma'>•<span style='mso-tab-count:1'> </span>Show + global views (multiple views of your code)<o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:4.5pt'><span style='font-size:10.0pt; + font-family:Tahoma'>•<span style='mso-tab-count:1'> </span>Show + refactoring by changing helmCommandsCut<o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:4.5pt'><span style='font-size:10.0pt; + font-family:Tahoma'>•<span style='mso-tab-count:1'> </span>Show view + synchronization, task-oriented views<o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:4.5pt'><span style='font-size:10.0pt; + font-family:Tahoma'>•<span style='mso-tab-count:1'> </span>Discuss + how it is harder in AJ (implicit invocation)<o:p></o:p></span></p> + <p class=MsoNormal><span style='font-size:10.0pt;font-family:Tahoma'><span + style='mso-spacerun:yes'> </span>•<span style='mso-tab-count:1'> </span>Show + fluid documents (ISTL project)<o:p></o:p></span></p> + </td> + </tr> + <![if !supportMisalignedColumns]> + <tr height=0> + <td width=257 style='border:none'></td> + <td width=97 style='border:none'></td> + <td width=354 style='border:none'></td> + </tr> + <![endif]> +</table> + +</div> + +<p class=MsoNormal style='margin-right:-45.0pt'><o:p> </o:p></p> + +</div> + +</body> + +</html> |