diff options
Diffstat (limited to 'docs/teaching/demos/oopsla2002-script.html')
-rw-r--r-- | docs/teaching/demos/oopsla2002-script.html | 671 |
1 files changed, 671 insertions, 0 deletions
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> |