%!PS-Adobe-1.0 %%Creator: hitchcock:kohl (James Arthur Kohl) %%Title: stdin (ditroff) %%CreationDate: Wed Mar 23 13:20:56 1994 %%EndComments % lib/psdit.pro -- prolog for psdit (ditroff) files % Copyright (c) 1984, 1985 Adobe Systems Incorporated. All Rights Reserved. % last edit: shore Sat Nov 23 20:28:03 1985 % RCSID: %Header: psdit.pro,v 2.1 85/11/24 12:19:43 shore Rel % % Psfig RCSID $Header: psdit.pro,v 1.5 88/01/04 17:48:22 trevor Exp $ /$DITroff 180 dict def $DITroff begin /DocumentInitState [ matrix currentmatrix currentlinewidth currentlinecap currentlinejoin currentdash currentgray currentmiterlimit ] cvx def %% Psfig additions /startFig { /SavedState save def userdict maxlength dict begin currentpoint transform DocumentInitState setmiterlimit setgray setdash setlinejoin setlinecap setlinewidth setmatrix itransform moveto /ury exch def /urx exch def /lly exch def /llx exch def /y exch 72 mul resolution div def /x exch 72 mul resolution div def currentpoint /cy exch def /cx exch def /sx x urx llx sub div def % scaling for x /sy y ury lly sub div def % scaling for y sx sy scale % scale by (sx,sy) cx sx div llx sub cy sy div ury sub translate /DefFigCTM matrix currentmatrix def /initmatrix { DefFigCTM setmatrix } def /defaultmatrix { DefFigCTM exch copy } def /initgraphics { DocumentInitState setmiterlimit setgray setdash setlinejoin setlinecap setlinewidth setmatrix DefFigCTM setmatrix } def /showpage { initgraphics } def } def % Args are llx lly urx ury (in figure coordinates) /clipFig { currentpoint 6 2 roll newpath 4 copy 4 2 roll moveto 6 -1 roll exch lineto exch lineto exch lineto closepath clip newpath moveto } def % doclip, if called, will always be just after a `startfig' /doclip { llx lly urx ury clipFig } def /endFig { end SavedState restore } def /globalstart { % Push details about the enviornment on the stack. fontnum fontsize fontslant fontheight % firstpage mh my resolution slotno currentpoint pagesave restore gsave } def /globalend { grestore moveto /slotno exch def /resolution exch def /my exch def /mh exch def % /firstpage exch def /fontheight exch def /fontslant exch def /fontsize exch def /fontnum exch def F /pagesave save def } def %% end XMOD additions /fontnum 1 def /fontsize 10 def /fontheight 10 def /fontslant 0 def /xi {0 72 11 mul translate 72 resolution div dup neg scale 0 0 moveto /fontnum 1 def /fontsize 10 def /fontheight 10 def /fontslant 0 def F /pagesave save def}def /xiL {72 8.25 mul 72 11 mul translate -90 rotate 72 resolution div dup neg scale 0 0 moveto /fontnum 1 def /fontsize 10 def /fontheight 10 def /fontslant 0 def F /pagesave save def}def /PB{save /psv exch def currentpoint translate resolution 72 div dup neg scale 0 0 moveto}def /PE{psv restore}def /arctoobig 90 def /arctoosmall .05 def /m1 matrix def /m2 matrix def /m3 matrix def /oldmat matrix def /tan{dup sin exch cos div}def /point{resolution 72 div mul}def /dround {transform round exch round exch itransform}def /xT{/devname exch def}def /xr{/mh exch def /my exch def /resolution exch def}def /xp{}def /xs{docsave restore end}def /xt{}def /xf{/fontname exch def /slotno exch def fontnames slotno get fontname eq not {fonts slotno fontname findfont put fontnames slotno fontname put}if}def /xH{/fontheight exch def F}def /xS{/fontslant exch def F}def /s{/fontsize exch def /fontheight fontsize def F}def /f{/fontnum exch def F}def /F{fontheight 0 le {/fontheight fontsize def}if fonts fontnum get fontsize point 0 0 fontheight point neg 0 0 m1 astore fontslant 0 ne{1 0 fontslant tan 1 0 0 m2 astore m3 concatmatrix}if makefont setfont .04 fontsize point mul 0 dround pop setlinewidth}def /X{exch currentpoint exch pop moveto show}def /N{3 1 roll moveto show}def /Y{exch currentpoint pop exch moveto show}def /S{show}def /ditpush{}def/ditpop{}def /AX{3 -1 roll currentpoint exch pop moveto 0 exch ashow}def /AN{4 2 roll moveto 0 exch ashow}def /AY{3 -1 roll currentpoint pop exch moveto 0 exch ashow}def /AS{0 exch ashow}def /MX{currentpoint exch pop moveto}def /MY{currentpoint pop exch moveto}def /MXY{moveto}def /cb{pop}def % action on unknown char -- nothing for now /n{}def/w{}def /p{pop showpage pagesave restore /pagesave save def}def % Manual Feed Definitions /SetStTime{statusdict /manualfeedtimeout 120 put} def /SetStatus{statusdict /manualfeed true put statusdict /product get (LaserWriter) eq {version (23.0) eq % Don't redefine the show page if printer is not "Classic LW" {/p { {statusdict /printerstatus get exec 16#22000000 and 0 eq{exit}if}loop pop showpage pagesave restore /pagesave save def}def}if }if}def /abspoint{currentpoint exch pop add exch currentpoint pop add exch}def /distance{dup mul exch dup mul add sqrt}def /dstroke{currentpoint stroke moveto}def /Dl{2 copy gsave rlineto stroke grestore rmoveto}def /arcellipse{/diamv exch def /diamh exch def oldmat currentmatrix pop currentpoint translate 1 diamv diamh div scale /rad diamh 2 div def currentpoint exch rad add exch rad -180 180 arc oldmat setmatrix}def /Dc{dup arcellipse dstroke}def /De{arcellipse dstroke}def /Da{/endv exch def /endh exch def /centerv exch def /centerh exch def /cradius centerv centerv mul centerh centerh mul add sqrt def /eradius endv endv mul endh endh mul add sqrt def /endang endv endh atan def /startang centerv neg centerh neg atan def /sweep startang endang sub dup 0 lt{360 add}if def sweep arctoobig gt {/midang startang sweep 2 div sub def /midrad cradius eradius add 2 div def /midh midang cos midrad mul def /midv midang sin midrad mul def midh neg midv neg endh endv centerh centerv midh midv Da currentpoint moveto Da} {sweep arctoosmall ge {/controldelt 1 sweep 2 div cos sub 3 sweep 2 div sin mul div 4 mul def centerv neg controldelt mul centerh controldelt mul endv neg controldelt mul centerh add endh add endh controldelt mul centerv add endv add centerh endh add centerv endv add rcurveto dstroke} {centerh endh add centerv endv add rlineto dstroke}ifelse}ifelse}def /Barray 200 array def % 200 values in a wiggle /D~{mark}def /D~~{counttomark Barray exch 0 exch getinterval astore /Bcontrol exch def pop /Blen Bcontrol length def Blen 4 ge Blen 2 mod 0 eq and {Bcontrol 0 get Bcontrol 1 get abspoint /Ycont exch def /Xcont exch def Bcontrol 0 2 copy get 2 mul put Bcontrol 1 2 copy get 2 mul put Bcontrol Blen 2 sub 2 copy get 2 mul put Bcontrol Blen 1 sub 2 copy get 2 mul put /Ybi /Xbi currentpoint 3 1 roll def def 0 2 Blen 4 sub {/i exch def Bcontrol i get 3 div Bcontrol i 1 add get 3 div Bcontrol i get 3 mul Bcontrol i 2 add get add 6 div Bcontrol i 1 add get 3 mul Bcontrol i 3 add get add 6 div /Xbi Xcont Bcontrol i 2 add get 2 div add def /Ybi Ycont Bcontrol i 3 add get 2 div add def /Xcont Xcont Bcontrol i 2 add get add def /Ycont Ycont Bcontrol i 3 add get add def Xbi currentpoint pop sub Ybi currentpoint exch pop sub rcurveto }for dstroke}if}def end /ditstart{$DITroff begin /nfonts 60 def % NFONTS makedev/ditroff dependent! /fonts[nfonts{0}repeat]def /fontnames[nfonts{()}repeat]def /docsave save def }def % character outcalls /oc {/pswid exch def /cc exch def /name exch def /ditwid pswid fontsize mul resolution mul 72000 div def /ditsiz fontsize resolution mul 72 div def ocprocs name known{ocprocs name get exec}{name cb} ifelse}def /fractm [.65 0 0 .6 0 0] def /fraction {/fden exch def /fnum exch def gsave /cf currentfont def cf fractm makefont setfont 0 .3 dm 2 copy neg rmoveto fnum show rmoveto currentfont cf setfont(\244)show setfont fden show grestore ditwid 0 rmoveto} def /oce {grestore ditwid 0 rmoveto}def /dm {ditsiz mul}def /ocprocs 50 dict def ocprocs begin (14){(1)(4)fraction}def (12){(1)(2)fraction}def (34){(3)(4)fraction}def (13){(1)(3)fraction}def (23){(2)(3)fraction}def (18){(1)(8)fraction}def (38){(3)(8)fraction}def (58){(5)(8)fraction}def (78){(7)(8)fraction}def (sr){gsave 0 .06 dm rmoveto(\326)show oce}def (is){gsave 0 .15 dm rmoveto(\362)show oce}def (->){gsave 0 .02 dm rmoveto(\256)show oce}def (<-){gsave 0 .02 dm rmoveto(\254)show oce}def (==){gsave 0 .05 dm rmoveto(\272)show oce}def end % an attempt at a PostScript FONT to implement ditroff special chars % this will enable us to % cache the little buggers % generate faster, more compact PS out of psdit % confuse everyone (including myself)! 50 dict dup begin /FontType 3 def /FontName /DIThacks def /FontMatrix [.001 0 0 .001 0 0] def /FontBBox [-260 -260 900 900] def% a lie but ... /Encoding 256 array def 0 1 255{Encoding exch /.notdef put}for Encoding dup 8#040/space put %space dup 8#110/rc put %right ceil dup 8#111/lt put %left top curl dup 8#112/bv put %bold vert dup 8#113/lk put %left mid curl dup 8#114/lb put %left bot curl dup 8#115/rt put %right top curl dup 8#116/rk put %right mid curl dup 8#117/rb put %right bot curl dup 8#120/rf put %right floor dup 8#121/lf put %left floor dup 8#122/lc put %left ceil dup 8#140/sq put %square dup 8#141/bx put %box dup 8#142/ci put %circle dup 8#143/br put %box rule dup 8#144/rn put %root extender dup 8#145/vr put %vertical rule dup 8#146/ob put %outline bullet dup 8#147/bu put %bullet dup 8#150/ru put %rule dup 8#151/ul put %underline pop /DITfd 100 dict def /BuildChar{0 begin /cc exch def /fd exch def /charname fd /Encoding get cc get def /charwid fd /Metrics get charname get def /charproc fd /CharProcs get charname get def charwid 0 fd /FontBBox get aload pop setcachedevice 2 setlinejoin 40 setlinewidth newpath 0 0 moveto gsave charproc grestore end}def /BuildChar load 0 DITfd put %/UniqueID 5 def /CharProcs 50 dict def CharProcs begin /space{}def /.notdef{}def /ru{500 0 rls}def /rn{0 840 moveto 500 0 rls}def /vr{0 800 moveto 0 -770 rls}def /bv{0 800 moveto 0 -1000 rls}def /br{0 750 moveto 0 -1000 rls}def /ul{0 -140 moveto 500 0 rls}def /ob{200 250 rmoveto currentpoint newpath 200 0 360 arc closepath stroke}def /bu{200 250 rmoveto currentpoint newpath 200 0 360 arc closepath fill}def /sq{80 0 rmoveto currentpoint dround newpath moveto 640 0 rlineto 0 640 rlineto -640 0 rlineto closepath stroke}def /bx{80 0 rmoveto currentpoint dround newpath moveto 640 0 rlineto 0 640 rlineto -640 0 rlineto closepath fill}def /ci{500 360 rmoveto currentpoint newpath 333 0 360 arc 50 setlinewidth stroke}def /lt{0 -200 moveto 0 550 rlineto currx 800 2cx s4 add exch s4 a4p stroke}def /lb{0 800 moveto 0 -550 rlineto currx -200 2cx s4 add exch s4 a4p stroke}def /rt{0 -200 moveto 0 550 rlineto currx 800 2cx s4 sub exch s4 a4p stroke}def /rb{0 800 moveto 0 -500 rlineto currx -200 2cx s4 sub exch s4 a4p stroke}def /lk{0 800 moveto 0 300 -300 300 s4 arcto pop pop 1000 sub 0 300 4 2 roll s4 a4p 0 -200 lineto stroke}def /rk{0 800 moveto 0 300 s2 300 s4 arcto pop pop 1000 sub 0 300 4 2 roll s4 a4p 0 -200 lineto stroke}def /lf{0 800 moveto 0 -1000 rlineto s4 0 rls}def /rf{0 800 moveto 0 -1000 rlineto s4 neg 0 rls}def /lc{0 -200 moveto 0 1000 rlineto s4 0 rls}def /rc{0 -200 moveto 0 1000 rlineto s4 neg 0 rls}def end /Metrics 50 dict def Metrics begin /.notdef 0 def /space 500 def /ru 500 def /br 0 def /lt 416 def /lb 416 def /rt 416 def /rb 416 def /lk 416 def /rk 416 def /rc 416 def /lc 416 def /rf 416 def /lf 416 def /bv 416 def /ob 350 def /bu 350 def /ci 750 def /bx 750 def /sq 750 def /rn 500 def /ul 500 def /vr 0 def end DITfd begin /s2 500 def /s4 250 def /s3 333 def /a4p{arcto pop pop pop pop}def /2cx{2 copy exch}def /rls{rlineto stroke}def /currx{currentpoint pop}def /dround{transform round exch round exch itransform} def end end /DIThacks exch definefont pop ditstart (psc)xT 576 1 1 xr 1(Times-Roman)xf 1 f 2(Times-Italic)xf 2 f 3(Times-Bold)xf 3 f 4(Times-BoldItalic)xf 4 f 5(Helvetica)xf 5 f 6(Helvetica-Bold)xf 6 f 7(Courier)xf 7 f 8(Courier-Bold)xf 8 f 9(Symbol)xf 9 f 10(DIThacks)xf 10 f 10 s 1 f xi %%EndProlog %%Page: 1 1 10 s 0 xH 0 xS 1 f 12 s 3 f 1236 1032(The)N 1420(Construction)X 1982(of)X 2086(Meta-Tools)X 2580(for)X 2727(Program)X 3120(Visualization)X 2408 1224(of)N 2091 1416(Parallel)N 2437(Software)X 1 f 2021 1800(Ph.D.)N 2263(Thesis)X 2538(Proposal)X 2082 1992(James)N 2341(Arthur)X 2621(Kohl)X 2118 2376(February)N 2489(4,)X 2585(1992)X 2099 2760(Ph.D.)N 2341(Committee:)X 1904 2888(Thomas)N 2238(L.)X 2345(Casavant)X 2722(-)X 2778(Chair)X 2215 3016(Jon)N 2372(G.)X 2489(Kuhl)X 2144 3144(Michael)N 2484(R.)X 2596(Lyu)X 2111 3272(John)N 2316(P.)X 2417(Robinson)X 2222 3400(Teodor)N 2524(Rus)X 2 p %%Page: 2 2 12 s 0 xH 0 xS 1 f 3 f 2269 1004(Abstract)N 1 f 1352 1288(Program)N 1709(visualization)X 2228(has)X 2382(been)X 2590(successfully)X 3086(applied)X 3396(to)X 3497(allevi-)X 1152 1416(ate)N 1300(the)X 1453(complexities)X 1981(of)X 2096(parallel)X 2421(software)X 2787(development.)X 3368(However,)X 1152 1544(those)N 1383(program)X 1737(visualization)X 2258(tools)X 2473(which)X 2736(utilize)X 3006(the)X 3153(more)X 3380(advanced)X 1152 1672(visualization)N 1703(techniques)X 2173(tend)X 2397(to)X 2530(be)X 2679(too)X 2859(complex)X 3248(and)X 3444(special-)X 1152 1800(purpose)N 1481(to)X 1581(be)X 1697(generally)X 2081(useful.)X 2389(The)X 2564(use)X 2717(of)X 2823(meta-tools,)X 3280(or)X 3386(tools)X 3599(that)X 1152 1928(construct)N 1545(and)X 1724(manipulate)X 2193(other)X 2431(tools,)X 2682(can)X 2856(be)X 2986(applied)X 3309(to)X 3423(simplify)X 1152 2056(the)N 1295(use)X 1448(of)X 1553(complex)X 1910(environments,)X 2483(but)X 2631(meta-tools)X 3063(for)X 3200(program)X 3552(visu-)X 1152 2184(alization)N 1533(can)X 1715(still)X 1908(require)X 2229(extensive)X 2641(speci\256cation)X 3175(for)X 3334(views)X 3605(and)X 1152 2312(information)N 1631(processing)X 2066(details.)X 1352 2468(This)N 1568(proposal)X 1944(provides)X 2320(a)X 2409(design)X 2706(methodology)X 3260(for)X 3418(program)X 1152 2596(visualization)N 1670(meta-tools)X 2102(for)X 2238(parallel)X 2552(software)X 2907(that)X 3076(simpli\256es)X 3474(the)X 3616(use)X 1152 2724(of)N 1272(such)X 1489(tools)X 1717(while)X 1972(maintaining)X 2474(a)X 2558(high)X 2770(degree)X 3068(of)X 3189(\257exibility)X 3605(and)X 1152 2852(expressive)N 1592(power.)X 1914(The)X 2097(approach)X 2483(is)X 2580(based)X 2832(on)X 2961(a)X 2 f 3037(meta-tool)X 3439(circula-)X 1152 2980(tion)N 1356(architecture)X 1 f 1881(model)X 2176(that)X 2375(organizes)X 2798(the)X 2970(details)X 3276(of)X 3411(the)X 3584(user)X 1152 3108(speci\256cation,)N 1691(and)X 1858(provides)X 2217(a)X 2288(circulation)X 2728(of)X 2835(information)X 3317(which)X 3579(sup-)X 1152 3236(ports)N 1370(a)X 1439(formal)X 1722(means)X 1994(for)X 2132(indicating)X 2545(relationships)X 3064(among)X 3353(that)X 3525(infor-)X 1152 3364(mation.)N 1498(The)X 1678(overall)X 1976(user)X 2166(speci\256cation)X 2683(is)X 2776(divided)X 3094(into)X 3273(independent)X 1152 3492(modules)N 1515(containing)X 1959(distinct)X 2280(entities,)X 2620(and)X 2796(the)X 2952(relationships)X 3482(among)X 1152 3620(these)N 1386(module)X 1710(entities)X 2024(are)X 2177(identi\256ed)X 2576(using)X 2819(a)X 2897(powerful)X 2 f 3279(relationship)X 1152 3748(mapping)N 1533(language)X 1 f 1891(.)X 1984(This)X 2201(language)X 2595(maps)X 2844(conditions)X 3291(on)X 3433(selected)X 1152 3876(entities)N 1455(to)X 1554(manipulations)X 2124(that)X 2293(modify)X 2595(the)X 2737(entities,)X 3064(allowing)X 3425(the)X 3567(state)X 1152 4004(of)N 1256(an)X 1371(entity)X 1615(to)X 1714(be)X 1829(controlled)X 2244(in)X 2343(terms)X 2582(of)X 2687(the)X 2830(state)X 3032(of)X 3137(any)X 3301(other)X 3524(entity)X 1152 4132(or)N 1292(itself.)X 1593(The)X 1802(mapping)X 2198(language)X 2605(supports)X 2989(arbitrary)X 3380(levels)X 3664(of)X 1152 4260(abstraction)N 1602(in)X 1704(manipulating)X 2240(entities,)X 2570(allowing)X 2934(a)X 3004(full)X 3165(range)X 3407(of)X 3515(possi-)X 1152 4388(ble)N 1299(detail.)X 1591(As)X 1726(a)X 1798(result,)X 2065(visual)X 2324(analyses)X 2678(can)X 2840(be)X 2959(speci\256ed)X 3329(ef\256ciently,)X 1152 4516(utilizing)N 1507(only)X 1711(the)X 1862(minimum)X 2270(level)X 2491(of)X 2604(detail)X 2853(necessary.)X 3309(To)X 3450(demon-)X 1152 4644(strate)N 1386(the)X 1529(feasibility)X 1940(and)X 2104(usefulness)X 2529(of)X 2634(this)X 2798(approach,)X 3199(a)X 3266(speci\256c)X 3584(pro-)X 1152 4772(gram)N 1403(visualization)X 1950(meta-tool)X 2374(design)X 2679(is)X 2797(proposed)X 3203(based)X 3476(on)X 3626(the)X 1152 4900(methodology.)N 3 p %%Page: 3 3 12 s 0 xH 0 xS 1 f 3 f 2293 1004(Outline)N 1 f 1728 1288(I.)N 1968(Introduction)X 2468(&)X 2567(Motivation)X 1728 1544(II.)N 1968(Background)X 2462(Perspectives)X 1728 1800(III.)N 1968(Problem)X 2318(Statement)X 1728 2056(IV.)N 1968(Approach)X 1728 2312(V.)N 1968(Support)X 1728 2568(VI.)N 1968(Conclusion)X 1728 2824(VII.)N 1968(References)X 1 p %%Page: 1 4 12 s 0 xH 0 xS 1 f 3 f 576 1132(1.)N 696(Introduction)X 1242(&)X 1346(Motivation)X 1 f 776 1288(The)N 956(use)X 1114(of)X 1224(parallel)X 1544(computer)X 1938(systems)X 2272(is)X 2366(by)X 2492(no)X 2619(means)X 2896(a)X 2970(new)X 3161(or)X 3272(foreign)X 3581(concept,)X 3936(and)X 4106(many)X 576 1416(multiprocessor)N 1189(architectures)X 1723(of)X 1843(varying)X 2177(sizes)X 2404(and)X 2583(shapes)X 2879(have)X 3101(been)X 3323(in)X 3438(production)X 3895(for)X 4047(several)X 576 1544(years.)N 851(However,)X 1251(even)X 1457(after)X 1658(years)X 1885(of)X 1989(contemplation)X 2565(of)X 2669(parallel)X 2983(computation,)X 3513(the)X 3656(true)X 3831(nature)X 4097(of)X 4202(the)X 576 1672(\256eld)N 784(is)X 885(still)X 1067(not)X 1227(well)X 1430(understood.)X 1941(There)X 2202(is)X 2302(no)X 2434(standard)X 2796(approach)X 3185(to)X 3296(viewing)X 3642(the)X 3796(parallel)X 4122(para-)X 576 1800(digm,)N 831(and)X 1004(there)X 1231(is)X 1329(no)X 1459(agreement)X 1895(on)X 2025(how)X 2224(best)X 2413(to)X 2522(develop)X 2861(parallel)X 3185(software)X 3550(that)X 3729(ef\256ciently)X 4154(exe-)X 576 1928(cutes)N 803(on)X 928(parallel)X 1247(hardware.)X 1682(It)X 1770(comes)X 2045(as)X 2153(no)X 2277(surprise)X 2609(that)X 2782(the)X 2928(tools)X 3143(created)X 3450(to)X 3553(assist)X 3789(in)X 3892(developing)X 576 2056(and)N 739(tuning)X 1009(parallel)X 1323(software)X 1678(are)X 1820(likewise)X 2165(not)X 2312(well)X 2502(understood.)X 776 2212(The)N 962(inherent)X 1314(dif\256culty)X 1703(in)X 1814(developing)X 2278(and)X 2453(tuning)X 2735(parallel)X 3061(software)X 3428(is)X 3529(that)X 3711(the)X 3866(user)X 4063(cannot)X 576 2340(readily)N 877(identify)X 1209(the)X 1359(precise)X 1664(internal)X 1991(behavior)X 2360(of)X 2472(the)X 2622(software.)X 3 f 3033(Program)X 3434(visualization)X 1 f 3984([Mye88])X 576 2468(has)N 760(been)X 998(successfully)X 1524(applied)X 1864(to)X 1995(alleviate)X 2379(this)X 2574(problem)X 2951(by)X 3103(representing)X 3636(complex)X 4025(internal)X 576 2596(software)N 937(behavior)X 1304(in)X 1409(an)X 1530(abstract)X 1859(and)X 2027(intuitive)X 2378(manner)X 2696(using)X 2933(graphics)X 3288([Koh91,CaK92a,CaK92b].)X 576 2724(Yet,)N 768(no)X 893(standard)X 1248(approach)X 1630(or)X 1739(paradigm)X 2132(exists)X 2380(for)X 2521(visualizing)X 2974(parallel)X 3294(software.)X 3703(There)X 3958(are)X 4106(many)X 576 2852(open)N 791(questions)X 1182(yet)X 1328(to)X 1431(be)X 1550(answered)X 1941(in)X 2043(this)X 2209(area,)X 2421(including)X 2812(some)X 3042(serious,)X 3365(fundamental,)X 3898(unresolved)X 576 2980(issues.)N 878(There)X 1128(still)X 1298(are)X 1441(not)X 1589(concrete)X 1941(answers)X 2275(to)X 2376(the)X 2520(questions)X 2909(of)X 3015(which)X 3276(data)X 3463(is)X 3553(most)X 3766(useful)X 4027(for)X 4165(per-)X 576 3108(formance)N 971(tuning)X 1248(and)X 1418(debugging,)X 1879(and,)X 2073(most)X 2291(importantly,)X 2796(how)X 2992(the)X 3141(data)X 3333(should)X 3620(best)X 3806(be)X 3927(displayed.)X 576 3236(Each)N 794(user)X 979(has)X 1132(a)X 1200(unique,)X 1511(personal)X 1862(perspective)X 2326(and)X 2490(intuition)X 2842(on)X 2963(parallel)X 3278(software)X 3634(development,)X 4181(and)X 576 3364(perceives)N 978(visualizing)X 1439(the)X 1595(behavior)X 1970(of)X 2088(software)X 2457(differently.)X 2950(As)X 3094(a)X 3175(result,)X 3451(a)X 3532(majority)X 3897(of)X 4015(existing)X 576 3492(program)N 926(visualization)X 1443(tools)X 1654(are)X 1796(not)X 1943(suf\256ciently)X 2400(general)X 2708(and)X 2871(have)X 3077(not)X 3224(gained)X 3505(widespread)X 3967(usage.)X 776 3648(In)N 884(addition,)X 1252(there)X 1473(is)X 1565(a)X 1636(lack)X 1825(in)X 1928(understanding)X 2501(the)X 2647(fundamental,)X 3181(underlying)X 3626(concepts)X 3991(in)X 4095(paral-)X 576 3776(lel)N 711(software)X 1080(design,)X 1393(leaving)X 1715(the)X 1871(visualization)X 2402(tool)X 2590(designer)X 2954(guessing,)X 3351(at)X 3458(best,)X 3674(the)X 3829(needs)X 4085(of)X 4202(the)X 576 3904(user.)N 814(Existing)X 1165(tools)X 1382(are)X 1530(either)X 1780(simple)X 2068(and)X 2238(in\257exible,)X 2657(based)X 2907(on)X 3034(super\256cial)X 3466(or)X 3577(aggregate)X 3983(informa-)X 576 4032(tion,)N 784(or)X 898(are)X 1050(of)X 1164(comparable)X 1648(complexity)X 2116(to)X 2225(the)X 2377(parallel)X 2701(software)X 3066(itself,)X 3317(and)X 3490(still)X 3669(may)X 3869(not)X 4025(be)X 4149(gen-)X 576 4160(erally)N 823(applicable.)X 1295(While)X 1558(the)X 1703(simpler)X 2019(tools)X 2233(are)X 2378(extremely)X 2791(useful)X 3053(in)X 3155(many)X 3396(cases,)X 3650(there)X 3870(are)X 4015(dif\256cult)X 576 4288(problems)N 967(that)X 1144(could)X 1390(likely)X 1642(be)X 1765(solved)X 2048(more)X 2278(effectively)X 2723(using)X 2963(advanced)X 3359(visualization)X 3884(techniques.)X 576 4416(Even)N 798(so,)X 931(many)X 1169(of)X 1273(the)X 1415(more)X 1637(\257exible)X 1951(and)X 2115(powerful)X 2487(tools)X 2699(are)X 2842(too)X 2990(complex)X 3347(to)X 3447(be)X 3563(used)X 3764(easily,)X 4038(and)X 4202(are)X 576 4544(typically)N 941(avoided.)X 1321(There)X 1573(is)X 1664(a)X 1734(need)X 1943(for)X 2082(highly)X 2355(\257exible)X 2671(and)X 2837(powerful)X 3210(visual)X 3466(analysis)X 3802(tools)X 4015(that)X 4186(can)X 576 4672(ef\256ciently)N 991(utilize)X 1257(more)X 1479(sophisticated)X 2006(graphical)X 2389(techniques.)X 776 4828(One)N 974(approach)X 1365(for)X 1516(providing)X 1929(this)X 2107(power)X 2386(and)X 2564(\257exibility)X 2978(is)X 3081(the)X 3238(use)X 3405(of)X 3 f 3524(meta-tools)X 1 f 3951(,)X 4014(or)X 4133(tools)X 576 4956(which)N 839(construct)X 1220(and)X 1387(manipulate)X 1844(other)X 2070(tools.)X 2333(The)X 2511(concept)X 2839(of)X 2947(meta-tools)X 3382(is)X 3474(based)X 3720(on)X 3843(generalizing)X 576 5084(classes)N 867(of)X 971(tasks)X 1187(into)X 1361(their)X 1562(fundamental)X 2068(parameters.)X 2563(By)X 2700(specifying)X 3126(and)X 3290(manipulating)X 3824(these)X 4047(param-)X 576 5212(eters,)N 809(a)X 879(user)X 1066(can)X 1227(implement)X 1667(a)X 1737(speci\256c)X 2058(task)X 2240(from)X 2454(within)X 2727(the)X 2872(class.)X 3134(A)X 3229(program)X 3581(visualization)X 4100(meta-)X 576 5340(tool)N 759(allows)X 1043(users)X 1273(to)X 1381(customize)X 1805(visual)X 2068(analysis)X 2411(environments)X 2968(to)X 3076(suit)X 3248(individual)X 3672(perspectives)X 4181(and)X 576 5468(intuitions)N 964(regarding)X 1357(the)X 1499(viewing)X 1833(of)X 1937(parallel)X 2251(software)X 2606(behavior.)X 776 5624(It)N 865(should)X 1151(be)X 1272(noted)X 1516(that)X 1691(constructing)X 2198(a)X 2272(general)X 2587(meta-tool)X 2988(does)X 3195(not)X 3349(necessarily)X 3808(require)X 4112(a)X 4186(full)X 576 5752(understanding)N 1148(of)X 1255(parallel)X 1571(software)X 1928(and)X 2093(visualization.)X 2660(In)X 2766(fact,)X 2961(a)X 3030(meta-tool)X 3426(can)X 3586(serve)X 3815(as)X 3921(a)X 3990(basis)X 4208(for)X 576 5880(gaining)N 899(such)X 1109(understanding.)X 1736(By)X 1883(collecting)X 2299(those)X 2537(aspects)X 2850(of)X 2965(analysis)X 3310(which)X 2 f 3580(are)X 1 f 3743(understood,)X 4229(an)X 2 p %%Page: 2 5 12 s 0 xH 0 xS 1 f 2368 416(-)N 2424(2)X 2496(-)X 576 876(environment)N 1104(can)X 1278(be)X 1409(constructed)X 1893(that)X 2078(not)X 2241(only)X 2452(provides)X 2823(useful)X 3098(analysis)X 3448(features,)X 3817(but)X 3980(that)X 4165(also)X 576 1004(allows)N 851(the)X 993(user)X 1177(to)X 1276(arbitrarily)X 1686(experiment)X 2144(within)X 2414(the)X 2556(given)X 2794(paradigm)X 3182(and)X 3345(gain)X 3535(new)X 3719(understanding.)X 776 1160(Unfortunately,)N 1374(the)X 1526(use)X 1688(of)X 1803(meta-tools)X 2245(can)X 2414(be)X 2540(complex,)X 2931(requiring)X 3319(extensive)X 3718(speci\256cation)X 4240(of)X 576 1288(views)N 844(and)X 1027(information)X 1526(processing.)X 2029(As)X 2179(a)X 2266(result,)X 2548(users)X 2789(may)X 2998(discard)X 3319(the)X 3480(approach)X 3876(in)X 3994(favor)X 4240(of)X 576 1416(simpler,)N 917(albeit)X 1160(less)X 1332(effective)X 1698(means.)X 2020(This)X 2219(proposal)X 2578(describes)X 2964(a)X 3036(design)X 3316(methodology)X 3853(for)X 3994(program)X 576 1544(visualization)N 1104(meta-tools)X 1546(that)X 1726(simpli\256es)X 2135(their)X 2347(use)X 2510(while)X 2759(maintaining)X 3255(a)X 3333(high)X 3539(degree)X 3831(of)X 3945(\257exibility)X 576 1672(and)N 739(expressive)X 1169(power.)X 1481(The)X 1655(methodology)X 2187(utilizes)X 2490(two)X 2658(concepts:)X 10 f 1584 1864(g)N 1 f 1642(Meta-Tool)X 2078(Circulation)X 2536(Architecture)X 10 f 1584 2056(g)N 1 f 1642(Relationship)X 2153(Mapping)X 2524(Language)X 576 2248(The)N 3 f 769(meta-tool)X 1202(circulation)X 1689(architecture)X 1 f 2236(organizes)X 2649(the)X 2811(complex)X 3187(aspects)X 3509(of)X 3633(the)X 3795(required)X 4160(user)X 576 2376(speci\256cation.)N 1151(Information)X 1651(circulates)X 2061(in)X 2176(an)X 2307(orderly)X 2624(\257ow)X 2833(that)X 3017(allows)X 3307(fundamental)X 3828(relationships)X 576 2504(among)N 862(various)X 1169(details)X 1445(to)X 1544(be)X 1660(concisely)X 2049(speci\256ed.)X 2464(The)X 2639(organization)X 3146(is)X 3235(based)X 3479(on)X 3600(a)X 3668 0.2452(generalization)AX 4240(of)X 576 2632(the)N 734(program)X 1100(visualization)X 1633(procedure.)X 2106(By)X 2258(identifying)X 2721(the)X 2879(fundamental)X 3401(parameters)X 3863(of)X 3982(this)X 4160(pro-)X 576 2760(cedure,)N 890(speci\256cation)X 1410(details)X 1695(are)X 1846(categorized)X 2324(into)X 2507(several)X 2814(key)X 3 f 2987(components)X 1 f 3477(.)X 3559(The)X 3743(details)X 4029(of)X 4143(each)X 576 2888(component)N 1029(are)X 1172(grouped)X 1512(into)X 1687(individual)X 3 f 2103(entities)X 1 f 2397(.)X 2470(All)X 2618(entities)X 2922(for)X 3059(a)X 3127(component)X 3580(are)X 3723(maintained)X 4177(in)X 4277(a)X 576 3016(single)N 3 f 832(module)X 1 f (,)S 1186(such)X 1389(that)X 1561(the)X 1706(speci\256cation)X 2220(of)X 2327(details)X 2606(within)X 2879(each)X 3083(module)X 3399(is)X 3490(independent)X 3988(from)X 4202(the)X 576 3144(other)N 798(modules.)X 776 3300(As)N 922(information)X 1417(circulates)X 1827(through)X 2166(the)X 2324(meta-tool)X 2734(architecture,)X 3254(user-speci\256ed)X 3828(relationships)X 576 3428(dictate)N 860(how)X 1051(the)X 1195(state)X 1398(of)X 1504(each)X 1707(entity)X 1953(affects)X 2236(the)X 2380(state)X 2583(of)X 2689(other)X 2913(entities.)X 3266(The)X 3 f 3442(relationship)X 3958(mapping)X 576 3556(language)N 1 f 968(provides)X 1323(a)X 1390(precise)X 1687(means)X 1958(for)X 2095(combining)X 2532(the)X 2675(details)X 2952(among)X 3239(modules)X 3590(into)X 3765(a)X 3833(speci\256cation)X 576 3684(of)N 698(these)X 938(relationships.)X 1520(Each)X 1755(relationship)X 2252(is)X 2358(speci\256ed)X 2742(by)X 2880(a)X 3 f 2965(mapping)X 1 f 3368(that)X 3554(links)X 3782(conditions)X 4224(on)X 576 3812(module)N 895(entities)X 1204(to)X 1309(a)X 1382(set)X 1519(of)X 1629(highly)X 1905(\257exible)X 2224(operations)X 2656(which)X 2922(in)X 3028(turn)X 3214(manipulate)X 3674(the)X 3823(module)X 4143(enti-)X 576 3940(ties.)N 787(The)X 966(mappings)X 1369(utilize)X 1640(details)X 1921(of)X 2030(the)X 2177(entities)X 2485(at)X 2584(arbitrary)X 2945(levels)X 3199(of)X 3308(abstraction,)X 3784(allowing)X 4149(high)X 576 4068(ef\256ciency)N 981(by)X 1102(ignoring)X 1453(unnecessary)X 1949(detail.)X 2238(The)X 2414(mappings)X 2814(do)X 2936(not)X 3085(specify)X 3389(the)X 3533(precise)X 3832(implementa-)X 576 4196(tion)N 756(details,)X 1062(but)X 1215(rather)X 1470(the)X 1618(fundamental)X 2130(concepts)X 2497(on)X 2623(which)X 2887(the)X 3034(analysis)X 3373(is)X 3466(based.)X 3762(The)X 3941(result)X 4184(is)X 4277(a)X 576 4324(powerful,)N 971(\257exible,)X 1308(visualization)X 1825(tool)X 1999(design)X 2274(that)X 2443(relies)X 2676(on)X 2796(high-level)X 3211(directives.)X 776 4480(To)N 909(demonstrate)X 1406(the)X 1550(feasibility)X 1962(and)X 2127(usefulness)X 2553(of)X 2659(this)X 2825(methodology,)X 3384(a)X 3454(speci\256c)X 3775(program)X 4128(visu-)X 576 4608(alization)N 966(meta-tool)X 1393(design)X 1701(is)X 1822(proposed,)X 2255(utilizing)X 2633(the)X 2807(circulation)X 3276(architecture)X 3788(and)X 3983(mapping)X 576 4736(language)N 951(concepts.)X 1363(Useful)X 1646(features)X 1978(speci\256c)X 2299(to)X 2401(parallel)X 2718(software)X 3076(visualization)X 3596(are)X 3742(proposed.)X 4170(The)X 576 4864(resulting)N 943(customizable)X 1482(tool)X 1662(design)X 1943(will)X 2122(provide)X 2445(a)X 2517(framework)X 2968(for)X 3109(experimenting)X 3695(with)X 3895(visual)X 4154(ana-)X 576 4992(lyses.)N 847(In)X 958(addition,)X 1329(the)X 1478(tool)X 1659(design)X 1941(will)X 2122(be)X 2245(generally)X 2636(useful)X 2903(for)X 3047(a)X 3122(variety)X 3422(of)X 3534(more)X 3764(advanced)X 4160(pro-)X 576 5120(gram)N 798(visualization)X 1315(analyses.)X 776 5276(The)N 951(following)X 1350(section)X 1648(describes)X 2031(the)X 2174(foundation)X 2616(of)X 2721(the)X 2864(methodology)X 3397(by)X 3518(summarizing)X 4047(several)X 576 5404(perspectives)N 1083(on)X 1210(program)X 1567(visualization.)X 2139(Section)X 2459(3)X 2538(concisely)X 2932(provides)X 3293(the)X 3441(problem)X 3792(statement.)X 4240(In)X 576 5532(section)N 879(4,)X 981(the)X 1129(proposed)X 1511(design)X 1792(methodology)X 2330(approach)X 2713(is)X 2807(described,)X 3230(along)X 3474(with)X 3675(a)X 3749(brief)X 3962(overview)X 576 5660(of)N 681(the)X 823(demonstration)X 1398(design.)X 1721(Section)X 2034(5)X 2106(provides)X 2461(justi\256cation)X 2940(of)X 3044(the)X 3186(key)X 3349(features)X 3678(of)X 3782(the)X 3924(methodol-)X 576 5788(ogy,)N 768(along)X 1006(with)X 1201(several)X 1498(examples)X 1886(illustrating)X 2328(use)X 2480(of)X 2584(the)X 2726(concepts.)X 3 p %%Page: 3 6 12 s 0 xH 0 xS 1 f 2368 416(-)N 2424(3)X 2496(-)X 3 f 576 876(2.)N 696(Background)X 1226(Perspectives)X 1 f 776 1032(In)N 880(reaching)X 1237(a)X 1305(better)X 1550(understanding)X 2120(of)X 2225(program)X 2576(visualization,)X 3118(there)X 3336(are)X 3479(at)X 3574(least)X 3776(three)X 3994(perspec-)X 576 1160(tives)N 798(to)X 913(consider)X 1279([KoC91c].)X 1751(These)X 2021(perspectives)X 2537(focus)X 2785(on)X 2921(the)X 3079(user's)X 3348(needs)X 3607(and)X 3786(what)X 4013(the)X 4170(tool)X 576 1288(designer)N 926(is)X 1014(capable)X 1333(of)X 1437(providing)X 1835(to)X 1934(satisfy)X 2209(them.)X 2474(The)X 2648(perspectives)X 3148(are:)X 1872 1480(1.)N 1968(User)X 2173(View)X 1872 1672(2.)N 1968(Meta-Tool)X 2404(Designer)X 2775(View)X 1872 1864(3.)N 1968(Toolkit)X 2276(View)X 576 2056(The)N 751(user)X 936(view)X 1148(emphasizes)X 1617(the)X 1760(qualities)X 2112(and)X 2276(features)X 2606(that)X 2776(a)X 2845(user)X 3031(would)X 3297(need)X 3505(or)X 3611(want)X 3824(in)X 3925(a)X 3994(program)X 576 2184(visualization)N 1103(system,)X 1428(independent)X 1933(of)X 2047(the)X 2199(feasibility)X 2619(of)X 2733(actually)X 3073(implementing)X 3643(those)X 3880(qualities)X 4240(or)X 576 2312(features)N 923(in)X 1040(a)X 1125(real)X 1312(tool.)X 1552(Within)X 1862(the)X 2022(context)X 2348(of)X 2470(program)X 2838(visualization,)X 3398(a)X 3484(meta-tool)X 3897(refers)X 4159(to)X 4277(a)X 576 2440(visually-oriented)N 1260(tool)X 1440(or)X 1550(interface)X 1918(for)X 2060(specifying)X 2491(and)X 2660(manipulating)X 3199(a)X 3272(visual)X 3532(analysis.)X 3920(The)X 4100(meta-)X 576 2568(tool)N 754(designer)X 1108(view)X 1323(focuses)X 1639(on)X 1763(what)X 1978(kinds)X 2214(of)X 2322(features)X 2655(are)X 2801(possible)X 3144(and)X 3311(reasonable)X 3751(in)X 3854(a)X 3926(meta-tool,)X 576 2696(and)N 753(explores)X 1117(the)X 1273(extent)X 1547(to)X 1660(which)X 1933(this)X 2110(approach)X 2500(meets)X 2762(the)X 2917(needs)X 3173(and)X 3349(desires)X 3653(of)X 3770(the)X 3925(user.)X 4170(The)X 3 f 576 2824(toolkit)N 1 f 876(view)X 1096(poses)X 1342(an)X 1466(alternate)X 1832(approach)X 2218(to)X 2326(the)X 2477(meta-tool)X 2880(view,)X 3124(and)X 3296(leans)X 3528(toward)X 3829(simpler,)X 4176(less)X 576 2952(\257exible)N 902(visualization)X 1432(environments)X 1993(that)X 2175(consist)X 2478(of)X 2594(collections)X 3048(of)X 3164(\256xed,)X 3416(general-purpose)X 4072(views.)X 576 3080(These)N 834(toolkits)X 1151(may)X 1345(not)X 1497(provide)X 1820(the)X 1967(customizability)X 2591(of)X 2700(more)X 2927(general)X 3240(visualization)X 3762(tools,)X 4002(but)X 4154(may)X 576 3208(suf\256ciently)N 1033(satisfy)X 1308(the)X 1450(needs)X 1693(of)X 1797(the)X 1939(user)X 2123(and)X 2286(are)X 2428(easier)X 2677(to)X 2776(learn.)X 3 f 576 3464(2.1.)N 768(User)X 984(View)X 1 f 776 3620(There)N 1035(are)X 1187(several)X 1494(issues)X 1757(that)X 1936(are)X 2088(important)X 2497(to)X 2606(the)X 2758(developers)X 3209(of)X 3324(software)X 3690(who)X 3890(use)X 4053(perfor-)X 576 3748(mance)N 857(tuning)X 1132(and)X 1300(debugging)X 1735(tools,)X 1975(and)X 2143(there)X 2365(are)X 2512(several)X 2813(others)X 3076(that)X 3249(are)X 3395(not.)X 3594(The)X 3772(issues)X 4029(that)X 4202(are)X 576 3876(important)N 988(to)X 1101(tool)X 1289(users)X 1524(involve)X 1851(the)X 2007(ef\256ciency)X 2425(and)X 2602(ease)X 2806(of)X 2924(use)X 3090(of)X 3208(the)X 3364(tools,)X 3613(what)X 3838(features)X 4181(and)X 576 4004(functions)N 966(are)X 1116(supported,)X 1551(and)X 1722(the)X 1872(amount)X 2193(of)X 2305(control)X 2610(that)X 2787(the)X 2937(user)X 3129(has)X 3289(over)X 3491(operation)X 3886(of)X 3997(the)X 4146(tool.)X 576 4132(The)N 758(user)X 950(does)X 1158(not)X 1314(care)X 1508(how)X 1706(a)X 1782(tool)X 1965(is)X 2062(implemented,)X 2623(how)X 2821(elegant)X 3133(or)X 3246(general)X 3563(an)X 3687(approach)X 4073(it)X 4160(pro-)X 576 4260(vides,)N 830(or)X 937(how)X 1129(complicated)X 1628(and)X 1794(dif\256cult)X 2126(it)X 2207(was)X 2383(to)X 2485(build)X 2710(the)X 2855(tool,)X 3056(as)X 3163(long)X 3361(as)X 3467(the)X 3611(tool)X 3787(helps)X 4016(the)X 4160(user)X 576 4388(do)N 707(what)X 929(must)X 1151(be)X 1278(done.)X 1549(The)X 1735(following)X 2145(sections)X 2491(discuss)X 2804(in)X 2915(more)X 3149(detail)X 3400(those)X 3639(issues)X 3904(of)X 4020(greatest)X 576 4516(importance)N 1034(to)X 1133(the)X 1275(user.)X 3 f 576 4772(2.1.1.)N 840(Customizability)X 1 f 776 4928(The)N 950(importance)X 1408(of)X 1512(customizability)X 2131(to)X 2230(the)X 2372(user)X 2556(is)X 2644(surprisingly)X 3127(higher)X 3397(than)X 3587(might)X 3837(be)X 3953(expected,)X 576 5056(and)N 744(constitutes)X 1185(one)X 1353(of)X 1462(the)X 1609(most)X 1825(serious)X 2126(problems)X 2513(in)X 2617(designing)X 3020(tools.)X 3283(Each)X 3504(user)X 3692(has)X 3848(a)X 3919(personally)X 576 5184(tailored)N 902(set)X 1040(of)X 1151(individual)X 1573(preferences)X 2049(and)X 2220(perspectives)X 2728(on)X 2856(the)X 3006(manner)X 3327(in)X 3434(which)X 3701(software)X 4064(should)X 576 5312(be)N 694(developed,)X 1141(debugged,)X 1565(and)X 1730(optimized.)X 2190(As)X 2322(a)X 2391(result,)X 2655(each)X 2858(user)X 3044(will)X 3220(desire)X 3476(a)X 3545(unique)X 3833(collection)X 4240(of)X 576 5440(options)N 897(and)X 1075(features)X 1419(that,)X 1627(unfortunately,)X 2209(may)X 2414(expand)X 2731(and)X 2909(change)X 3221(over)X 3431(time)X 3642(as)X 3761(the)X 3918(user)X 4117(gains)X 576 5568(experience)N 1020(or)X 1126(adopts)X 1403(new)X 1589(perspectives.)X 2139(Any)X 2330(tool)X 2506(developer)X 2912(who)X 3103(has)X 3257(attempted)X 3664(to)X 3765(custom)X 4069(design)X 576 5696(a)N 647(system)X 943(for)X 1084(a)X 1156(speci\256c)X 1479(user)X 1668(has)X 1825(encountered)X 2325(the)X 2472("Law)X 2711(of)X 2820(Unlimited)X 3240(Options".)X 3660(This)X 3860("law")X 4106(states)X 576 5824(that)N 750(no)X 875(matter)X 1150(how)X 1343(many)X 1585(features)X 1918(and)X 2085(options)X 2396(are)X 2542(added)X 2800(to)X 2903(a)X 2974(tool,)X 3176(users)X 3401(will)X 3579(continue)X 3939(to)X 4042(request)X 4 p %%Page: 4 7 12 s 0 xH 0 xS 1 f 2368 416(-)N 2424(4)X 2496(-)X 576 876(new)N 777(options,)X 1125(such)X 1342(that)X 1528(the)X 1687(number)X 2022(of)X 2143(options)X 2467(increases)X 2861(without)X 3196(bound.)X 3525(This)X 3737(scenario)X 4100(likely)X 576 1004(occurs)N 852(in)X 952(part)X 1127(due)X 1291(to)X 1391(the)X 1534(creativity)X 1924(of)X 2029(users,)X 2275(because)X 2605(the)X 2748(installation)X 3202(of)X 3307(new)X 3492(options)X 3799(inspires)X 4122(ideas)X 576 1132(for)N 712(other)X 934(new)X 1118(options.)X 776 1288(Another)N 1129(form)X 1354(of)X 1472(customizability)X 2105(results)X 2394(from)X 2620(tedious)X 2937(sequences)X 3366(of)X 3485(tasks)X 3716(that)X 3900(the)X 4057(user)X 4256(is)X 576 1416(confronted)N 1036(with)X 1250(on)X 1389(a)X 1475(regular)X 1791(basis.)X 2074(Many)X 2341(users)X 2581(will)X 2774(desire)X 3047(continued)X 3470(optimization)X 4000(of)X 4122(these)X 576 1544(operations)N 1008(to)X 1114(an)X 1236(extreme.)X 1626(Satisfaction)X 2112(of)X 2224(this)X 2395(desire)X 2657(leads)X 2887(to)X 2994(tools)X 3213(that)X 3390(consist)X 3689(of)X 3801(multitudes)X 4240(of)X 576 1672(special-purpose,)N 1238(custom)X 1550(macros)X 1862(and)X 2035("single-keystroke")X 2783(commands.)X 3282(The)X 3466(user)X 3659(will)X 3842(not)X 3998(be)X 4122(com-)X 576 1800(pletely)N 881(satis\256ed)X 1238(unless)X 1520(a)X 1605(tool)X 1798(can)X 1975(be)X 2109(customized)X 2591(to)X 2709(match)X 2988(speci\256c)X 3325(personal)X 3694(preferences)X 4181(and)X 576 1928(requirements.)N 776 2084(PARADISE)N 1276([KoC91a,KoC91b])X 2041(provides)X 2404(customizability)X 3031(through)X 3362(custom-designed)X 4047(objects)X 576 2212(used)N 787(to)X 896(construct)X 1283(visual)X 1547(models)X 1859(for)X 2005(analysis.)X 2397(These)X 2661(models)X 2973(speci\256cally)X 3446(cater)X 3668(to)X 3777(the)X 3929(individual)X 576 2340(user)N 764(intuition)X 1119(for)X 1259(a)X 1330(given)X 1572(analysis.)X 1958(The)X 2136(Pablo)X 2383([ReO91],)X 2772(Hyperview)X 3228([MaR89,Nic90])X 3868(and)X 4036(Triplex)X 576 2468([CoK90,Nic90])N 1203(visualization)X 1723(tools)X 1937(provide)X 2258(user)X 2445(customizability)X 3067(by)X 3190(allowing)X 3554(the)X 3699(user)X 3886(to)X 3988(organize)X 576 2596(and)N 741(control)X 1040(views)X 1290(using)X 1524(\256lter)X 1733(modules)X 2086(that)X 2258(are)X 2403(graphically)X 2864(interconnected)X 3459(to)X 3561(process)X 3876(and)X 4042(display)X 576 2724(data.)N 821(Other)X 1076(tools)X 1299(such)X 1511(as)X 1627(Tango)X 1909([Sta90],)X 2252(Voyeur)X 2576([BaS88],)X 2955(BALSA)X 3304([BrS84,BrS85,Bro88])X 4181(and)X 576 2852(Q+)N 729([MeM85,Nic90,FuK91])X 1681(produce)X 2022(arbitrary)X 2385(animations)X 2839(based)X 3089(on)X 3216(speci\256cations)X 3771(written)X 4075(by)X 4202(the)X 576 2980(user.)N 3 f 576 3236(2.1.2.)N 840(Flexibility)X 1282(and)X 1460(Expressive)X 1927(Power)X 1 f 776 3392(While)N 1047(desiring)X 1392(the)X 1545(capability)X 1961(to)X 2071(customize)X 2497(views,)X 2781(the)X 2935(user)X 3131(does)X 3343(not)X 3502(want)X 3725(to)X 3836(be)X 3963(forced)X 4245(to)X 576 3520(provide)N 895(complex)X 1252(speci\256cations)X 1801(for)X 1938(each)X 2140(different)X 2496(application)X 2949(or)X 3053(analysis.)X 3435(Also,)X 3664(in)X 3763(addition)X 4103(to)X 4202(the)X 576 3648(complex,)N 968(customized)X 1443(views,)X 1727(the)X 1881(user)X 2077(is)X 2177(likely)X 2433(to)X 2544(want)X 2767(some)X 3006(very)X 3213(simple)X 3506(alternatives)X 3988(that)X 4170(will)X 576 3776(provide)N 898(basic)X 1124(or)X 1232(fundamental)X 1742(information)X 2225 0.2812(automatically)AX 2779(or)X 2887(with)X 3086(little)X 3292(effort.)X 3582(In)X 3690(many)X 3932(ways,)X 4181(this)X 576 3904(dual)N 771(approach)X 1153(to)X 1257(visual)X 1516(analyses)X 1871(relates)X 2152(to)X 2257(the)X 2405(expressive)X 2841(power)X 3111(of)X 3221(a)X 3294(tool.)X 3522(The)X 3702(methodology)X 4240(or)X 576 4032(interface)N 940(of)X 1046(a)X 1115(given)X 1355(tool)X 1531(must)X 1744(be)X 1861(capable)X 2182(of)X 2288(producing)X 2703(complex,)X 3084(detailed,)X 3439(custom)X 3742(displays,)X 4106(while)X 576 4160(at)N 672(the)X 816(same)X 1040(time)X 1238(supporting)X 1675(certain)X 1965(fundamental)X 2474(analyses)X 2827(without)X 3148(substantial)X 3587(effort.)X 3876(An)X 4020(illustra-)X 576 4288(tive)N 751(example)X 1108(of)X 1218(such)X 1424(an)X 1545(interface)X 1913(is)X 2007(that)X 2182(provided)X 2553(by)X 2678(the)X 2825(C)X 2918(programming)X 3471(language.)X 3896(A)X 3994(program)X 576 4416(in)N 688(C)X 789(can)X 960(be)X 1088(simple)X 1382(and)X 1558(consist)X 1862(only)X 2070(of)X 2187(the)X 2342(fundamental)X 2861(language)X 3246(constructs,)X 3697(with)X 3906(little)X 4122(more)X 576 4544(structure)N 946(than)X 1145(Fortran.)X 1509(Alternately,)X 2000(a)X 2075(program)X 2433(can)X 2599(be)X 2722(written)X 3027(that)X 3204(utilizes)X 3515(complex)X 3879(structuring,)X 576 4672(unary)N 819(operators,)X 1225(and)X 1388(pointer)X 1685(manipulations.)X 776 4828(Existing)N 1136(tools)X 1362(tend)X 1567(toward)X 1874(opposite)X 2240(ends)X 2456(of)X 2576(the)X 2734(spectrum)X 3127(with)X 3338(respect)X 3651(to)X 3766(\257exibility)X 4181(and)X 576 4956(expressive)N 1009(power.)X 1324(Tools)X 1570(such)X 1773(as)X 1880(PARADISE)X 2375(provide)X 2696(a)X 2766(high)X 2964(\257exibility,)X 3390(but)X 3540(without)X 3860(the)X 4004(inherent)X 576 5084(capability)N 991(for)X 1137(simpler)X 1460(automatic)X 1875(displays.)X 2272(Tools)X 2525(such)X 2735(as)X 2849(ParaGraph)X 3294([Hea90,HeE91])X 3934(and)X 4107(TOP-)X 576 5212(SYS)N 799([BeE88,Bem88,BeB90,BeB91])X 2057(produce)X 2415(displays)X 2778 0.2812(automatically)AX 3352(with)X 3570(only)X 3788(a)X 3878(few)X 4069(mouse)X 576 5340(clicks,)N 861(but)X 1020(have)X 1238(\256xed)X 1466(sets)X 1646(of)X 1762(views)X 2022(and)X 2197(a)X 2276(more)X 2510(limited)X 2820(\257exibility.)X 3279(Some)X 3535(middle)X 3840(ground)X 4149(with)X 576 5468(respect)N 874(to)X 974(\257exibility)X 1374(and)X 1538(expressive)X 1969(power)X 2234(needs)X 2478(to)X 2578(be)X 2694(identi\256ed,)X 3107(such)X 3307(that)X 3476(the)X 3618(bene\256ts)X 3941(of)X 4045(both)X 4240(of)X 576 5596(these)N 798(approaches)X 1255(can)X 1413(be)X 1528(realized)X 1858(in)X 1957(a)X 2024(single)X 2278(uni\256ed)X 2569(interface.)X 5 p %%Page: 5 8 12 s 0 xH 0 xS 1 f 2368 416(-)N 2424(5)X 2496(-)X 3 f 576 876(2.1.3.)N 840(Ef\256ciency)X 1270(and)X 1448(Ease)X 1664(of)X 1768(Use)X 1 f 776 1032(Clearly,)N 1108(one)X 1271(of)X 1376(the)X 1519(most)X 1731(important)X 2131(qualities)X 2483(for)X 2620(any)X 2784(tool)X 2959(is)X 3048(the)X 3191(overall)X 3484(ef\256ciency)X 3889(with)X 4085(which)X 576 1160(the)N 726(tool)X 908(operates,)X 1284(along)X 1529(with)X 1731(the)X 1880(ease)X 2077(of)X 2188(using)X 2427(the)X 2576(tool.)X 2805(The)X 2986(central)X 3280(features)X 3616(and)X 3786(functions)X 4175(that)X 576 1288(the)N 725(tool)X 907(provides)X 1270(must)X 1489(be)X 1612(as)X 1724(automatic)X 2137(as)X 2249(possible,)X 2620(as)X 2732(these)X 2962(will)X 3144(be)X 3267(used)X 3475(most)X 3694(frequently.)X 4170(The)X 576 1416(interface)N 949(for)X 1096(specifying)X 1532(the)X 1685(more)X 1918(complex,)X 2309(customizable)X 2853(features)X 3193(and)X 3367(options)X 3685(must)X 3906(be)X 4031(concise)X 576 1544(and)N 740(intuitive,)X 1111(and)X 1275(should)X 1556(be)X 1672(as)X 1777(ef\256cient)X 2119(as)X 2225(possible.)X 2614(If)X 2704(the)X 2848(overhead)X 3227(penalty)X 3537(for)X 3675(the)X 3819(more)X 4043(sophis-)X 576 1672(ticated)N 863(features)X 1197(is)X 1290(too)X 1442(great,)X 1688(they)X 1883(will)X 2062(always)X 2358(be)X 2478(discarded)X 2876(in)X 2979(favor)X 3210(of)X 3318(the)X 3464(simpler)X 3781(features,)X 4138(even)X 576 1800(if)N 663(the)X 809(simpler)X 1126(features)X 1459(are)X 1605(not)X 1756(as)X 1864(effective)X 2230(in)X 2333(the)X 2479(long)X 2678(run.)X 2883(Existing)X 3233(tools)X 3449(provide)X 3772(varying)X 4095(levels)X 576 1928(of)N 688(ef\256ciency)X 1100(and)X 1271(ease)X 1469(of)X 1581(use.)X 1789(ParaGraph)X 2232(and)X 2403(TOPSYS)X 2791(both)X 2994(provide)X 3320(highly)X 3598(ef\256cient)X 3945(interfaces)X 576 2056(for)N 718(producing)X 1139(views,)X 1418(and)X 1588(typically)X 1957(require)X 2261(only)X 2463(a)X 2537(few)X 2712(keystrokes)X 3154(or)X 3265(mouse)X 3547(clicks)X 3803(to)X 3909(arrange)X 4229(an)X 576 2184(entire)N 828(analysis.)X 1218(The)X 1400(Pablo/Hyperview)X 2105(and)X 2276(Triplex)X 2592(systems)X 2928(use)X 3087(a)X 3161(simple)X 3449(graphical)X 3839(interface)X 4208(for)X 576 2312(specifying)N 1028(the)X 1198(\256ltering)X 1555(architecture,)X 2087(resulting)X 2476(in)X 2603(simple,)X 2936(straightforward)X 3581(view)X 3820(construction.)X 576 2440(PARADISE)N 1071(reduces)X 1392(some)X 1622(speci\256cation)X 2135(overhead)X 2514(of)X 2620(its)X 2737(custom)X 3041(displays)X 3382(by)X 3504(allowing)X 3867(reuse)X 4096(of)X 4202(the)X 576 2568(more)N 824(involved)X 1211(portions)X 1576(of)X 1706(the)X 1874(object)X 2160(de\256nitions)X 2616(for)X 2779(the)X 2948(visual)X 3229(models,)X 3582(but)X 3756(requires)X 4117(some)X 576 2696(involved)N 937(static)X 1165(textual)X 1452(speci\256cation.)X 776 2852(A)N 869(tool)X 1043(should)X 1323(also)X 1502(include)X 1810(some)X 2037(consideration)X 2580(of)X 2684(default)X 2977(user)X 3162(preferences.)X 3679(For)X 3837(instance,)X 4202(the)X 576 2980(aspects)N 886(of)X 998(views)X 1253(which)X 1519(will)X 1700(be)X 1822(similar)X 2121(for)X 2264(different)X 2627(analyses,)X 3008(due)X 3178(to)X 3284(particular)X 3685(user)X 3876(preferences)X 576 3108(for)N 732(color)X 974(or)X 1098(format,)X 1423(should)X 1723(be)X 1858 0.2812(automatically)AX 2428(instantiated)X 2917(in)X 3036(each)X 3257(new)X 3461(view)X 3692(without)X 4030(explicit)X 576 3236(speci\256cation)N 1093(by)X 1218(the)X 1365(user.)X 1602(Some)X 1850(form)X 2066(of)X 2175(simple)X 2461(database)X 2822(interface)X 3189(for)X 3330(maintaining)X 3820(and)X 3988(accumu-)X 576 3364(lating)N 835(standard)X 1201(user)X 1401(con\256gurations)X 1991(would)X 2271(be)X 2402(desirable.)X 2838(The)X 3028(one-time)X 3411(overhead)X 3804(in)X 3919(specifying)X 576 3492(such)N 791(preferences)X 1274(and)X 1452(standard)X 1817(con\256gurations)X 2406(would)X 2685(be)X 2814(reusable)X 3173(many)X 3425(times)X 3672(with)X 3881(only)X 4090(minor)X 576 3620(adjustments,)N 1086(if)X 1171(the)X 1315(format)X 1598(chosen)X 1891(is)X 1981(complete.)X 2409(The)X 2585(central)X 2874(dif\256culty)X 3253(with)X 3450(such)X 3652(a)X 3721(database)X 4080(would)X 576 3748(clearly)N 903(be)X 1058(deciding)X 1454(precisely)X 1866(which)X 2165(preference)X 2636(information)X 3155(should)X 3475(be)X 3630(maintained.)X 4170(The)X 576 3876(Pablo/Hyperview)N 1299(systems)X 1653(provide)X 1997(a)X 2090(defaults)X 2445(manager)X 2828(for)X 2991(maintaining)X 3503(a)X 3597(collection)X 4029(of)X 4160(user)X 576 4004(defaults)N 905(preferences.)X 3 f 576 4260(2.1.4.)N 840(Multiple)X 1217(Granularity)X 1738(Control)X 1 f 776 4416(There)N 1029(are)X 1175(many)X 1417(aspects)X 1723(of)X 1832(visualization)X 2354(that)X 2528(bene\256t)X 2819(from)X 3035(some)X 3267(type)X 3462(of)X 3571("focusing")X 4009(capabil-)X 576 4544(ity.)N 756(It)X 845(is)X 939(often)X 1167(useful)X 1432(to)X 1536(adjust)X 1795(the)X 1942(amount)X 2260(of)X 2369(visual)X 2628(stimulation)X 3091(to)X 3195(prevent)X 3513(visual)X 3772("overload",)X 4240(as)X 576 4672(well)N 773(as)X 884(emphasize)X 1322(certain)X 1616(aspects)X 1925(of)X 2036(a)X 2110(view)X 2328(to)X 2434(reveal)X 2701(important)X 3107(or)X 3218(interesting)X 3657(contrasts)X 4031(or)X 4143(rela-)X 576 4800(tionships.)N 3 f 576 5056(2.1.4.1.)N 912(Visualization)X 1475(Speed)X 1744(Control)X 1 f 776 5212(The)N 955(nominal)X 1300(speed)X 1548(of)X 1657(an)X 1778(animation)X 2194(or)X 2304(dynamic)X 2666(view)X 2883(can)X 3047(proceed)X 3382(too)X 3535(quickly)X 3854(for)X 3996(full)X 4160(user)X 576 5340(comprehension,)N 1224(even)X 1442(after)X 1655(repeated)X 2018(viewing)X 2364(of)X 2479(the)X 2632(same)X 2865(sequences.)X 3338(Alternately,)X 3831(long)X 4037(periods)X 576 5468(with)N 786(no)X 921(activity)X 1250(can)X 1423(waste)X 1681(time)X 1893(and)X 2072(wear)X 2299(the)X 2457(user's)X 2726(patience)X 3088(thin.)X 3326(Therefore,)X 3770(some)X 4013(form)X 4240(of)X 576 5596(speed)N 822(control)X 1122(would)X 1389(be)X 1507(helpful)X 1807(to)X 1909(allow)X 2150(quick)X 2391(traversal)X 2750(through)X 3076(the)X 3221(display)X 3525(of)X 3631(uninteresting)X 4160(por-)X 576 5724(tions)N 792(of)X 902(data,)X 1117(and)X 1286(the)X 1434(ability)X 1711(to)X 1816(slow)X 2027(down)X 2270(the)X 2418(display)X 2726(to)X 2831(closely)X 3134(examine)X 3491(the)X 3639(important)X 4044(details.)X 576 5852(PARADISE,)N 1104(SHMAP)X 1469([DoB90],)X 1870(and)X 2045(other)X 2279(tools)X 2502(support)X 2825(variable)X 3171(speeds)X 3462(for)X 3609(various)X 3927(aspects)X 4240(of)X 6 p %%Page: 6 9 12 s 0 xH 0 xS 1 f 2368 416(-)N 2424(6)X 2496(-)X 576 876(displays,)N 945(and)X 1114(many)X 1358(other)X 1586(tools)X 1803(support)X 2121(some)X 2354(form)X 2571(of)X 2681(stop/start)X 3064(or)X 3175(single)X 3436(step)X 3622(control.)X 3974(It)X 4064(should)X 576 1004(be)N 692(noted)X 931(that)X 1101(the)X 1244(concept)X 1569(of)X 1673(speed)X 1916(control)X 2213(contradicts)X 2660(the)X 2802(basis)X 3018(of)X 3122(real-time)X 3495(display)X 3797(tools.)X 4056(One)X 4240(of)X 576 1132(the)N 726(bene\256ts)X 1057(of)X 1169(post-mortem)X 1693(display)X 2003(tools)X 2222(is)X 2318(the)X 2468(freedom)X 2821(to)X 2928(manipulate)X 3389(the)X 3539(time)X 3743(axis)X 3930(as)X 4042(well)X 4240(as)X 576 1260(play)N 766(back)X 972(program)X 1322(executions)X 1758(in)X 1857("real-time".)X 3 f 576 1516(2.1.4.2.)N 912(Visualization)X 1475(Direction)X 1884(Control)X 1 f 776 1672(In)N 890(conjunction)X 1379(with)X 1584(variable)X 1929(speed,)X 2206(the)X 2358(ability)X 2640(to)X 2750(reverse)X 3063(the)X 3216(direction)X 3594(of)X 3709(an)X 3835(animation)X 4256(is)X 576 1800(useful.)N 887(By)X 1027(allowing)X 1392(both)X 1591(forward)X 1923(and)X 2090(reverse)X 2396(playback)X 2772(of)X 2880(execution)X 3283(traces,)X 3560(interesting)X 3994(perspec-)X 576 1928(tives)N 787(on)X 913(the)X 1061(behavior)X 1428(of)X 1538(software)X 1899(can)X 2063(be)X 2184(provided,)X 2580(but)X 2733(more)X 2961(importantly,)X 3465(the)X 3613(overhead)X 3996(in)X 4101(view-)X 576 2056(ing)N 726(large)X 946(traces)X 1198(can)X 1359(be)X 1477(greatly)X 1772(reduced.)X 2152(When)X 2409(speeding)X 2778(through)X 3104(long,)X 3325(empty)X 3592(portions)X 3933(of)X 4039(a)X 4108(trace,)X 576 2184(there)N 803(is)X 901(no)X 1032(means)X 1313(for)X 1460(identifying)X 1918(precisely)X 2301(when)X 2544(the)X 2697(next)X 2898(interesting)X 3340(event)X 3584(might)X 3844(occur,)X 4117(espe-)X 576 2312(cially)N 818(when)X 1053(it)X 1134(is)X 1225(not)X 1375(known)X 1663(ahead)X 1915(of)X 2022(time)X 2221(what)X 2435(that)X 2606(event)X 2841(might)X 3092(be.)X 3257(This)X 3454(causality)X 3823(problem)X 4170(will)X 576 2440(likely)N 831(cause)X 1081(a)X 1160(situation)X 1528(where,)X 1823(by)X 1955(the)X 2109(time)X 2317(a)X 2396(detail)X 2647(is)X 2747(identi\256ed,)X 3171(it)X 3261(is)X 3361(too)X 3520(late)X 3696(to)X 3807(stop,)X 4027(and)X 4202(the)X 576 2568(detail)N 819(has)X 974(passed.)X 1305(In)X 1412(this)X 1578(case,)X 1795(being)X 2036(able)X 2224(to)X 2326(rewind)X 2620(the)X 2765(animation)X 3178(or)X 3285(display)X 3590(back)X 3799(in)X 3901(time)X 4100(to)X 4202(the)X 576 2696(interesting)N 1023(detail)X 1278(is)X 1382(very)X 1593(important.)X 2056(Without)X 2412(this)X 2591(capability,)X 3036(the)X 3194(entire)X 3454(trace)X 3683(may)X 3890(have)X 4113(to)X 4229(be)X 576 2824(replayed)N 938(again)X 1177(up)X 1303(to)X 1408(that)X 1583(point)X 1811(to)X 1916(view)X 2133(that)X 2308(detail.)X 2601(Another)X 2946(reason)X 3226(for)X 3367(such)X 3572(reverse)X 3879(playback)X 4256(is)X 576 2952(the)N 723(inherent)X 1068(likelihood)X 1489(that)X 1664(the)X 1812(human)X 2104(user)X 2294(will)X 2474(simply)X 2766(miss)X 2972(a)X 3045(desired)X 3353(detail)X 3598(or)X 3708(make)X 3947(a)X 4020(mistake)X 576 3080(that)N 758(causes)X 1046(the)X 1201(detail)X 1453(to)X 1565(pass)X 1767(before)X 2050(stopping)X 2418(the)X 2573(display.)X 2936(In)X 3053(this)X 3229(case,)X 3456(the)X 3611(user)X 3808(could)X 4058(simply)X 576 3208(rewind)N 867(the)X 1009(trace)X 1221(to)X 1320(catch)X 1548(the)X 1690(missed)X 1981(detail)X 2220(as)X 2324(before,)X 2618(rather)X 2867(than)X 3057(replaying)X 3445(the)X 3587(whole)X 3846(trace)X 4058(again.)X 776 3364(This)N 974(reverse)X 1279(playback)X 1654(concept)X 1981(is)X 2072(reasonably)X 2516(straightforward)X 3137(to)X 3240(include)X 3552(in)X 3655 0.2383(timeline-oriented)AX 576 3492(tools,)N 831(by)X 971(simply)X 1277(keeping)X 1626(track)X 1863(of)X 1987(key)X 2170(pieces)X 2455(of)X 2579(information)X 3078(as)X 3202(the)X 3363(timelines)X 3760(are)X 3921(generated.)X 576 3620(Several)N 899(such)X 1109(tools)X 1331(provide)X 1660(forward)X 1999(and)X 2173(reverse)X 2486(scanning)X 2863(of)X 2978(displays.)X 3376(Unfortunately,)X 3975(for)X 4122(more)X 576 3748(complicated)N 1087(animation)X 1512(systems,)X 1879(where)X 2153(the)X 2310(graphics)X 2674(displayed)X 3081(depends)X 3434(on)X 3568(complex)X 3938(functions,)X 576 3876(relations,)N 961(or)X 1070(even)X 1281(programmed)X 1802(behavior,)X 2192(as)X 2301(in)X 2405(PARADISE,)X 2926(it)X 3009(may)X 3204(be)X 3324(nontrivial)X 3729(to)X 3834(implement)X 4277(a)X 576 4004(reverse)N 885(display.)X 1242(An)X 1390(inverse)X 1699(function)X 2051(will)X 2232(not)X 2386(likely)X 2636(exist)X 2848(for)X 2990(more)X 3218(complicated)X 3720(analysis)X 4060(or)X 4170(ani-)X 576 4132(mation)N 882(functions.)X 1326(There)X 1589(is)X 1691(no)X 1826(standard)X 2191(method)X 2519(for)X 2670(undrawing)X 3120(graphics,)X 3509(especially)X 3934(when)X 4181(dif-)X 576 4260(ferent)N 832(portions)X 1178(of)X 1289(the)X 1438(display)X 1747(dynamically)X 2255(overlap)X 2575(with)X 2777(other)X 3006(portions.)X 3400(For)X 3564(tools)X 3782(with)X 3984(this)X 4154(type)X 576 4388(of)N 694(display,)X 1034(the)X 1190(overhead)X 1581(in)X 1694(time)X 1905(and)X 2083(space)X 2336(to)X 2450(maintain)X 2827(the)X 2984(information)X 3478(necessary)X 3891(for)X 4042(reverse)X 576 4516(playback)N 962(may)X 1166(be)X 1295(large.)X 1574(Further,)X 1919(note)X 2123(that)X 2305(it)X 2396(is)X 2497(not)X 2657(completely)X 3123(possible)X 3475(to)X 3587(optimize)X 3962(a)X 4042(reverse)X 576 4644(playback)N 963(scheme)X 1291(by)X 1426(discarding)X 1866(older)X 2103(information,)X 2621(as)X 2740(the)X 2897(user)X 3096(may)X 3301(very)X 3511(well)X 3716(need)X 3938(to)X 4053(rewind)X 576 4772(through)N 913(large)X 1144(portions)X 1496(of)X 1613(a)X 1693(trace,)X 1942(reaching)X 2311(past)X 2503(the)X 2658(earliest)X 2974(point)X 3209(where)X 3481(information)X 3973(has)X 4138(been)X 576 4900(retained.)N 965(Indeed,)X 1281(there)X 1504(may)X 1700(be)X 1821(no)X 1947(best)X 2133("safe")X 2397(point,)X 2650(past)X 2836(which)X 3102(information)X 3588(need)X 3801(not)X 3955(be)X 4077(saved,)X 576 5028(as)N 687(no)X 814(matter)X 1092(how)X 1288(far)X 1426(back)X 1639(the)X 1788(point)X 2017(is)X 2111(selected,)X 2476(the)X 2624(user)X 2814(might)X 3069(still)X 3244(need)X 3456(to)X 3561(go)X 3687(back)X 3899(before)X 4175(that)X 576 5156(point.)N 3 f 576 5412(2.1.4.3.)N 912(Abstraction)X 1421(Level)X 1670(&)X 1774(Display)X 2107(Size)X 1 f 776 5568(The)N 974(last)X 1156(dimension)X 1605(of)X 1733(focusing)X 2112(and)X 2299(granularity)X 2770(control)X 3091(corresponds)X 3603(to)X 3726(overall)X 4042(display)X 576 5696(presentation.)N 1123(Both)X 1338(the)X 1484(abstraction)X 1935(level)X 2151(and)X 2318(the)X 2464(aggregate)X 2867(size)X 3045(of)X 3152(a)X 3222(display)X 3527(might)X 3779(be)X 3897(adjusted)X 4245(to)X 576 5824(provide)N 914(better)X 1178(focus)X 1430(of)X 1554(the)X 1716(desired)X 2038(details)X 2334(and)X 2517(information.)X 3065(It)X 3169(may)X 3380(be)X 3516(dif\256cult)X 3866(to)X 3986(pick)X 4197(out)X 7 p %%Page: 7 10 12 s 0 xH 0 xS 1 f 2368 416(-)N 2424(7)X 2496(-)X 576 876(important)N 976(details)X 1253(if)X 1337(too)X 1485(much)X 1724(information)X 2204(is)X 2293(displayed)X 2687(simultaneously,)X 3319(and)X 3483(if)X 3567(no)X 3688(details)X 3964(are)X 4106(given)X 576 1004(the)N 732(display)X 1048(may)X 1252(very)X 1461(well)X 1665(be)X 1795(useless.)X 2154(By)X 2305(adjusting)X 2697(the)X 2854(abstraction)X 3316(level)X 3543(of)X 3662(a)X 3744(display,)X 4085(where)X 576 1132(appropriate,)N 1068(a)X 1140(user)X 1329(could)X 1572(identify)X 1901(anomalies)X 2321(at)X 2420(a)X 2492(high)X 2692(level)X 2909(and)X 3077(then)X 3272(focus)X 3509(in)X 3613(on)X 3738(details)X 4019(to)X 4122(iden-)X 576 1260(tify)N 741(the)X 890(source)X 1172(of)X 1283(the)X 1432(failure.)X 1763(Similar)X 2079(bene\256ts)X 2410(are)X 2560(obtained)X 2924(by)X 3052(adjusting)X 3437(and)X 3608(scaling)X 3913(the)X 4063(visible)X 576 1388(perspective)N 1048(on)X 1177(a)X 1253(large)X 1479(display,)X 1814(to)X 1921(show)X 2155(overall)X 2455(behavior)X 2824(versus)X 3101(internal)X 3428(details.)X 3760(As)X 3898(with)X 4101(speed)X 576 1516(and)N 751(direction)X 1130(adjustments,)X 1650(a)X 1729(trace)X 1953(can)X 2123(be)X 2250(traversed)X 2639(at)X 2745(a)X 2824(high)X 3031(level)X 3255(until)X 3469(interesting)X 3913(details)X 4202(are)X 576 1644(identi\256ed,)N 1004(and)X 1183(then)X 1389(these)X 1627(details)X 1919(can)X 2093(be)X 2224(more)X 2462(closely)X 2775(examined.)X 3238(PARADISE)X 3746(provides)X 4117(some)X 576 1772(aspects)N 884(of)X 994(abstraction)X 1448(level)X 1667(adjustment,)X 2145(but)X 2299(not)X 2453(yet)X 2602(in)X 2708(an)X 2830(interactive)X 3269(manner.)X 3637(Other)X 3887(approaches)X 576 1900(to)N 693(the)X 853(adjustment)X 1318(of)X 1440(abstraction)X 1905(level)X 2135(have)X 2359(been)X 2583(successfully)X 3095(utilized)X 3427(in)X 3544(the)X 3704(Triplex)X 4029(system,)X 576 2028(which)N 839(explicitly)X 1232(identi\256es)X 1613(contrasts)X 1983(by)X 2107(summarizing)X 2638(or)X 2746("binning")X 3146(similar)X 3442(portions)X 3786(of)X 3895(the)X 4042(display)X 576 2156(into)N 750(groups,)X 1059(thereby)X 1372(reducing)X 1733(the)X 1875(overall)X 2167(display)X 2469(size)X 2643(and)X 2806(complexity.)X 776 2312(All)N 936(these)X 1171(features)X 1513(reduce)X 1807(sensory)X 2138(overload)X 2513(and)X 2690(allow)X 2942(natural)X 3248(control)X 3559(over)X 3768(the)X 3924(density)X 4240(of)X 576 2440(detail)N 820(in)X 924(a)X 996(display.)X 1351(Several)X 1669(analogies)X 2062(can)X 2225(be)X 2345(drawn)X 2614(\320)X 2739(in)X 2843(human)X 3134(grasping,)X 3518(the)X 3665(limb)X 3870(moves)X 4149(very)X 576 2568(quickly)N 891(to)X 992(the)X 1136(location)X 1473(of)X 1579(a)X 1648(physical)X 1995(object,)X 2281(and)X 2446(then)X 2639(the)X 2784(hand)X 2998(slowly)X 3281(closes)X 3543(around)X 3837(the)X 3982(object)X 4245(to)X 576 2696(grasp)N 816(it.)X 950(Similarly,)X 1364(in)X 1470(learning)X 1817(it)X 1902(is)X 1997(often)X 2226(bene\256cial)X 2632(to)X 2738(confront)X 3095(a)X 3169(concept)X 3500(\256rst)X 3680(at)X 3781(a)X 3855(higher)X 4132(level)X 576 2824(and)N 751(then)X 953("slow)X 1209(down")X 1497(and)X 1672(closely)X 1981(examine)X 2344(the)X 2498(lower)X 2753(level)X 2977(details)X 3265(to)X 3377(gain)X 3580(full)X 3751(understanding.)X 576 2952(Also,)N 808(consider)X 1161(Gary)X 1380(Larson's)X 1743("Far)X 1937(Side")X 2174(cartoons,)X 2551(in)X 2653(which)X 2915(the)X 3060(meaning)X 3418(may)X 3610(not)X 3759(be)X 3876(readily)X 4170(evi-)X 576 3080(dent)N 766(at)X 860(\256rst,)X 1057(until)X 1258(some)X 1485(small)X 1718(detail)X 1957(in)X 2056(the)X 2198(cartoon)X 2511(reveals)X 2808(the)X 2950("punch)X 3248(line".)X 3 f 576 3336(2.1.5.)N 840(Animations)X 1338(and)X 1516(Views)X 1 f 776 3492(There)N 1030(are)X 1177(many)X 1421(unanswered)X 1910(questions)X 2303(regarding)X 2702(what)X 2919(types)X 3152(of)X 3262(displays)X 3607(are)X 3755(most)X 3972(desirable)X 576 3620(to)N 680(users)X 906(in)X 1010(analyzing)X 1414(parallel)X 1733(software.)X 2141(It)X 2229(is)X 2322(not)X 2474(known)X 2764(what)X 2980(level)X 3197(of)X 3306(abstraction)X 3758(or)X 3867(detail)X 4110(is)X 4202(the)X 576 3748(most)N 799(effective)X 1173(\320)X 1305(another)X 1630(justi\256cation)X 2121(for)X 2269(interactive)X 2713(control)X 3022(of)X 3139(these)X 3374(parameters)X 3834(as)X 3951(described)X 576 3876(above.)N 886(The)X 1068(problem)X 1421(of)X 1533(scalability)X 1962(for)X 2106(large)X 2330(displays)X 2676(and)X 2846(massively)X 3262(parallel)X 3583(applications)X 4080(is)X 4175(still)X 576 4004(not)N 728(well)X 923(resolved.)X 1326(In)X 1435(some)X 1667(cases,)X 1923(analyses)X 2278(on)X 2403(a)X 2475(small)X 2713(scale)X 2935(are)X 3082(suf\256cient)X 3470(to)X 3575(describe)X 3926(the)X 4074(poten-)X 576 4132(tial)N 746(results)X 1043(on)X 1184(a)X 1272(large)X 1510(scale,)X 1772(hence)X 2042(parallel)X 2377(software)X 2753(can)X 2932(be)X 3068(developed)X 3509(and)X 3693(debugged)X 4112(using)X 576 4260(smaller)N 890(numbers)X 1251(of)X 1361(processors.)X 1844(However,)X 2250(many)X 2495(large)X 2719(scale)X 2943(parallel)X 3264(systems)X 3599(require)X 3903(large)X 4127(scale)X 576 4388(details)N 861(to)X 969(fully)X 1184(understand)X 1639(the)X 1790(behavior)X 2159(of)X 2271(the)X 2421(software)X 2784(to)X 2891(adequately)X 3341(tune)X 3539(its)X 3662(performance)X 4181(and)X 576 4516(debug)N 842(it.)X 975(Some)X 1225(of)X 1336(the)X 1485(novel)X 1730(approaches)X 2194(such)X 2401(as)X 2512(the)X 2661(Triplex)X 2976("binning")X 3379(feature)X 3678(attack)X 3941(this)X 4112(prob-)X 576 4644(lem,)N 769(but)X 916(more)X 1138(work)X 1359(needs)X 1602(to)X 1701(be)X 1816(applied)X 2124(toward)X 2415(fully)X 2621(resolving)X 3003(this)X 3166(issue.)X 776 4800(Another)N 1130(problem)X 1491(with)X 1702(respect)X 2015(to)X 2130(creating)X 2481(views)X 2745(or)X 2865(animations)X 3328(is)X 3432(the)X 3590(lack)X 3791(of)X 3911(a)X 3994(standard)X 576 4928(approach)N 964(to)X 1074(displaying)X 1510(information.)X 2047(There)X 2306(is)X 2404(no)X 2534(agreement)X 2970(on)X 3100(a)X 3177("best")X 3444(display)X 3756(format.)X 4095(There)X 576 5056(are)N 736(many)X 992(alternatives)X 1479(regarding)X 1890(the)X 2050(use)X 2221(of)X 2344(\256xed)X 2579(versus)X 2867(dynamic)X 3242(images,)X 3582(and)X 3764(mobile)X 4075(versus)X 576 5184(immobile)N 978(images)X 1283(within)X 1561(a)X 1636(display.)X 1994(In)X 2106(addition,)X 2478(animations)X 2932(can)X 3097(move)X 3342(in)X 3448(speci\256c,)X 3797(discrete)X 4128(steps)X 576 5312(or)N 680(can)X 838(consist)X 1129(of)X 1233(a)X 1300(continuous)X 1746(dynamic)X 2102(\257ow)X 2296(of)X 2400(graphics.)X 2798(Existing)X 3143(tools)X 3354(support)X 3667(a)X 3735(wide)X 3947(variety)X 4240(of)X 576 5440(combinations)N 1128(of)X 1241(these)X 1472(choices.)X 1842(PARADISE)X 2343(uses)X 2540(immobile,)X 2966(dynamic)X 3330(images)X 3635(with)X 3838(discrete)X 4170(ani-)X 576 5568(mation,)N 892(while)X 1130(TOPSYS)X 1510(uses)X 1699(\256xed,)X 1939(mobile)X 2231(images.)X 2576(Tango)X 2846(supports)X 3195(full,)X 3377(continuous)X 3823(animations.)X 8 p %%Page: 8 11 12 s 0 xH 0 xS 1 f 2368 416(-)N 2424(8)X 2496(-)X 3 f 576 876(2.1.6.)N 840(Extra)X 1099(Assistance)X 1549(in)X 1653(Analysis)X 1 f 776 1032(Another)N 1117(more)X 1341(obscure)X 1666(aspect)X 1933(of)X 2039(the)X 2183(user's)X 2438(view)X 2651(is)X 2741(the)X 2885(desire)X 3141(for)X 3279(a)X 3349(tool)X 3526(to)X 3628(be)X 3746(able)X 3934(to)X 4036(capture)X 576 1160(the)N 721(user's)X 977(attention)X 1342(and)X 1508(draw)X 1727(it)X 1808(to)X 1910(the)X 2055(critical)X 2351(details.)X 2678(While)X 2941(a)X 3011(tool)X 3188(cannot)X 3472(be)X 3590(expected)X 3960(to)X 4062(intelli-)X 576 1288(gently)N 852(direct)X 1107(a)X 1185(user)X 1380(through)X 1714(the)X 1868(software)X 2235(development)X 2769(process,)X 3117(displays)X 3468(can)X 3638(be)X 3765(constructed)X 4245(to)X 576 1416(emphasize)N 1016(contrasts)X 1391(and)X 1563(relationships)X 2088(in)X 2196(the)X 2347(data)X 2541(in)X 2649(a)X 2725(way)X 2918(that)X 3096(guides)X 3380(the)X 3531(user)X 3724(to)X 3832(important)X 4240(or)X 576 1544(signi\256cant)N 1007(information.)X 1541(The)X 1722(user)X 1913(may)X 2110(not)X 2264(always)X 2562(necessarily)X 3021(know)X 3265(where)X 3531(to)X 3637(begin)X 3882(in)X 3988(identify-)X 576 1672(ing)N 734(a)X 812(bug)X 991(or)X 1106(performance)X 1627(bottleneck,)X 2087(and)X 2260(visual)X 2524(tools)X 2745(should)X 3035(be)X 3160(capable)X 3489(of)X 3603(partially)X 3959(leading)X 4277(a)X 576 1800(user)N 767(to)X 873(the)X 1022(source)X 1304(of)X 1415(the)X 1565(problem.)X 1966(Alternately,)X 2456(certain)X 2751(displays)X 3098(might)X 3355(inspire)X 3649(ideas)X 3879(in)X 3986(the)X 4136(user,)X 576 1928(leading)N 890(the)X 1038(user)X 1228(to)X 1333(examine)X 1690(particular)X 2090(details)X 2372(more)X 2600(closely)X 2903(by)X 3029(adjusting)X 3412(the)X 3559(view)X 3775(or)X 3884(by)X 4009(creating)X 576 2056(an)N 691(entirely)X 1010(new)X 1194(view.)X 3 f 576 2312(2.2.)N 768(Meta-Tool)X 1225(Designer)X 1612(View)X 1 f 776 2468(As)N 919(opposed)X 1276(to)X 1388(the)X 1543(straightforward,)X 2197(albeit)X 2450(somewhat)X 2878(evasive,)X 3229(perspective)X 3706(of)X 3824(the)X 3980(user,)X 4202(the)X 576 2596(perspective)N 1066(taken)X 1326(by)X 1473(the)X 1642(meta-tool)X 2063(designer)X 2440(is)X 2555(more)X 2804(complex.)X 3235(The)X 3436(goal)X 3652(of)X 3782(the)X 3950(meta-tool)X 576 2724(designer)N 930(is)X 1022(to)X 1125(provide)X 1447(the)X 1593(full)X 1756(bene\256t)X 2047(of)X 2156(powerful,)X 2556(sophisticated)X 3088(displays)X 3432(while)X 3675(at)X 3774(the)X 3921(same)X 4148(time)X 576 2852(attempting)N 1027(to)X 1140(reduce)X 1435(the)X 1591(associated)X 2025(overhead)X 2416(to)X 2529(an)X 2658(acceptable)X 3104(minimum.)X 3565(The)X 3753(central)X 4053(task)X 4245(in)X 576 2980(constructing)N 1080(a)X 1151(meta-tool)X 1549(is)X 1641(to)X 1744(mask)X 1975(as)X 2083(many)X 2325(internal)X 2648(low-level)X 3040(details)X 3320(as)X 3429(possible)X 3773(from)X 3989(the)X 4136(user,)X 576 3108(and)N 750(require)X 1058(the)X 1211(user)X 1406(only)X 1612(to)X 1722(specify)X 2035(the)X 2188(necessary)X 2596(high-level)X 3021(details)X 3307(for)X 3453(a)X 3530(given)X 3778(analysis.)X 4170(The)X 576 3236(user)N 769(should)X 1058(not)X 1214(be)X 1339(required)X 1694(to)X 1803(understand)X 2259(or)X 2373(manipulate)X 2836(the)X 2988(underlying)X 3439(graphics)X 3799(or)X 3913(simulation)X 576 3364(systems,)N 929(but)X 1077(rather)X 1327(should)X 1608(focus)X 1841(on)X 1961(the)X 2103(abstract)X 2427(speci\256cation)X 2938(of)X 3042(views,)X 3314(using)X 3546(the)X 3688(higher)X 3958(level)X 4170(tool)X 576 3492(functions)N 958(as)X 1062(building)X 1407(blocks.)X 776 3648(This)N 971(masking)X 1321(of)X 1425(low-level)X 1813(internal)X 2132(details)X 2409(is)X 2498(straightforward)X 3116(to)X 3216(implement)X 3654(by)X 3775(utilizing)X 4122(com-)X 576 3776(mon)N 778(principles)X 1189(of)X 1300(modularity)X 1754(and)X 1924(layered)X 2239(interfaces,)X 2 f 2668(as)X 2783(long)X 2984(as)X 3099(a)X 3177(suitable)X 3512(means)X 3787(for)X 3929(specifying)X 576 3904(visual)N 835(semantics)X 1243(exists.)X 1 f 1534(There)X 1788(must)X 2004(be)X 2124(a)X 2197(clear,)X 2439(concise,)X 2782(formal)X 3069(speci\256cation)X 3586(syntax)X 3867(for)X 4009(creating)X 576 4032(and)N 742(controlling)X 1192(views)X 1443(\320)X 1566(the)X 1711(lack)X 1899(of)X 2006(such)X 2209(a)X 2279(standard)X 2632("visualization)X 3191(language")X 3604(to)X 3705(date)X 3892(for)X 4030(parallel)X 576 4160(software)N 937(analysis)X 1277(is)X 1371(the)X 1520(central)X 1814(roadblock)X 2230(in)X 2336(designing)X 2741(tools)X 2959(for)X 3102(program)X 3459(visualization.)X 4031(Several)X 3 f 576 4288(visual)N 842(programming)X 1 f 1439([Mye88])X 1801(and)X 1966(other)X 2190(techniques)X 2628(have)X 2835(been)X 3042(applied)X 3351(to)X 3451(controlling)X 3899(visual)X 4154(ana-)X 576 4416(lyses,)N 825(but)X 981(the)X 1132(problem)X 1486(of)X 1599(actually)X 1938(specifying)X 2372(the)X 2523(visual)X 2786(analysis)X 3129(or)X 3242(view)X 3462(is)X 3560(not)X 3717(yet)X 3869(well)X 4069(under-)X 576 4544(stood.)N 776 4700(Textual)N 1095(languages)X 1504(are)X 1646(cumbersome)X 2162(for)X 2298(specifying)X 2723(some)X 2950(aspects)X 3252(of)X 3357(visual)X 3612(behavior.)X 4022(What)X 4256(is)X 576 4828(necessary)N 978(is)X 1070(an)X 1189(abstract,)X 1541(visually-oriented)X 2222(language)X 2598(that)X 2771(describes)X 3157(the)X 3303(drawing)X 3645(and)X 3811(manipulation)X 576 4956(of)N 682(graphics)X 1034(at)X 1131(a)X 1201(high)X 1399(level)X 1614(suitable)X 1941(for)X 2080(a)X 2150(non-graphics)X 2679(expert,)X 2971(and)X 3137(with)X 3335(appropriate)X 3801(semantics)X 4208(for)X 576 5084(parallel)N 901(software)X 1267(analysis.)X 1660(Note,)X 1906(however,)X 2296(that)X 2476(the)X 2628(existence)X 3021(of)X 3135(such)X 3345(a)X 3422(language)X 3804(might)X 4063(indeed)X 576 5212(constitute)N 978(a)X 1048(solution)X 1385(to)X 1487(the)X 1632(visual)X 1889(programming)X 2440(problem,)X 2812(and)X 2979(even)X 3189(further)X 3479(borders)X 3795(on)X 3919(transcend-)X 576 5340(ing)N 726(conventional)X 1251(and)X 1417(natural)X 1712(languages)X 2123(to)X 2224(be)X 2341(an)X 2458(abstract,)X 2808(symbolic,)X 3211(universal)X 3590(language.)X 4012(Clearly,)X 576 5468(this)N 745(is)X 839(not)X 992(fully)X 1204(possible)X 1549(given)X 1793(current)X 2096(technology.)X 2602(However,)X 3008(within)X 3284(the)X 3432(limited)X 3736(context)X 4050(of)X 4160(pro-)X 576 5596(gram)N 798(visualization)X 1315(it)X 1393(is)X 1481(feasible,)X 1829(and)X 1992(a)X 2059(suf\256cient)X 2441(syntax)X 2716(can)X 2874(be)X 2989(constructed.)X 9 p %%Page: 9 12 12 s 0 xH 0 xS 1 f 2368 416(-)N 2424(9)X 2496(-)X 776 876(Some)N 1039(existing)X 1388(visualization)X 1925(tools)X 2156(have)X 2382(explored)X 2763(various)X 3090(alternatives)X 3579(to)X 3698(masking)X 4068(details)X 576 1004(from)N 805(the)X 965(user,)X 1190(as)X 1311(well)X 1518(as)X 1639(different)X 2012(techniques)X 2465(for)X 2618(specifying)X 3060(views.)X 3373(PARADISE)X 3882(utilizes)X 4202(the)X 576 1132("plug-in")N 965(simulator)X 1362(concept)X 1695(to)X 1803(hide)X 2002(a)X 2078(majority)X 2438(of)X 2551(internal)X 2879(detail)X 3128(from)X 3349(the)X 3501(user)X 3695(for)X 3841(its)X 3966(animated)X 576 1260(simulations)N 1052(\(see)X 1239(Figure)X 1522(1\).)X 1682(Using)X 1943(this)X 2114(approach,)X 2523(those)X 2757(details)X 3040(consistent)X 3456(for)X 3599(all)X 3727(simulations)X 4202(are)X 576 1388(provided)N 942(by)X 1062(the)X 1204(tool,)X 1402(and)X 1565(the)X 1707(user)X 1892(simply)X 2179("plugs)X 2451(in")X 2590(a)X 2658(particular)X 3053(simulation)X 3485(module)X 3799(to)X 3899(specify)X 4202(the)X 576 1516(necessary)N 985(detail)X 1235(for)X 1382(that)X 1562(simulation.)X 2052(This)X 2258(approach)X 2646(hides)X 2883(internal)X 3212(details)X 3498(well,)X 3722(but)X 3879(can)X 4047(require)X 576 1644(signi\256cant)N 1015(speci\256cation)X 1540(of)X 1658(the)X 1815(remaining)X 2245(details)X 2536(by)X 2671(the)X 2828(user)X 3027(depending)X 3467(on)X 3602(the)X 3759(user)X 3958(interface.)X 576 1772(The)N 756(Tango)X 1032(visualization)X 1555(system)X 1852(utilizes)X 2161(an)X 2282(abstract)X 2612(visual)X 2872(manipulation)X 3411(language)X 3789(to)X 3894(specify)X 4202(the)X 576 1900(movement)N 1009(of)X 1115(graphic)X 1430(objects)X 1729(in)X 1830(conjunction)X 2311(with)X 2508(a)X 2578(program's)X 3000(execution.)X 3450(A)X 3546(more)X 3771(complete,)X 4176(for-)X 576 2028(mal,)N 771(graphical)X 1156(animation)X 1568(language)X 1942(is)X 2032(necessary)X 2432(in)X 2533(future)X 2789(tools)X 3002(to)X 3102(allow)X 3341(more)X 3564(general)X 3873(animations,)X 576 2156(and)N 739(without)X 1057(integration)X 1499(with)X 1694(and)X 1857(annotation)X 2288(of)X 2392(user)X 2576(applications.)X 3 f 14 s 9 f 1401 4990 MXY (->)174 987 oc 1403 MX (->)174 987 oc 3 f 1541(Complete)X 2031(Customized)X 2627(Animated)X 3129(Simulator)X 1 f 60 s 1224 3546 MXY 2448 Dc 1454 2826 MXY 993 705 Dl 2448 MX -993 720 Dl 3 f 14 s 2258 2683(Generic)N 2412 2971(Animated)N 2611 3259(Simulator)N 2804 3547(Skeleton)N 1500 3259(User)N 1410 3504(Provided)N 1383 3749(De\256nitions)N 1 f 12 s 1742 5203(Figure)N 2017(1:)X 2116(Plug-In)X 2428(Simulator)X 2832(Concept)X 776 5423(An)N 919(important)X 1320(aspect)X 1587(of)X 1694(any)X 1860(scheme)X 2176(a)X 2246(meta-tool)X 2643(designer)X 2996(creates)X 3291(is)X 3382(that)X 3554(the)X 3699(scheme)X 4015(must)X 4229(be)X 576 5551(customizable)N 1119(to)X 1228(suit)X 1401(the)X 1553(user's)X 1816(particular)X 2220(preferences,)X 2722(as)X 2835(discussed)X 3236(in)X 3344(the)X 3495(previous)X 3859(section.)X 4213(To)X 576 5679(provide)N 897(customizability)X 1519(in)X 1622(views,)X 1898(and)X 2065(analysis)X 2403(features)X 2736(and)X 2903(options,)X 3238(it)X 3320(is)X 3412(necessary)X 3814(for)X 3954(the)X 4100(meta-)X 576 5807(tool)N 765(designer)X 1130(to)X 1244(generalize)X 1680(and)X 1857(formally)X 2227(classify)X 2559(the)X 2715(fundamental)X 3235(parameters)X 3696(of)X 3814(the)X 3970(analyses.)X 10 p %%Page: 10 13 12 s 0 xH 0 xS 1 f 2344 416(-)N 2400(10)X 2520(-)X 576 876(Designing)N 997(a)X 1066(meta-tool)X 1462(in)X 1563(this)X 1728(way)X 1914(requires)X 2250(a)X 2319(full)X 2479(understanding)X 3050(of)X 3156(the)X 3300(needs)X 3545(of)X 3651(both)X 3849(the)X 3994(user)X 4181(and)X 576 1004(the)N 721(basic)X 946(concepts)X 1310(and)X 1476(parameters)X 1926(of)X 2033(the)X 2178(paradigm)X 2569(under)X 2815(analysis.)X 3200(It)X 3285(is)X 3375(the)X 3519(task)X 3700(of)X 3806(the)X 3950(meta-tool)X 576 1132(designer)N 948(to)X 1069(organize)X 1447(and)X 1632(partition)X 2005(a)X 2094(problem)X 2461(space)X 2721(into)X 2917(its)X 3054(fundamental)X 3582(characteristics)X 4181(and)X 576 1260(parameters,)N 1054(and)X 1224(then)X 1421(to)X 1527(construct)X 1911(analysis)X 2252(tools)X 2470(that)X 2646(are)X 2795(generally)X 3185(applicable)X 3613(to)X 3719(these)X 3947(core)X 4143(enti-)X 576 1388(ties.)N 785(The)X 962(operations)X 1390(on)X 1513(these)X 1738(parameters)X 2188(must)X 2402(be)X 2520(understood,)X 2998(and)X 3164(a)X 3235(means)X 3509(for)X 3649(effectively)X 4090(speci-)X 576 1516(fying)N 822(these)X 1063(parameters)X 1529(must)X 1758(be)X 1891(constructed.)X 2425(For)X 2600(customizability,)X 3261(the)X 3421(meta-tool)X 3833(environment)X 576 1644(must)N 799(avoid)X 1049(static)X 1289(semantics)X 1705(and)X 1880(prede\256ned)X 2322(con\256gurations,)X 2932(and)X 3107(rely)X 3293(on)X 3425(the)X 3579(user)X 3775(to)X 3887(specify)X 4202(the)X 576 1772(fundamental)N 1082(parameter)X 1492(values.)X 776 1928(Further,)N 1112(to)X 1216(fully)X 1427(utilize)X 1698(and)X 1866(bene\256t)X 2157(from)X 2373(the)X 2520(generality)X 2935(of)X 3045(the)X 3193(tool,)X 3397(there)X 3620(must)X 3837(be)X 3958(a)X 4031(\257exible)X 576 2056(interface)N 941(for)X 1080(the)X 1225(user)X 1412(to)X 1514(specify)X 1819(the)X 1964(necessary)X 2365(details.)X 2692(The)X 2869(user)X 3056(interface)X 3421(must)X 3635(be)X 3753(highly)X 4025(interac-)X 576 2184(tive)N 751(and)X 920(allow)X 1164(dynamic)X 1526(speci\256cation)X 2044(of)X 2155(the)X 2304(semantics)X 2715(of)X 2826(analyses.)X 3231(Modi\256cation)X 3759(and)X 3929(manipula-)X 576 2312(tion)N 757(of)X 868(analyses)X 1225(should)X 1511(be)X 1632(possible)X 1977(without)X 2301(great)X 2524(expense)X 2864(to)X 2969(the)X 3117(user,)X 3331(and)X 3500(every)X 3744(attempt)X 4064(should)X 576 2440(be)N 702(made)X 946(to)X 1056(avoid)X 1305(the)X 1458(necessity)X 1846(for)X 1993(re-compilation)X 2597(and)X 2772(restarting)X 3172(analyses)X 3534(from)X 3757(the)X 3911(beginning.)X 576 2568(Speci\256cation)N 1115(of)X 1231(dynamically)X 1744(changing)X 2133(characteristics)X 2721(and)X 2896(parameters)X 3354(should)X 3645(be)X 3771(interpreted)X 4224(by)X 576 2696(the)N 718(tool,)X 916(and)X 1079(static)X 1307(details)X 1583(should)X 1863(be)X 1978(dynamically)X 2479(compiled)X 2862(internally)X 3256(where)X 3515(possible.)X 776 2852(Care)N 986(should)X 1270(be)X 1389(taken)X 1626(in)X 1729(creating)X 2068(any)X 2235(tool)X 2413(to)X 2516(reduce)X 2801(the)X 2947(inherent)X 3291(user)X 3479(overhead)X 3861(in)X 3965(using)X 4202(the)X 576 2980(tool.)N 799(Interfaces)X 1203(should)X 1483(be)X 1598(concise)X 1911(and)X 2074(simple,)X 2379(with)X 2574(common)X 2935(operations)X 3360(being)X 3598(optimized)X 4008(down)X 4245(to)X 576 3108(a)N 654(minimal)X 1011(number)X 1340(of)X 1455(steps.)X 1730(The)X 1915(aggregate)X 2325(number)X 2654(of)X 2769(keystrokes,)X 3239(mouse)X 3525(clicks,)X 3809(etc.,)X 4006(must)X 4229(be)X 576 3236(minimized)N 1013(by)X 1133(intrinsically)X 1618(including)X 2006(automatic)X 2411(features,)X 2764(as)X 2868(well)X 3058(as)X 3162(the)X 3304(capability)X 3709(for)X 3845(user-de\256ned)X 576 3364(macros.)N 927(Especially)X 1354(for)X 1491(analyses)X 1842(of)X 1947(parallel)X 2262(systems,)X 2615(an)X 2731(ef\256cient)X 3072(method)X 3386(for)X 3523(replicating)X 3962(details)X 4240(of)X 576 3492(a)N 652(speci\256cation)X 1172(is)X 1269(useful.)X 1585(Any)X 1783(aspect)X 2057(of)X 2170(an)X 2294(analysis)X 2637(that)X 2815(can)X 2982(be)X 3106(reused)X 3389(constitutes)X 3833(a)X 3908(substantial)X 576 3620(savings)N 907(to)X 1025(the)X 1186(user.)X 1437(A)X 1549(simple)X 1849(storage)X 2171(and)X 2354(retrieval)X 2720(system)X 3031(or)X 3155(a)X 3242(library)X 3543(system)X 3854(for)X 4010(analysis)X 576 3748(speci\256cations)N 1135(would)X 1410(be)X 1536(bene\256cial.)X 1994(The)X 2179(user)X 2374(will)X 2559(likely)X 2813(have)X 3029(particular)X 3433(preferences)X 3911(for)X 4057(certain)X 576 3876(analysis)N 914(parameters)X 1365(which)X 1628(will)X 1806(remain)X 2102(constant)X 2451(over)X 2650(several)X 2951(analyses.)X 3353(These)X 3612(parameters)X 4064(should)X 576 4004(have)N 784(the)X 928(ability)X 1201(to)X 1302(use)X 1456(default)X 1750(values)X 2022(at)X 2117(the)X 2260(user's)X 2514(discretion.)X 2967(The)X 3142(meta-tool)X 3537(designer)X 3888(must)X 4100(select)X 576 4132(these)N 809(candidate)X 1215(parameters)X 1674(and)X 1849(organize)X 2217(them)X 2446(into)X 2632(some)X 2871(form)X 3094(of)X 3210(database)X 3578(that)X 3759(can)X 3929(ef\256ciently)X 576 4260(maintain)N 938(the)X 1080(necessary)X 1478(default)X 1770(choices.)X 776 4416(An)N 920(important)X 1322(issue)X 1541(in)X 1643(designing)X 2044(a)X 2115(meta-tool)X 2513(is)X 2605(deciding)X 2965(on)X 3089(the)X 3235(proper)X 3514(model)X 3783(for)X 3923(the)X 4069(under-)X 576 4544(lying)N 800(simulations)X 1269(or)X 1374(analyses.)X 1773(There)X 2023(are)X 2166(several)X 2464(methods)X 2815(for)X 2952(driving)X 3255(graphical)X 3639(views)X 3888(and)X 4052(anima-)X 576 4672(tions.)N 858(For)X 1039(example,)X 1438(a)X 1529(state)X 1754(machine)X 2129(approach)X 2530(may)X 2744(be)X 2883(taken,)X 3164(in)X 3287(which)X 3570(case)X 3784(the)X 3950(meta-tool)X 576 4800(designer)N 935(must)X 1155(decide)X 1439(upon)X 1663(the)X 1813(best)X 2000(approach.)X 2433(A)X 2534(Moore)X 2822(approach)X 3207(would)X 3479(result)X 3725(in)X 3832(large)X 4057(collec-)X 576 4928(tions)N 787(of)X 891(states)X 1129(that)X 1298(would)X 1562(simply)X 1848(control)X 2145(the)X 2287(visual)X 2541(output,)X 2836(where)X 3096(a)X 3164(Mealy)X 3435(approach)X 3813(would)X 4078(utilize)X 576 5056(fewer,)N 851(more)X 1081(complicated)X 1585(states.)X 1879(Alternately,)X 2369(the)X 2519(use)X 2679(of)X 2791(dynamic)X 3155(\256lter)X 3369(schemes,)X 3751(to)X 3857(process)X 4176(raw)X 576 5184(data)N 761(and)X 924(channel)X 1248(it)X 1326(to)X 1425(displays,)X 1788(could)X 2026(be)X 2141(used)X 2341(in)X 2440(place)X 2668(of)X 2772(state)X 2973(machines.)X 776 5340(For)N 941(any)X 1112(of)X 1224(these)X 1454(underlying)X 1903(models,)X 2237(it)X 2323(is)X 2419(necessary)X 2825(to)X 2932(decide)X 3216(what)X 3435(types)X 3671(of)X 3784(animations)X 4240(or)X 576 5468(views)N 843(will)X 1035(be)X 1168(supported,)X 1613(and)X 1794(how)X 2001(those)X 2246(views)X 2512(can)X 2688(be)X 2821(speci\256ed.)X 3253(An)X 3412(animation)X 3840(can)X 4016(be)X 4149(con-)X 576 5596(structed)N 928(from)X 1162(sequences)X 1599(of)X 1726(discrete)X 2074(images,)X 2419(requiring)X 2820(speci\256cation)X 3355(of)X 3483(each)X 3708(such)X 3932(image,)X 4240(or)X 576 5724(perhaps)N 904(an)X 1024(animation)X 1439(could)X 1682(be)X 1802(created)X 2110(by)X 2235(completely)X 2693(specifying)X 3123(an)X 3243(initial)X 3498(state,)X 3728(and)X 3895(then)X 4089(utiliz-)X 576 5852(ing)N 724(special)X 1017(functions)X 1400(to)X 1500(continuously)X 2022(modify)X 2325(or)X 2430(modulate)X 2814(the)X 2958(view.)X 3219(Another)X 3560(alternative)X 3994(involves)X 11 p %%Page: 11 14 12 s 0 xH 0 xS 1 f 2344 416(-)N 2400(11)X 2520(-)X 576 876(using)N 816(expressions)X 1296(or)X 1408(functions)X 1798(to)X 1905(relate)X 2152(program)X 2510(execution)X 2917(data)X 3110(directly)X 3436(to)X 3542(animation)X 3959(behavior.)X 576 1004(The)N 750(best)X 929(choice)X 1205(for)X 1341(this)X 1504(aspect)X 1769(of)X 1873(program)X 2223(visualization)X 2740(remains)X 3069(unknown.)X 3 f 576 1260(2.3.)N 768(Toolkit)X 1091(Alternative)X 1 f 776 1416(An)N 924(alternative)X 1363(to)X 1469(the)X 1618(use)X 1777(of)X 1888(meta-tools)X 2326(is)X 2421(the)X 2570(use)X 2729(of)X 2840(toolkits.)X 3208(Toolkits)X 3560(are)X 3709(simpler,)X 4053(though)X 576 1544(more)N 813(cumbersome)X 1344(than)X 1549(meta-tools,)X 2019(and)X 2197(consist)X 2503(of)X 2622(a)X 2704(limited)X 3016(set)X 3161(of)X 3279(general-purpose)X 3937("tools")X 4240(or)X 576 1672(analysis)N 922(features)X 1263(that)X 1444(can)X 1614(be)X 1741(utilized)X 2067(in)X 2178(various)X 2497(combinations)X 3052(and)X 3227(con\256gurations.)X 3861(Rather)X 4154(than)X 576 1800(attempt)N 897(to)X 1003(provide)X 1328(the)X 1477(user)X 1668(with)X 1870(the)X 2019("right)X 2271(tool)X 2451(for)X 2593(the)X 2741(job")X 2933(in)X 3038(every)X 3282(case,)X 3502(a)X 3575(toolkit)X 3857(instead)X 4160(pro-)X 576 1928(vides)N 804(a)X 872(set)X 1004(of)X 1109(simpler)X 1423(tools)X 1635(which)X 1895(the)X 2038(user)X 2223(can)X 2382("make)X 2656(work")X 2918(for)X 3056(each)X 3259(particular)X 3655("job".)X 3930(Analogies)X 576 2056(can)N 737(be)X 855(taken)X 1091(from)X 1305(Unix)X 1523(hackers,)X 1867(who)X 2058(can)X 2218(accomplish)X 2683(nearly)X 2950(anything)X 3313(with)X 3510(a)X 3579(minimal)X 3927(set)X 4060(of)X 4166(sys-)X 576 2184(tem)N 753(calls)X 962(\320)X 1090(such)X 1298(as)X 1410(constructing)X 1918(Turing)X 2212(machines)X 2608(using)X 2848(the)X 2998("vi")X 3183(editor.)X 3488(A)X 3589(toolkit)X 3874(can)X 4041(also)X 4229(be)X 576 2312(compared)N 993(to)X 1105(the)X 1260("hammer)X 1652(\256xes)X 1870(anything")X 2283(approach)X 2673(in)X 2785(construction)X 3297(and)X 3472(home)X 3722(repair.)X 4031(Several)X 576 2440(existing,)N 934(and)X 1102(quite)X 1324(successful,)X 1772(visualization)X 2294(tools)X 2510(could)X 2753(be)X 2873(categorized)X 3348(as)X 3458(toolkits,)X 3801(such)X 4007(as)X 4117(Para-)X 576 2568(Graph,)N 864(TOPSYS,)X 1268(IPS-2)X 1510([MiY89,MiC90],)X 2195(and)X 2358(Faust)X 2590([GuG89].)X 776 2724(The)N 966(effectiveness)X 1509(of)X 1629(a)X 1713(toolkit)X 2006(depends)X 2362(on)X 2499(the)X 2658(variety)X 2967(and)X 3147(quality)X 3456(of)X 3577(the)X 3736(tools)X 3964(included.)X 576 2852(Clearly,)N 913(the)X 1060(larger)X 1314(the)X 1461(toolkit,)X 1766(the)X 1913(better)X 2161(each)X 2366(resulting)X 2731(solution)X 3069(will)X 3247(be,)X 3390(and)X 3557(the)X 3703(more)X 3929(ef\256ciently)X 576 2980(the)N 729(solution)X 1074(will)X 1259(be)X 1385(reached.)X 1768(The)X 1953(issue)X 2180(of)X 2295(cost)X 2485(may)X 2686(be)X 2813(considered)X 3266(in)X 3377(a)X 3456(toolkit)X 3744(when)X 3988(deciding)X 576 3108(whether)N 915(or)X 1024(not)X 1176(to)X 1280(add)X 1448(a)X 1520(new)X 1709(tool.)X 1936(If)X 2029(the)X 2176(cost)X 2360(of)X 2469(adding)X 2760(new)X 2949(features)X 3283(to)X 3387(a)X 3459(toolkit)X 3740(is)X 3832(more)X 4058(expen-)X 576 3236(sive)N 760(than)X 955(making)X 1273(the)X 1420(existing)X 1755(features)X 2090(work)X 2317(for)X 2459(the)X 2607(job,)X 2784(then)X 2980(adding)X 3272(new)X 3462(tools)X 3679(will)X 3859(not)X 4012(be)X 4133(cost-)X 576 3364(effective)N 938(for)X 1074(the)X 1216(kit.)X 776 3520(The)N 962(inherent)X 1314(drawback)X 1724(to)X 1835(the)X 1989(use)X 2153(of)X 2270(toolkits)X 2596(is)X 2697(that)X 2879(even)X 3098(when)X 3343(a)X 3423("good")X 3730(solution)X 4077(exists,)X 576 3648(there)N 799(may)X 995(be)X 1116(a)X 1189(high)X 1390(cost)X 1575(in)X 1680(overhead)X 2063(to)X 2168(arrive)X 2422(at)X 2521(that)X 2695(solution.)X 3082(By)X 3223(forcing)X 3530(the)X 3677("wrong")X 4029(tools)X 4245(to)X 576 3776(do)N 708(a)X 787(particular)X 1193(job,)X 1376(the)X 1530(solution)X 1876(may)X 2078(become)X 2414(complicated)X 2923(and)X 3099(cumbersome,)X 3652(and)X 3828(the)X 3983(resulting)X 576 3904(overhead)N 958(will)X 1137(likely)X 1386(have)X 1597(to)X 1701(be)X 1821(repeated)X 2177(for)X 2318(each)X 2523(subsequent)X 2978(analysis.)X 3364(As)X 3498(a)X 3569(user)X 3757(becomes)X 4122(more)X 576 4032(experienced)N 1084(with)X 1297(the)X 1457(toolkit,)X 1775(the)X 1935(overhead)X 2330(can)X 2506(be)X 2639(reduced)X 2986(as)X 3108(the)X 3268(user)X 3470(learns)X 3742(more)X 3982(effective)X 576 4160(methods)N 932(of)X 1042(using)X 1280(the)X 1428(toolkit.)X 1758(The)X 1938(extent)X 2204(to)X 2309(which)X 2574(the)X 2722(development)X 3250(time)X 3452(is)X 3546(reduced)X 3880(depends)X 4224(on)X 576 4288(the)N 720(skill)X 912(of)X 1018(the)X 1162(user)X 1348(and)X 1513(the)X 1657(quality)X 1951(of)X 2057(the)X 2201(toolkit.)X 2527(A)X 2622(more)X 2846(precise)X 3145(explanation)X 3621(is)X 3711(provided)X 4079(by)X 4202(the)X 576 4416(following)N 974(expressions:)X 3 f 1613 4608(T)N 9 s 1677 4627(Analysis)N 6 s 1937 4641(1)N 12 s 9 f 2023 4608(=)N 2025(=)X 3 f 2126(T)X 9 s 2190 4627(Learn)N 2396(Tool)X 12 s 9 f 2592 4608(+)N 2594(+)X 3 f 2695(T)X 9 s 2759 4627(Design)N 2985(Analysis)X 6 s 3245 4641(1)N 12 s 1541 4846(T)N 9 s 1605 4865(Analysis)N 6 s 1865 4879(n)N 12 s 9 f 1954 4846(=)N 1956(=)X 3 f 2057(T)X 9 s 2121 4865(Design)N 2347(Analysis)X 6 s 2607 4879(n)N 12 s 9 f 2696 4846(-)N 2698(-)X 3 f 2799(f\(Experience\))X 1 f 576 5036(The)N 762(time)X 970(for)X 1118(the)X 1272(\256rst)X 1457(analysis)X 1803(requires)X 2149(time)X 2357(to)X 2468 0.3187(familiarize)AX 2923(the)X 3077(user)X 3273(with)X 3481(the)X 3636(tool)X 3823(and)X 3999(learn)X 4229(its)X 576 5164(basic)N 810(functionality,)X 1363(plus)X 1559(time)X 1767(to)X 1878(actually)X 2220(design)X 2507(the)X 2660(\256rst)X 2844(analysis.)X 3237(After)X 3475(this)X 3649(\256rst)X 3833(analysis,)X 4202(the)X 576 5292(tool)N 754(is)X 846("learned")X 1236(and)X 1403(the)X 1549(time)X 1749(for)X 1889(each)X 2094(subsequent)X 2549(analysis)X 2887(is)X 2980(only)X 3180(the)X 3327(time)X 3528(to)X 3632(actually)X 3967(construct)X 576 5420(the)N 730(analysis,)X 1100(minus)X 1371(some)X 1610(function)X 1967(of)X 2083(the)X 2237(user's)X 2502(experience)X 2956(with)X 3163(the)X 3317(tool.)X 3551(It)X 3646(is)X 3746(likely)X 4001(that)X 4181(this)X 576 5548(function)N 921(has)X 1073(an)X 1188(asymptotic)X 1635(limit)X 1842(that)X 2011(depends)X 2350(on)X 2470(the)X 2612(user's)X 2865(skill)X 3055(and)X 3218(the)X 3360(toolkit's)X 3705(diversity.)X 776 5704(The)N 961(difference)X 1387(between)X 1743(the)X 1896(meta-tool)X 2301(approach)X 2689(and)X 2863(the)X 3016(toolkit)X 3303(approach)X 3691(may)X 3892(be)X 4018(seen)X 4224(by)X 576 5832(comparing)N 1017(their)X 1223(parameters)X 1675(in)X 1778(the)X 1924(two)X 2096(above)X 2354(expressions.)X 2878(For)X 3039(a)X 3110(meta-tool,)X 3532(the)X 3678(time)X 3878(to)X 3981(learn)X 4202(the)X 12 p %%Page: 12 15 12 s 0 xH 0 xS 1 f 2344 416(-)N 2400(12)X 2520(-)X 576 876(complexities)N 1102(of)X 1215(the)X 1366(speci\256cation)X 1886(language)X 2268(and)X 2441 0.3187(familiarize)AX 2894(the)X 3046(user)X 3240(with)X 3445(the)X 3597(tool)X 3781(may)X 3981(be)X 4106(much)X 576 1004(larger)N 832(than)X 1029(the)X 1178(learning)X 1525(time)X 1728(for)X 1871(a)X 1945(toolkit.)X 2276(However,)X 2683(the)X 2832(solutions)X 3209(generated)X 3614(for)X 3756(analyses)X 4112(using)X 576 1132(the)N 723(meta-tool)X 1122(are)X 1269(more)X 1496(specialized)X 1954(and)X 2122(will)X 2302(likely)X 2552(produce)X 2892(results)X 3173(more)X 3401(ef\256ciently.)X 3870(In)X 3980(addition,)X 576 1260(as)N 685(a)X 757(user)X 946(accumulates)X 1452(a)X 1524(collection)X 1934(of)X 2043(user)X 2232(preferences)X 2705(with)X 2905(the)X 3052(meta-tool,)X 3475(the)X 3622(development)X 4148(time)X 576 1388(for)N 720(new)X 912(analyses)X 1270(will)X 1453(be)X 1577(further)X 1872(reduced,)X 2234(whereas)X 2582(the)X 2733(user)X 2926(must)X 3146(reconstruct)X 3607(each)X 3817(new)X 4010(analysis)X 576 1516(when)N 808(using)X 1040(the)X 1182(toolkit.)X 1506(This)X 1701(comparison)X 2174(is)X 2262(illustrated)X 2672(in)X 2771(Figure)X 3046(2.)X 3 f 2081 1772(Toolkit)N 2404(Approach)X 1 f 40 s 1872 1938 MXY 57 5 Dl 1987 1947 MXY 57 5 Dl 2102 1957 MXY 57 5 Dl 2217 1967 MXY 57 5 Dl 2332 1977 MXY 57 5 Dl 2448 1987 MXY 57 5 Dl 2563 1997 MXY 57 5 Dl 2678 2007 MXY 57 5 Dl 2793 2016 MXY 57 5 Dl 2908 2026 MXY 57 5 Dl 3024 2036 MXY 57 5 Dl 3139 2046 MXY 57 5 Dl 3254 2056 MXY 57 5 Dl 3369 2066 MXY 57 5 Dl 3484 2076 MXY 57 5 Dl 3600 2086 MXY 57 5 Dl 3715 2095 MXY 57 5 Dl 3830 2105 MXY 57 5 Dl 3600 2398 MXY 0 -460 Dl 172 0 Dl 0 460 Dl 3024 MX 0 -460 Dl 172 0 Dl 0 460 Dl 2448 MX 0 -460 Dl 172 0 Dl 0 460 Dl 1872 MX 0 -460 Dl 172 0 Dl 0 460 Dl 1296 MX 0 -172 Dl 172 0 Dl 0 172 Dl 1008 MX 2880 0 Dl 3830 2413 MXY 57 -14 Dl 3830 2384 MXY 57 14 Dl 3 f 14 s 3753 2530(time)N 12 s 2014 2874(Meta-Tool)N 2471(Approach)X 1 f 40 s 3600 3558 MXY 0 -172 Dl 3385 MY 172 0 Dl 0 172 Dl 3024 3558 MXY 0 -201 Dl 3356 MY 172 0 Dl 0 201 Dl 2448 3558 MXY 0 -288 Dl 172 0 Dl 0 288 Dl 1872 MX 0 -403 Dl 172 0 Dl 0 403 Dl 1296 MX 0 -518 Dl 172 0 Dl 0 518 Dl 1008 MX 2880 0 Dl 3830 3572 MXY 57 -14 Dl 3830 3544 MXY 57 14 Dl 3 f 14 s 3753 3689(time)N 1 f 12 s 1447 3905(Figure)N 1722(2:)X 1821(Toolkit)X 2129(&)X 2228(Meta-Tool)X 2664(Development)X 3207(Times)X 776 4125(The)N 955(fundamental)X 1466(trade-off)X 1832(between)X 2182(these)X 2409(two)X 2583(approaches)X 3046(involves)X 3402(the)X 3550(patience)X 3902(of)X 4012(the)X 4160(user)X 576 4253(in)N 676(\256rst)X 850(adopting)X 1212(a)X 1280(particular)X 1675(approach.)X 2101(It)X 2185(would)X 2449(seem)X 2671(that)X 2840(if)X 2923(the)X 3065(high)X 3260(cost)X 3439(of)X 3543(learning)X 3883(a)X 3950(meta-tool)X 576 4381(is)N 673(paid,)X 896(the)X 1047(user)X 1240(bene\256ts)X 1572(from)X 1792(a)X 1869(more)X 2101(powerful,)X 2506(\257exible,)X 2853(and)X 3026(ef\256cient)X 3376(analysis)X 3720(system.)X 4069(Other-)X 576 4509(wise,)N 802(if)X 887(the)X 1031(user)X 1217(is)X 1307(not)X 1456(willing)X 1755(to)X 1856(take)X 2043(the)X 2187(time)X 2385(to)X 2485(learn)X 2703(the)X 2846(more)X 3069(complicated)X 3566(meta-tool)X 3961(system,)X 4277(a)X 576 4637(higher)N 848(price)X 1067(is)X 1157(paid)X 1349(for)X 1487(each)X 1690(analysis.)X 2074(Each)X 2293(of)X 2399(these)X 2623(approaches)X 3083(is)X 3174(appropriate)X 3640(for)X 3779(particular)X 4176(sets)X 576 4765(of)N 680(users)X 901(and)X 1064(analyses,)X 1438(depending)X 1863(on)X 1983(the)X 2125(long-term)X 2529(needs)X 2772(and)X 2935(requirements)X 3462(for)X 3598(the)X 3740(analysis)X 4074(tool.)X 776 4921(An)N 919(interesting)X 1352(observation)X 1827(is)X 1917(that)X 2088(as)X 2194(a)X 2263(user)X 2450(customizes)X 2905(a)X 2975(meta-tool)X 3372(to)X 3474(suit)X 3640(individual)X 4058(prefer-)X 576 5049(ences,)N 847(the)X 998(user)X 1191(may)X 1390(arrive)X 1648(at)X 1751(several)X 2057(key)X 2229(analysis)X 2571(con\256gurations)X 3153(that)X 3330(are)X 3480(used)X 3688(repeatedly.)X 4170(The)X 576 5177(resulting)N 943(default)X 1241(meta-tool)X 1641(con\256gurations)X 2221(could)X 2465(actually)X 2801(constitute)X 3206(a)X 3279(customized)X 3749(toolkit)X 4032(for)X 4175(that)X 576 5305(user.)N 811(Perhaps)X 1142(when)X 1377(the)X 1522(analytical)X 1925(needs)X 2171(of)X 2278(parallel)X 2595(software)X 2953(development)X 3478(are)X 3623(better)X 3869(understood,)X 576 5433(there)N 799(will)X 979(be)X 1100(less)X 1274(need)X 1486(for)X 1628(meta-tools,)X 2089(and)X 2258(a)X 2331(basic)X 2559(set)X 2696(of)X 2806(visual)X 3066(analysis)X 3406(techniques)X 3848(will)X 4028(be)X 4149(con-)X 576 5561(structed.)N 959(If)X 1053(that)X 1228(becomes)X 1595(possible,)X 1963(then)X 2158(general-purpose)X 2807(toolkits)X 3125(will)X 3304(be)X 3424(capable)X 3748(of)X 3857(handling)X 4223(all)X 576 5689(desired)N 887(analyses.)X 1294(Until)X 1525(then,)X 1748(if)X 1840(ever,)X 2063(meta-tools)X 2503(will)X 2686(be)X 2810(an)X 2934(essential)X 3299(element)X 3638(in)X 3746(the)X 3897(analysis)X 4240(of)X 576 5817(parallel)N 890(software.)X 13 p %%Page: 13 16 12 s 0 xH 0 xS 1 f 2344 416(-)N 2400(13)X 2520(-)X 3 f 576 876(3.)N 696(Problem)X 1073(Statement)X 1 f 776 1032(The)N 963(purpose)X 1304(of)X 1422(this)X 1599(thesis)X 1856(is)X 1958(to)X 2071(develop)X 2414(a)X 2495(design)X 2784(methodology)X 3330(for)X 3480(constructing)X 3994(program)X 576 1160(visualization)N 1097(meta-tools)X 1532(for)X 1672(parallel)X 1990(software)X 2349(analysis.)X 2735(The)X 2912(goal)X 3105(of)X 3212(this)X 3378(methodology)X 3913(is)X 4004(to)X 4106(allow)X 576 1288(utilization)N 1004(of)X 1120(more)X 1354(advanced)X 1754(visualization)X 2283(techniques)X 2731(while)X 2981(reducing)X 3354(the)X 3508(overhead)X 3897(in)X 4009(creating)X 576 1416(custom,)N 910(visual)X 1172(analysis)X 1514(environments.)X 2118(Customizable)X 2680(use)X 2840(of)X 2952(these)X 3182(more)X 3411(sophisticated)X 3945(visualiza-)X 576 1544(tion)N 750(techniques)X 1187(will)X 1362(provide)X 1681(a)X 1749(framework)X 2196(for)X 2333 0.2232(experimentation)AX 2985(within)X 3256(the)X 3399(visual)X 3654(software)X 4010(analysis)X 576 1672(paradigm.)N 1015(The)X 1191(methodology)X 1725(will)X 1901(also)X 2082(allow)X 2322(application)X 2777(of)X 2883(these)X 3107(advanced)X 3497(techniques)X 3935(to)X 4036(analyz-)X 576 1800(ing)N 724(parallel)X 1039(software.)X 1443(Based)X 1703(on)X 1824(the)X 1968(methodology,)X 2526(a)X 2595(prototype)X 2990(tool)X 3166(will)X 3342(be)X 3459(implemented)X 3989(to)X 4090(verify)X 576 1928(the)N 718(validity)X 1037(of)X 1141(the)X 1283(concepts.)X 3 f 576 2184(4.)N 696(Approach)X 1 f 776 2340(This)N 975(proposal)X 1334(provides)X 1693(a)X 1765(program)X 2120(visualization)X 2642(meta-tool)X 3041(design)X 3321(methodology)X 3858(for)X 3999(organiz-)X 576 2468(ing)N 729(and)X 898(simplifying)X 1371(the)X 1518(process)X 1835(of)X 1944(creating)X 2284(visual)X 2543(analyses)X 2898(for)X 3039(analyzing)X 3443(parallel)X 3762(software.)X 4170(The)X 576 2596(central)N 872(concepts)X 1242(utilized)X 1565(in)X 1673(this)X 1845(methodology)X 2386(are)X 2537(the)X 2688(meta-tool)X 3092(circulation)X 3539(architecture)X 4029(and)X 4202(the)X 576 2724(relationship)N 1063(mapping)X 1431(language.)X 1858(The)X 2039(architecture)X 2526(organizes)X 2926(the)X 3075(details)X 3358(of)X 3469(the)X 3618(user)X 3809(speci\256cation,)X 576 2852(and)N 741(provides)X 1098(a)X 1167(framework)X 1615(for)X 1753(combining)X 2191(those)X 2420(details)X 2698(using)X 2932(the)X 3076(mapping)X 3439(language.)X 3861(The)X 4037(follow-)X 576 2980(ing)N 734(two)X 913(sub-sections)X 1422(describe)X 1777(the)X 1929(methodology)X 2471(and)X 2644(an)X 2769(example)X 3130(meta-tool)X 3534(design)X 3819(based)X 4072(on)X 4202(the)X 576 3108(methodology,)N 1132(respectively.)X 3 f 576 3364(4.1.)N 768(Methodology)X 1 f 776 3520(For)N 944(the)X 1098(purposes)X 1475(of)X 1591(the)X 1745(methodology,)X 2313(the)X 2467(speci\256cation)X 2990(details)X 3278(of)X 3394(the)X 3548(visual)X 3814(analysis)X 4160(pro-)X 576 3648(cedure)N 857(are)X 999(viewed)X 1301(as)X 1405(belonging)X 1814(to)X 1913(three)X 3 f 2130(components)X 1 f 2620(:)X 2016 3840(1.)N 2112(Events)X 2016 4032(2.)N 2112(Behavior)X 2016 4224(3.)N 2112(Graphics)X 576 4416(Typically,)N 995(information)X 1475(concerning)X 1928(the)X 2071(execution)X 2471(of)X 2576(parallel)X 2892(software)X 3249(is)X 3339(considered)X 3782(in)X 3883(the)X 4027(form)X 4240(of)X 576 4544(discrete)N 905(occurrences,)X 1418(or)X 3 f 1527(events)X 1 f 1783(.)X 1860(Raw)X 2065(event)X 2303(data)X 2493(is)X 2586(captured)X 2947(during)X 3227(program)X 3582(execution)X 3986(to)X 4089(create)X 576 4672(a)N 655(trace)X 879(of)X 996(information)X 1488(that)X 1670(describes)X 2065(the)X 2220(program)X 2583(behavior)X 2957(during)X 3245(that)X 3427(execution.)X 3887(The)X 4074(events)X 576 4800(encapsulate)N 1072(data)X 1279(concerning)X 1753(the)X 1917(internal)X 2258(behavior)X 2641(of)X 2767(the)X 2931(software,)X 3331(and)X 3515(identify)X 3860(the)X 4023(time)X 4240(of)X 576 4928(occurrence)N 1036(of)X 1154(speci\256c)X 1486(actions)X 1797(within)X 2081(the)X 2237(software.)X 2654(The)X 2842(sequences)X 3270(of)X 3388(events)X 3672(produced)X 4068(by)X 4202(the)X 576 5056(execution)N 1005(of)X 1139(software)X 1524(are)X 1696(utilized)X 2040(in)X 2169(tuning)X 2468(software)X 2852(for)X 3017(performance)X 3557(and)X 3749(for)X 3914(debugging)X 576 5184(software.)N 776 5340(To)N 922(be)X 1052(utilized)X 1381(in)X 1495(an)X 1625(analysis,)X 1999(the)X 2157(raw)X 2341(event)X 2590(data)X 2791(must)X 3018(often)X 3256(be)X 3387(processed)X 3806(to)X 3921(derive)X 4202(the)X 576 5468(desired)N 887(program)X 3 f 1246(behavior)X 1 f 1642(information.)X 2178(Various)X 2515 0.3409(mathematical)AX 3068(functions)X 3458(are)X 3608(applied)X 3924(to)X 4031(convert)X 576 5596(the)N 727(individual)X 1151(raw)X 1328(event)X 1570(instances)X 1956(into)X 2139(useful)X 2408(statistics,)X 2798(and)X 2971(to)X 3080(organize)X 3446(the)X 3598(event)X 3841(information.)X 576 5724(The)N 753(results)X 1030(reveal)X 1292(high-level)X 1709(features)X 2040(and)X 2205(characteristics)X 2783(of)X 2889(the)X 3033(behavior)X 3396(described)X 3791(by)X 3913(the)X 4057(collec-)X 576 5852(tion)N 750(of)X 854(events.)X 14 p %%Page: 14 17 12 s 0 xH 0 xS 1 f 2344 416(-)N 2400(14)X 2520(-)X 776 876(The)N 960(software)X 1325(behavior)X 1696(information,)X 2209(once)X 2425(derived)X 2748(from)X 2969(events,)X 3273(must)X 3494(be)X 3619(made)X 3862(available)X 4245(to)X 576 1004(the)N 729(user)X 923(in)X 1032(a)X 1109(useful)X 1378(and)X 1551(meaningful)X 2024(form.)X 2293(In)X 2407(a)X 2484(program)X 2844(visualization)X 3371(system,)X 3696(behavior)X 4067(is)X 4165(ren-)X 576 1132(dered)N 818(visually)X 1151(using)X 3 f 1387(graphics)X 1 f 1739(.)X 1815(Graphics)X 2190(can)X 2352(provide)X 2674(intuitive,)X 3048(high-level)X 3467(interpretations)X 4052(of)X 4160(pro-)X 576 1260(gram)N 798(behavior)X 1159(by)X 1279(depicting)X 1662(the)X 1804(internal)X 2123(complexities)X 2640(of)X 2744(parallel)X 3058(software)X 3413(using)X 3645(visual)X 3899(analogies.)X 776 1416(The)N 954(central)X 1245(dif\256culty)X 1626(in)X 1729(using)X 1965(visualization)X 2486(for)X 2626(analyzing)X 3029(parallel)X 3347(software)X 3706(is)X 3798(in)X 3902(integrating)X 576 1544(these)N 803(three)X 1025(components)X 1519(in)X 1622(an)X 1741(ef\256cient,)X 2109(\257exible)X 2426(manner.)X 2791(To)X 2926(visually)X 3259(analyze)X 3582(software,)X 3965(the)X 4111(event)X 576 1672(and)N 743(behavior)X 1108(information)X 1591(must)X 1807(be)X 1927(linked)X 2197(together)X 2542(with)X 2742(the)X 2889(graphics)X 3244(to)X 3348(drive)X 3575(the)X 3722(dynamics)X 4120(of)X 4229(an)X 576 1800(animation.)N 1037(The)X 1214(possibility)X 1642(for)X 1781(large)X 2001(amounts)X 2354(of)X 2460(detail,)X 2725(combined)X 3131(with)X 3328(a)X 3397(high)X 3594(degree)X 3877(of)X 3983(coupling)X 576 1928(among)N 871(the)X 1022(different)X 1387(components,)X 1909(can)X 2076(result)X 2323(in)X 2431(highly)X 2710(complex)X 3075(and)X 3247(cumbersome)X 3772(speci\256cations.)X 576 2056(The)N 750(organization)X 1256(of)X 1360(the)X 1502(details)X 1778(and)X 1941(the)X 2083(manner)X 2396(of)X 2500(relating)X 2819(them)X 3036(are)X 3178(critical.)X 776 2212(There)N 1030(is)X 1123(no)X 1248(concise)X 1566(speci\256cation)X 2082(approach)X 2464(that)X 2638(applies)X 2940(well)X 3135(to)X 3239(details)X 3520(from)X 3737(all)X 3864(of)X 3974(the)X 4122(com-)X 576 2340(ponents.)N 962(The)X 1151(nature)X 1431(of)X 1550(the)X 1706(information)X 2199(in)X 2312(each)X 2527(of)X 2645(the)X 2801(components)X 3304(is)X 3406(unique,)X 3730(and)X 3907(each)X 4122(com-)X 576 2468(ponent)N 880(requires)X 1232(a)X 1317(different)X 1691(framework)X 2155(for)X 2309(specifying)X 2752(details.)X 3094(Existing)X 3458(program)X 3827(visualization)X 576 2596(tools)N 804(tend)X 1011(to)X 1127(emphasize)X 1574(the)X 1732(speci\256cation)X 2259(of)X 2379(only)X 2 f 2590(one)X 1 f 2769(of)X 2889(the)X 3047(components,)X 3576(leading)X 3900(to)X 4015(dif\256cult)X 576 2724(speci\256cation)N 1109(in)X 1230(the)X 1394(remaining)X 1831(components.)X 2390(The)X 2586(proposed)X 2984(design)X 3281(methodology)X 3835(relieves)X 4181(this)X 576 2852(imbalance)N 1009(by)X 1141(allowing)X 1514(independent)X 2021(speci\256cation)X 2544(of)X 2660(the)X 2814(details)X 3102(in)X 3212(different)X 3579(components.)X 4127(Each)X 576 2980(component)N 1035(utilizes)X 1345(the)X 1494(speci\256cation)X 2012(structure)X 2380(which)X 2646(is)X 2741(most)X 2960(natural)X 3260(for)X 3404(the)X 3554(details)X 3838(in)X 3945(that)X 4122(com-)X 576 3108(ponent.)N 776 3264(To)N 910(allow)X 1151(this)X 1317(independence)X 1874(in)X 1976(component)X 2431(speci\256cations,)X 3006(a)X 3076(means)X 3349(is)X 3440(required)X 3789(for)X 3929(ef\256ciently)X 576 3392(combining)N 1027(the)X 1184(individual)X 1614(representations)X 2236(into)X 2425(a)X 2506(complete,)X 2922(overall)X 3228(analysis)X 3576(speci\256cation.)X 4149(This)X 576 3520(integration)N 1023(of)X 1132(the)X 1279(speci\256cations)X 1832(must)X 2048(be)X 2168(general,)X 2505(to)X 2609(account)X 2939(for)X 3081(the)X 3229(variance)X 3586(in)X 3691(structure)X 4058(among)X 576 3648(the)N 727(different)X 1092(components.)X 1638(In)X 1751(addition,)X 2124(there)X 2350(must)X 2569(be)X 2692(a)X 2767(common,)X 3160(underlying)X 3609(foundation)X 4058(among)X 576 3776(the)N 720(individual)X 1137(speci\256cations)X 1687(to)X 1788(provide)X 2108(a)X 2177(frame)X 2428(of)X 2534(reference)X 2919(for)X 3057(combining)X 3495(the)X 3640(information.)X 4170(The)X 576 3904(methodology)N 1127(supports)X 1495(these)X 1736(requirements)X 2282(by)X 2421(introducing)X 2908(a)X 2994(general)X 3321(language)X 3711(for)X 3865(relating)X 4202(the)X 576 4032(details)N 870(from)X 1099(different)X 1473(components)X 1980(in)X 2097(terms)X 2353(of)X 2475(fundamental)X 2999(constructs)X 3431(called)X 3 f 3705(entities)X 1 f 3999(.)X 4090(These)X 576 4160(entities)N 884(organize)X 1245(the)X 1392(information)X 1875(within)X 2149(each)X 2354(component)X 2810(into)X 2988(distinct)X 3300(sets)X 3472(which)X 3735(contain)X 4047(closely)X 576 4288(related)N 863(details.)X 1187(The)X 1361(common)X 1722(entity)X 1966(organization)X 2473(underlying)X 2915(all)X 3037(speci\256cations)X 3586(provides)X 3942(a)X 4010(uniform)X 576 4416(interface)N 952(for)X 1102(accessing)X 1509(the)X 1665(information.)X 2206(The)X 2393(entities)X 2709(constitute)X 3121(the)X 3276("building)X 3673(blocks")X 4000(for)X 4149(con-)X 576 4544(structing)N 937(the)X 1079(complete)X 1457(speci\256cation.)X 776 4700(Entities)N 1100(can)X 1263(be)X 1383(arranged)X 1749(in)X 1853(arbitrary)X 2214(structures)X 2617(to)X 2722(suit)X 2891(the)X 3039(speci\256cation)X 3556(needs)X 3805(of)X 3915(each)X 4122(com-)X 576 4828(ponent.)N 927(The)X 1118(entities)X 1438(can)X 1613(be)X 1745(constructed)X 2230(from)X 2457(several)X 2770(layers)X 3040(of)X 3160(low-level)X 3564(building)X 3925(blocks,)X 4240(or)X 3 f 576 4956(sub-entities)N 1 f 1045(.)X 1136(Each)X 1372(entity)X 1635(consists)X 1982(of)X 2105(one)X 2287(or)X 2410(more)X 3 f 2651(attributes)X 1 f 3094(which)X 3372(represent)X 3768(the)X 3929(individual)X 576 5084(details)N 854(that)X 1025(describe)X 1372(the)X 1516(entity.)X 1810(The)X 1986(collection)X 2393(of)X 2498(attributes,)X 2906(and)X 3070(sub-entities)X 3539(with)X 3735(their)X 3937(attributes,)X 576 5212(actually)N 914(forms)X 1170(an)X 1293(abstraction)X 1749(hierarchy)X 2146(for)X 2291(each)X 2501(entity.)X 2802(The)X 2985(general)X 3302(language)X 3683(which)X 3951(combines)X 576 5340(the)N 723(different)X 1084(speci\256cations)X 1637(can)X 1800(reference)X 2188(entities)X 2496(anywhere)X 2899(in)X 3003(this)X 3171(abstraction)X 3623(hierarchy.)X 4063(There-)X 576 5468(fore,)N 785(the)X 933(uniform)X 1273(interface)X 1641(to)X 1746(entities)X 2055(provides)X 2417(a)X 2491(highly)X 2768(\257exible)X 3088(means)X 3365(for)X 3508(relating)X 3834(the)X 3983(indepen-)X 576 5596(dently)N 841(speci\256ed)X 1207(details.)X 15 p %%Page: 15 18 12 s 0 xH 0 xS 1 f 2344 416(-)N 2400(15)X 2520(-)X 776 876(Along)N 1055(with)X 1266(high)X 1477(\257exibility,)X 1916(this)X 2095(approach)X 2488(also)X 2683(allows)X 2974(ef\256cient)X 3330(construction)X 3846(of)X 3966(complete)X 576 1004(speci\256cations)N 1140(from)X 1367(the)X 1525(individual)X 1955(components.)X 2507(Because)X 2867(entities)X 3185(can)X 3358(be)X 3488(arbitrarily)X 3913(referenced)X 576 1132(within)N 860(their)X 1075(abstraction)X 1536(hierarchy,)X 1962(unnecessary)X 2470(detail)X 2723(can)X 2895(be)X 3024(ignored.)X 3404(Information)X 3902(among)X 4202(the)X 576 1260(components)N 1071(can)X 1235(be)X 1356(related)X 1649(using)X 1887(entities)X 2196(and)X 2365(attributes)X 2754(at)X 2853(any)X 3021(level)X 3238(of)X 3347(abstraction,)X 3823(such)X 4028(that)X 4202(the)X 576 1388(highest)N 894(possible)X 1249(abstraction)X 1712(level)X 1940(can)X 2114(be)X 2245(applied)X 2569(in)X 2684(every)X 2938(case.)X 3192(This)X 3404(focusing)X 3776(of)X 3897(abstraction)X 576 1516(level)N 788(reduces)X 1106(the)X 1248(overall)X 1540(speci\256cation)X 2051(overhead.)X 776 1672(The)N 961(entities)X 1275(for)X 1422(each)X 1634(component)X 2097(are)X 2250(collected)X 2634(into)X 2820(a)X 2899(single)X 3 f 3165(module)X 1 f (.)S 3553(The)X 3739(details)X 4027(of)X 4143(each)X 576 1800(module)N 908(are)X 1069(speci\256ed)X 1454(independently)X 2043(with)X 2257(respect)X 2573(to)X 2691(other)X 2932(modules,)X 3325(with)X 3539(all)X 3679(coupling)X 4058(among)X 576 1928(modules)N 926(handled)X 1255(externally.)X 1713(Each)X 1930(module)X 2243(consists)X 2571(of)X 2675(two)X 2843(portions:)X 2016 2120(1.)N 2112(Speci\256cation)X 2016 2312(2.)N 2112(State)X 576 2504(The)N 3 f 766(speci\256cation)X 1 f 1313(portion)X 1631(includes)X 1992(declarations)X 2498(of)X 2618(the)X 2776(essential)X 3148(characteristics)X 3740(of)X 3861(entities)X 4181(and)X 576 2632(their)N 778(attributes.)X 1210(These)X 1465(declarations)X 1956(provide)X 2274(structure)X 2635(for)X 2771(instances)X 3148(of)X 3252(the)X 3394(entities,)X 3721(and)X 3884(can)X 4042(specify)X 576 2760(relationships)N 1092(among)X 1378(the)X 1520(entities)X 1823(within)X 2093(a)X 2161(module.)X 2523(The)X 3 f 2698(state)X 1 f 2915(portion)X 3218(maintains)X 3618(values)X 3889(for)X 4026(speci\256c)X 576 2888(instances)N 953(of)X 1057(entities,)X 1384(using)X 1616(the)X 1758(speci\256ed)X 2124(structure.)X 776 3044(In)N 888(the)X 3 f 1038(events)X 1326(module)X 1 f (,)S 1687(entities)X 1999(describe)X 2353(the)X 2504(details)X 2789(of)X 2902(raw,)X 3103(or)X 3 f 3216(primitive)X 1 f 3596(,)X 3653(events,)X 3956(including)X 576 3172(attribute)N 933(declarations)X 1434(that)X 1614(identify)X 1949(the)X 2102(data)X 2297(to)X 2406(be)X 2531(associated)X 2961(with)X 3166(each)X 3377(event.)X 3668(Entities)X 3997(can)X 4165(also)X 576 3300(represent)N 967(complex)X 1337(combinations)X 1895(of)X 2014(events,)X 2323(or)X 3 f 2442(compound)X 1 f 2912(events.)X 3245(The)X 3434(organization)X 3955(of)X 4074(events)X 576 3428(into)N 780(compound)X 1240(events)X 1540(can)X 1728(be)X 1873(nested)X 2173 0.2500(hierarchically)AX 2758(using)X 3020(sub-entities.)X 3566(Conditions)X 4042(can)X 4229(be)X 576 3556(imposed)N 952(using)X 1210(expressions)X 1708(on)X 1854(the)X 2022(sub-entities)X 2516(and)X 2705(their)X 2932(attribute)X 3305(values,)X 3626(allowing)X 4014(detailed)X 576 3684(identi\256cation)N 1123(of)X 1241(speci\256c)X 1573(occurrences)X 2071(in)X 2184(the)X 2340(software.)X 2757(The)X 2945(state)X 3160(portion)X 3476(of)X 3593(the)X 3748(events)X 4031(module)X 576 3812(maintains)N 982(the)X 1131(data)X 1323(associated)X 1750(with)X 1952(speci\256c)X 2277(event)X 2517(instances.)X 2949(These)X 3210(event)X 3450(instances)X 3834(can)X 3999(be)X 4122(input)X 576 3940(from)N 787(execution)X 1186(traces)X 1435(or)X 1539(internally)X 1933(generated.)X 776 4096(In)N 880(the)X 3 f 1022(behavior)X 1409(module)X 1 f (,)S 1761(the)X 1904(entities)X 2208(represent)X 2586(all)X 2708(variables)X 3081(necessary)X 3480(to)X 3580(derive)X 3846(the)X 3989(software)X 576 4224(behavior)N 943(of)X 1053(interest.)X 1415(Each)X 1638(of)X 1748(these)X 3 f 1976(behavior)X 2369(variable)X 1 f 2735(entities)X 3043(is)X 3136(associated)X 3561(with)X 3761(an)X 3881(appropriate)X 576 4352(data)N 786(type,)X 1025(and)X 1213(each)X 1440(can)X 1624(represent)X 2027(scalar)X 2302(values,)X 2622(vectors)X 2950(or)X 3080(multi-dimensional)X 3837(arrays.)X 4170(The)X 576 4480(declarations)N 1092(of)X 1222(behavior)X 1609(variables)X 2007(can)X 2190(include)X 2523(speci\256cations)X 3096(to)X 3220(indicate)X 3575(static)X 3828(relationships)X 576 4608(among)N 873(behavior)X 1246(variables,)X 1654(and)X 1829(to)X 1940(set)X 2083(initial)X 2345(values.)X 2675(The)X 2861(state)X 3074(portion)X 3388(of)X 3504(the)X 3658(behavior)X 4031(module)X 576 4736(maintains)N 975(the)X 1117(values)X 1387(of)X 1491(the)X 1633(behavior)X 1994(variables)X 2366(over)X 2561(the)X 2703(course)X 2978(of)X 3082(the)X 3224(analysis.)X 776 4892(In)N 889(the)X 3 f 1040(graphics)X 1426(module)X 1 f (,)S 1788(the)X 1940(entities)X 2253(represent)X 2640(graphical)X 3033(objects.)X 3388(The)X 3572(speci\256cation)X 4093(in)X 4202(the)X 576 5020(graphics)N 947(module)X 1281(de\256nes)X 1598(a)X 1685(starting)X 2018(point)X 2260(for)X 2416(the)X 2578(visual)X 2852(display,)X 3198(including)X 3606(\256xed,)X 3866(background)X 576 5148(graphics)N 931(and)X 1099(graphical)X 1487(reference)X 1875(points,)X 2163(along)X 2406(with)X 2606(dynamic)X 2967(graphical)X 3355(objects)X 3657(and)X 3825(their)X 4031(starting)X 576 5276(or)N 684(default)X 980(positions.)X 1403(Sub-entities)X 1891(in)X 1994(the)X 2140(graphics)X 2494(module)X 2811(correspond)X 3265(to)X 3367(any)X 3533(lower-level)X 3999(building)X 576 5404(blocks,)N 877(e.g.)X 1042(points,)X 1327(lines,)X 1559(etc.,)X 1746(which)X 2007(make)X 2242(up)X 2364(a)X 2433(particular)X 2829(graphical)X 3215(entity.)X 3510(The)X 3687(state)X 3891(of)X 3998(the)X 4143(enti-)X 576 5532(ties)N 740(in)X 845(this)X 1014(module)X 1333(corresponds)X 1826(to)X 1930(the)X 2077(location,)X 2441(rotation,)X 2794(and)X 2962(scaling)X 3264(of)X 3373(the)X 3520(graphical)X 3908(entities,)X 4240(as)X 576 5660(well)N 766(as)X 870(the)X 1012(values)X 1282(of)X 1386(their)X 1587(other)X 1809(graphical)X 2192(attributes.)X 16 p %%Page: 16 19 12 s 0 xH 0 xS 1 f 2344 416(-)N 2400(16)X 2520(-)X 776 876(These)N 1039(three)X 1265(modules)X 1625(are)X 1777(combined)X 2191(and)X 2364(organized)X 2778(using)X 3020(the)X 3 f 3172(meta-tool)X 3596(circulation)X 4074(archi-)X 576 1004(tecture)N 1 f 865(,)X 923(which)X 1192(provides)X 1556(an)X 1680(orderly)X 1991(\257ow)X 2194(and)X 2366(processing)X 2810(of)X 2923(information)X 3411(among)X 3706(the)X 3857(modules,)X 4240(as)X 576 1132(shown)N 860(in)X 969(Figure)X 1254(3.)X 1384(State)X 1611(information)X 2100(for)X 2247(entity)X 2502(instances)X 2890(from)X 3112(different)X 3479(modules)X 3840(is)X 3939(circulated)X 576 1260(together)N 921(and)X 1089(processed)X 1496(via)X 1642(a)X 1713(set)X 1848(of)X 3 f 1956(relationships)X 1 f 2484(.)X 2560(These)X 2818(relationships)X 3338(identify)X 3666(manipulations)X 4240(of)X 576 1388(the)N 723(state)X 929(information)X 1413(according)X 1822(to)X 1926(precise)X 2228(conditions)X 2659(on)X 2785(the)X 2933(module)X 3252(entities)X 3561(and)X 3730(their)X 3937(attributes,)X 576 1516(and)N 743(describe)X 1092(how)X 1285(the)X 1431(entities)X 1738(in\257uence)X 2118(each)X 2322(other.)X 2595(The)X 2772(results)X 3050(of)X 3157(the)X 3302(manipulations)X 3875(are)X 4020(recircu-)X 576 1644(lated)N 788(back)X 994(to)X 1093(the)X 1235(modules)X 1585(to)X 1684(constitute)X 2083(new)X 2267(entity)X 2511(states.)X 776 1800(The)N 960(relationships)X 1486(applied)X 1804(to)X 1913(the)X 2065(modules)X 2425(integrate)X 2797(the)X 2949(independent)X 3454(module)X 3778(entities)X 4092(into)X 4277(a)X 576 1928(cohesive)N 940(speci\256cation.)X 1501(Each)X 1720(relationship)X 2201(consists)X 2531(of)X 2637(a)X 3 f 2706(mapping)X 1 f 3094(which)X 3355(associates)X 3766(a)X 3835(set)X 3968(of)X 4074(condi-)X 576 2056(tions)N 795(on)X 923(the)X 1073(state)X 1282(with)X 1485(a)X 1560(set)X 1699(of)X 1811(manipulations)X 2389(on)X 2517(the)X 2667(state.)X 2924(The)X 3106(mappings)X 3512(are)X 3662(speci\256ed)X 4036(using)X 4277(a)X 3 f 576 2184(relationship)N 1091(mapping)X 1477(language)X 1 f 1845(.)X 1917(A)X 2010(relationship)X 2489(mapping)X 2850(consists)X 3178(of)X 3282(a)X 3349(set)X 3480(of)X 3 f 3584(rules)X 1 f 3811(of)X 3915(the)X 4057(form:)X 1924 2376(Condition)N 9 f 2333 MX (->)174 987 oc 1 f 2452(Manipulation)X 576 2568(The)N 3 f 755(condition)X 1 f 1168(or)X 1277(head)X 1488(of)X 1597(a)X 1669(rule)X 1848(is)X 1941(an)X 2061(expression)X 2501(describing)X 2932(the)X 3080(state)X 3287(of)X 3397(entities)X 3706(from)X 3923(any)X 4092(of)X 4202(the)X 576 2696(modules.)N 985(The)X 1170(condition)X 1569(can)X 1738(include)X 2057(references)X 2488(to)X 2598(an)X 2724(entity)X 2979(at)X 3084(any)X 3258(of)X 3372(the)X 3524(levels)X 3783(of)X 3897(abstraction)X 576 2824(de\256ned)N 896(for)X 1045(that)X 1228(entity,)X 1510(by)X 1644(utilizing)X 2004(its)X 2133(sub-entities)X 2615(or)X 2733(attributes.)X 3178(A)X 3285(condition)X 3687(can)X 3859(also)X 4052(merely)X 576 2952(indicate)N 915(the)X 1066(existence)X 1458(or)X 1571(occurrence)X 2027(of)X 2140(particular)X 2542(entities,)X 2877(such)X 3085(as)X 3197(events)X 3475(and)X 3646(boolean)X 3983(behavior)X 576 3080(variables.)N 999(The)X 3 f 1176(manipulation)X 1 f 1752(or)X 1859(body)X 2078(of)X 2185(a)X 2255(rule)X 2432(indicates)X 2802(some)X 3033(action)X 3297(to)X 3400(be)X 3519(carried)X 3815(out)X 3966(when)X 4202(the)X 576 3208(corresponding)N 1157(condition)X 1552(is)X 1647(satis\256ed.)X 2041(These)X 2302(actions)X 2606(create,)X 2892(destroy,)X 3229(or)X 3339(otherwise)X 3743(manipulate)X 4202(the)X 576 3336(state)N 777(of)X 881(entities,)X 1208(or)X 1312(their)X 1513(attributes,)X 1920(from)X 2131(any)X 2294(module.)X 776 3492(The)N 950(references)X 1370(to)X 1469(entities)X 1772(in)X 1871(the)X 2013(mapping)X 2374(rules)X 2585(can)X 2743(be)X 2858(very)X 3053(high-level)X 3468(and)X 3632(general,)X 3965(or)X 4070(can)X 4229(be)X 576 3620(very)N 786(speci\256c)X 1119(and)X 1297(relate)X 1550(to)X 1663(precise)X 1974(attributes,)X 2395(variable)X 2744(values,)X 3052(etc.)X 3251(For)X 3422(example,)X 3811(consider)X 4175(that)X 576 3748(events)N 859(can)X 1031(be)X 1160(referenced)X 1605(simply)X 1905(by)X 2039(whether)X 2387(or)X 2505(not)X 2666(they)X 2870(occurred,)X 3269(or)X 3387(more)X 3623(precisely)X 4009(by)X 4143(their)X 576 3876(timestamp)N 1016(or)X 1134(a)X 1215(particular)X 1623(data)X 1822(value.)X 2117(Similarly,)X 2538(a)X 2619(graphical)X 3016(image,)X 3314(say)X 3480(a)X 3561(rectangle,)X 3977(could)X 4229(be)X 576 4004(directed)N 914(to)X 1016(move)X 1257(in)X 1359(its)X 1477(entirety)X 1799(across)X 2066(the)X 2211(display,)X 2540(or)X 2648(could)X 2890(be)X 3009(distorted)X 3374(by)X 3498(moving)X 3820(only)X 4019(a)X 4090(single)X 576 4132(side)N 770(or)X 889(corner)X 1174(point.)X 1459(The)X 1648(bene\256t)X 1949(of)X 2068(this)X 2246(\257exibility)X 2660(is)X 2763(that)X 2947(the)X 3104(user)X 3303(is)X 3406(not)X 3568(required)X 3928(to)X 4042(specify)X 576 4260(unnecessary)N 1078(details,)X 1386(but)X 1541(can)X 1707(instrument)X 2151(precise)X 2456(control)X 2761(if)X 2852(desired.)X 3211(In)X 3324(addition,)X 3697(the)X 3848(focus)X 4089(of)X 4202(the)X 576 4388(mapping)N 946(rules)X 1166(is)X 1263(on)X 1392(module)X 1714(coupling)X 2084(relationships,)X 2632(not)X 2787 0.2548(implementation)AX 3425(details)X 3709(or)X 3821(\257ow)X 4023(control.)X 576 4516(The)N 750(mapping)X 1111(rules)X 1322(describe)X 1667(the)X 1809(fundamental)X 2315(interaction)X 2752(among)X 3038(events,)X 3332(behavior,)X 3717(and)X 3880(graphics.)X 776 4672(The)N 954(general)X 1266(semantics)X 1674(of)X 1782(the)X 1928(mapping)X 2294(rules)X 2510(are)X 2657(simple,)X 2967(and)X 3135(can)X 3298(describe)X 3648(cause-effect)X 4143(rela-)X 576 4800(tionships,)N 976(transformations)X 1609(and)X 1777(assignments,)X 2300(and)X 2467(numerical)X 2881(and)X 3048(statistical)X 3441(operations.)X 3918(For)X 4079(exam-)X 576 4928(ple,)N 743(the)X 886(occurrence)X 1334(of)X 1439(a)X 1507(certain)X 1795(event)X 2030(might)X 2281(cause)X 2521(the)X 2665(movement)X 3098(of)X 3204(some)X 3433(graphical)X 3818(image)X 4080(across)X 576 5056(the)N 724(display,)X 1056(or)X 1166(perhaps)X 1495(a)X 1568(certain)X 1861(program)X 2217(behavior)X 2584(state,)X 2815(in)X 2919(conjunction)X 3403(with)X 3603(a)X 3675(particular)X 4074(condi-)X 576 5184(tion)N 750(on)X 870(the)X 1012(graphical)X 1395(display,)X 1721(might)X 1970(cause)X 2208(the)X 2350(creation)X 2685(of)X 2789(an)X 2904(event)X 3137(instance.)X 776 5340(The)N 950(relationships)X 1466(speci\256ed)X 1832(using)X 2064(the)X 2206(mapping)X 2567(language)X 2939(constitute)X 3339(the)X 3482(details)X 3759(for)X 3896(a)X 3964("plug-in")X 3 f 576 5468(simulator)N 1 f 971(.)X 1054(This)X 1260(simulator)X 1659(processes)X 2062(the)X 2215(state)X 2427(information)X 2916(from)X 3137(the)X 3289(module)X 3612(entities,)X 3949(under)X 4202(the)X 576 5596(constraints)N 1017(of)X 1121(the)X 1263(relationships,)X 1803(and)X 1966 0.2812(automatically)AX 2516(derives)X 2818(new)X 3002(state)X 3204(information.)X 3732(In)X 3837(addition,)X 4202(the)X 576 5724(simulator)N 975(utilizes)X 1289(portions)X 1639(of)X 1754(the)X 1907(state)X 2119(information)X 2609(to)X 2719(produce)X 3064(visual)X 3329(output)X 3610(for)X 3757(analysis.)X 4149(This)X 576 5852(output)N 849(is)X 940(a)X 1010(graphical)X 1396(display)X 1701(that)X 1873(animates)X 2244(the)X 2390(behavior)X 2755(of)X 2863(the)X 3009(software)X 3368(under)X 3615(analysis,)X 3977(based)X 4224(on)X 17 p %%Page: 17 20 12 s 0 xH 0 xS 1 f 2344 416(-)N 2400(17)X 2520(-)X 11 s 1107 2198 MXY 656 415 De 3 f 14 s 1275 2231(Events)N 1 f 2232 3877 MXY 0 -243 Dl 639 0 Dl 2872 MX 0 243 Dl -639 0 Dl 3 f 2315 3796(Simulator)N 1 f 3356 2198 MXY 656 384 De 3 f 3460 2236(Graphics)N 1 f 2335 5342 MXY 0 -217 Dl 473 0 Dl 0 217 Dl -473 0 Dl 3 f 2380 5268(Display)N 1 f 843 1567 MXY 384 Dc 3 f 899 1588(Input)N 1 f 2227 2198 MXY 656 415 De 2147 3158 MXY 816 255 De 2236 4790 MXY 639 0 Dl 160 -287 Dl -160 -272 Dl 4230 MY -639 0 Dl -160 280 Dl 2075 4511 MXY 160 279 Dl 1115 1758 MXY 160 240 Dl 1232 1958 MXY 43 39 Dl 1255 1943 MXY 20 55 Dl 2555 2398 MXY 0 639 Dl 2541 2981 MXY 14 57 Dl 2570 2981 MXY -14 57 Dl 1675 2358 MXY D~ 559 360 160 320 D~~ 2356 2993 MXY 38 44 Dl 2382 2981 MXY 12 58 Dl 2555 3295 MXY 0 343 Dl 2541 3580 MXY 14 57 Dl 2570 3580 MXY -14 57 Dl 2555 3886 MXY 0 343 Dl 2541 4173 MXY 14 57 Dl 2570 4173 MXY -14 57 Dl 3419 2327 MXY D~ -543 399 -160 312 D~~ 2729 2981 MXY -13 57 Dl 2755 2994 MXY -39 44 Dl 2564 4806 MXY 0 320 Dl 2549 5069 MXY 14 57 Dl 2578 5069 MXY -14 57 Dl 2795 3878 MXY D~ 0 160 439 0 1199 -1999 -639 -520 -80 479 D~~ 3710 1939 MXY 4 59 Dl 3739 1944 MXY -23 54 Dl 2675 3878 MXY D~ 0 240 320 40 479 -80 1480 -2039 -960 -880 -1480 80 40 720 D~~ 2538 1902 MXY 17 56 Dl 2566 1900 MXY -10 58 Dl 2395 3878 MXY D~ 0 200 -440 0 -1279 -1560 -240 -1279 879 -440 600 479 -320 720 D~~ 1605 1940 MXY -10 58 Dl 1632 1951 MXY -36 46 Dl 3 f 2299 4468(Animation)N 2380 4628(Control)N 2315 2236(Behavior)N 2203 3196(Relationships)N 1 f 12 s 1802 5574(Figure)N 2077(3:)X 2176(Meta-Tool)X 2612(Architecture)X 18 p %%Page: 18 21 12 s 0 xH 0 xS 1 f 2344 416(-)N 2400(18)X 2520(-)X 576 876(the)N 718(relationships)X 1234(provided)X 1600(by)X 1720(the)X 1862(user.)X 776 1032(The)N 959(user)X 1152(can)X 1319(adjust)X 1582(and)X 1754(focus)X 1995(the)X 2146(view)X 2366(of)X 2479(the)X 2630(display)X 2941(using)X 3182(the)X 3 f 3333(animation)X 3783(control)X 1 f 4111(inter-)X 576 1160(face,)N 799(which)X 1072(acts)X 1260(like)X 1443(a)X 1524(valve)X 1771(or)X 1889(lens)X 2082(to)X 2195(control)X 2506(the)X 2662(overall)X 2968(perspective)X 3445(of)X 3563(the)X 3719(visual)X 3986(analysis.)X 576 1288(Various)N 910(analysis)X 1250(features)X 1585(can)X 1749(be)X 1870(controlled,)X 2315(including)X 2709(the)X 2857(speed)X 3106(and)X 3276(direction)X 3650(of)X 3761(the)X 3910(animation,)X 576 1416(display)N 878(size)X 1052(and)X 1215(zooming.)X 776 1572(In)N 892(addition)X 1244(to)X 1355(these)X 1589(post-simulator)X 2181(adjustments,)X 2701(the)X 2855(user)X 3052(can)X 3223(also)X 3415 0.2604(interactively)AX 3935(adjust)X 4202(the)X 576 1700(parameters)N 1031(of)X 1143(the)X 1293(analysis)X 1635(at)X 1736(any)X 1906(time)X 2109(by)X 2236(modifying)X 2668(the)X 2817(relationships)X 3340(among)X 3633(the)X 3782(modules.)X 4187(For)X 576 1828(example,)N 966(the)X 1123(same)X 1360(behavior)X 1736(and)X 1914(graphics)X 2279(con\256guration)X 2831(could)X 3084(be)X 3214(used)X 3429(with)X 3639(a)X 3721(different)X 4093(set)X 4240(of)X 576 1956(event)N 809(de\256nitions)X 1239(to)X 1338(analyze)X 1657(a)X 1724(different)X 2080(aspect)X 2345(of)X 2449(the)X 2591(software)X 2946(behavior)X 3307(using)X 3539(the)X 3681(same)X 3903(animation.)X 776 2112(One)N 965(exception)X 1369(to)X 1473(this)X 1641(modi\256cation)X 2158(capability,)X 2593(and)X 2762(to)X 2867(the)X 3015(independence)X 3575(of)X 3685(the)X 3833(speci\256cation)X 576 2240(of)N 683(modules,)X 1060(involves)X 1413(the)X 1558(nature)X 1826(of)X 1933(the)X 2078(data)X 2265(that)X 2436(the)X 2580(events)X 2852(can)X 3012(represent.)X 3439(Events)X 3727(can)X 3887(be)X 4004(categor-)X 576 2368(ized)N 761(as)X 865(being)X 1103(either)X 3 f 1347(qualitative)X 1 f 1809(or)X 3 f 1913(quantitative)X 1 f 2409(.)X 2481(Qualitative)X 2934(events)X 3204(correspond)X 3655(to)X 3755(speci\256c)X 4074(condi-)X 576 2496(tions,)N 815(having)X 1105(a)X 1176(value)X 1413(of)X 1521(either)X 1769(TRUE)X 2048(or)X 2155(FALSE,)X 2499(or)X 2606(identifying)X 3056(a)X 3126(speci\256c)X 3447(occurrence)X 3897(that)X 4069(results)X 576 2624(from)N 793(passing)X 1111(a)X 1184(particular)X 1584(point)X 1812(in)X 1917(a)X 1991(computation.)X 2552(Quantitative)X 3060(events)X 3337(carry)X 3566(numerical)X 3983(informa-)X 576 2752(tion,)N 777(other)X 1002(than)X 1195(a)X 1265(timestamp,)X 1718(and)X 1883(describe)X 2230(the)X 2374(value)X 2609(of)X 2715(some)X 2944(program)X 3296(metric)X 3569(or)X 3675 0.2321(characteristic,)AX 4240(or)X 576 2880(the)N 724(result)X 968(of)X 1078(some)X 1311(operation.)X 1753(Quantitative)X 2260(events)X 2536(can)X 2700(also)X 2885(originate)X 3258(from)X 3475(some)X 3708(monitoring)X 4166(sys-)X 576 3008(tems,)N 822(where)X 1097(large)X 1330(amounts)X 1696(of)X 1816(data)X 2017(are)X 2174(summarized)X 2684(prior)X 2910(to)X 3024(being)X 3277(dumped)X 3626(into)X 3815(an)X 3945(execution)X 576 3136(trace.)N 776 3292(Because)N 1121(these)X 1343(two)X 1512(types)X 1740(of)X 1845(events)X 2116(inherently)X 2532(describe)X 2878(software)X 3234(behavior)X 3596(from)X 3808(different)X 4165(per-)X 576 3420(spectives,)N 986(events)X 1265(of)X 1377(different)X 1741(types)X 1976(cannot)X 2265(be)X 2388(exchanged)X 2832(in)X 2939(the)X 3089(event)X 3330(module)X 3651(without)X 3977(affecting)X 576 3548(the)N 722(linkage)X 1034(to)X 1137(other)X 1363(modules.)X 1765(Speci\256cally,)X 2272(the)X 2419(behavior)X 2785(and)X 2953(graphics)X 3308(modules)X 3663(must)X 3879(be)X 3999(adjusted)X 576 3676(to)N 685(appropriately)X 1233(process)X 1555(and)X 1728(display)X 2040(the)X 2192(correct)X 2494(type)X 2694(of)X 2808(event)X 3051(information.)X 3587(The)X 3770(corresponding)X 576 3804(mapping)N 943(rules)X 1160(which)X 1425(relate)X 1670(the)X 1818(events)X 2094(to)X 2200(the)X 2349(behavior)X 2717(and)X 2887(graphics)X 3244(must)X 3462(also)X 3648(be)X 3770(adjusted.)X 4170(The)X 576 3932(graphics)N 930(module)X 1247(may)X 1441(or)X 1549(may)X 1743(not)X 1894(necessarily)X 2350(require)X 2651(adjustment,)X 3126(depending)X 3555(on)X 3679(the)X 3825(level)X 4041(of)X 4149(cou-)X 576 4060(pling)N 800(between)X 1147(the)X 1291(graphics)X 1643(and)X 1808(the)X 1952(other)X 2176(modules)X 2528(\320)X 2651(the)X 2796(existing)X 3128(graphical)X 3514(speci\256cation)X 4028(may,)X 4245(in)X 576 4188(fact,)N 769(effectively)X 1206(describe)X 1551(the)X 1693(new)X 1877(event)X 2110(and)X 2273(behavior)X 2634(information.)X 3 f 576 4444(4.2.)N 768(Example)X 1155(Design)X 1 f 776 4600(To)N 910(assist)X 1146(in)X 1249(describing)X 1678(the)X 1824(details)X 2104(of)X 2212(the)X 2358(design)X 2637(methodology,)X 3197(an)X 3316(example)X 3671(meta-tool)X 4069(design)X 576 4728(is)N 675(provided.)X 1100(This)X 1306(design)X 1592(forms)X 1851(the)X 2004(basis)X 2231(for)X 2378(a)X 2456(prototype)X 2860(to)X 2970(be)X 3096(built)X 3308(as)X 3423(a)X 3501(demonstration)X 4087(of)X 4202(the)X 576 4856(capabilities)N 1046(of)X 1156(the)X 1304(methodology.)X 1890(Discussion)X 2341(here)X 2537(will)X 2717(be)X 2838(limited)X 3142(to)X 3247(an)X 3368(overview)X 3756(of)X 3866(the)X 4015(features)X 576 4984(and)N 739(language)X 1111(syntax,)X 1410(emphasizing)X 1921(those)X 2148(details)X 2424(which)X 2683(are)X 2825(most)X 3036(relevant.)X 776 5140(It)N 860(is)X 949(beyond)X 1257(the)X 1400(scope)X 1644(of)X 1749(this)X 1913(proposal)X 2269(to)X 2369(design)X 2645(a)X 2713(new)X 2898(event)X 3132(description)X 3585(language)X 3958(or)X 4063(contri-)X 576 5268(bute)N 771(to)X 875(the)X 1022(ongoing)X 1366(research)X 1716(in)X 1820(the)X 1966(monitoring)X 2422(of)X 2530(parallel)X 2848(software.)X 3255(Therefore,)X 3687(the)X 3833(speci\256cation)X 576 5396(of)N 685(events)X 961(in)X 1066(this)X 1235(design)X 1516(is)X 1610(accomplished)X 2170(via)X 2318(EDL)X 2535(\(Event)X 2822(De\256nition)X 3242(Language\))X 3684([BaW83,Bat88].)X 576 5524(This)N 786(language)X 1172(allows)X 1461(primitive)X 1853(and)X 2030(compound)X 2474(events)X 2758(to)X 2871(be)X 3000(de\256ned,)X 3345(along)X 3597(with)X 3806(appropriately)X 576 5652(typed)N 824(attributes)X 1217(for)X 1363(organizing)X 1809(data.)X 2052(Several)X 2375(operators)X 2767(are)X 2919(provided)X 3295(for)X 3442(combining)X 3889(events)X 4170(into)X 576 5780(various)N 896(types)X 1136(of)X 1253(sequential)X 1681(and)X 1857(concurrent)X 2306(compound)X 2749(events.)X 3080(An)X 3234(example)X 3598(of)X 3714(the)X 3868(format)X 4161(of)X 4277(a)X 19 p %%Page: 19 22 12 s 0 xH 0 xS 1 f 2344 416(-)N 2400(19)X 2520(-)X 576 876(compound)N 1006(event)X 1239(de\256nition)X 1632(using)X 1864(EDL)X 2075(is)X 2163(shown)X 2437(in)X 2536(Figure)X 2811(4.)X 2 f 1296 1068(event)N 1 f 1524()X 2 f 2122(is)X 1 f 1584 1196()N 1973()X 2201()X 2590()X 2818(...)X 2914()X 3142()X 2 f 1296 1324(cond)N 1 f 1584 1452(.)N 2266(==)X 2398(3;)X 1584 1580(.)N 2271(<=)X 2403(2)X 2475(*)X 2547(.;)X 1608 1708(.)N 1656(.)X 1704(.)X 2 f 1296 1836(with)N 1 f 1584 1964()N 1893(=)X 1971(.)X 2669(+)X 2747(4;)X 1584 2092()N 1893(=)X 1971(.)X 2669(-)X 2725(.;)X 1608 2220(.)N 1656(.)X 1704(.)X 2 f 1296 2348(end)N 1 f 1381 2540(Figure)N 1656(4:)X 1755(Example)X 2122(Compound)X 2573(Event)X 2822(De\256nition)X 3236(Format)X 776 2760(Each)N 1002(event)X 1244(is)X 1341(de\256ned)X 1658(with)X 1863(a)X 1940(unique)X 2236(name,)X 2503(and)X 2676(consists)X 3014(of)X 3128(a)X 3205(combination)X 3721(of)X 3835(one)X 4008(or)X 4122(more)X 576 2888(other)N 808(events)X 1088(using)X 1330(a)X 1407(selection)X 1783(of)X 1896(compound)X 2335(operators.)X 2774(These)X 3037(operators)X 3428(indicate)X 3767(temporal)X 4143(rela-)X 576 3016(tionships,)N 999(such)X 1227(as)X 1360(concurrent)X 1825(versus)X 2123(sequential,)X 2591(and)X 2783(other)X 3034(groupings.)X 3519(Events)X 3834(can)X 4021(also)X 4229(be)X 576 3144(declared)N 938(to)X 1048(be)X 1174(primitive,)X 1587(and)X 1761(can)X 1930(be)X 2056(linked)X 2332(with)X 2537(a)X 2614(corresponding)X 3198(raw)X 3376(event.)X 3667(An)X 3818(event)X 4061(can)X 4229(be)X 576 3272(de\256ned)N 888(to)X 992(occur)X 1235(only)X 1435(under)X 1683(certain)X 1975(conditions,)X 2429(with)X 2629(respect)X 2931(to)X 3036(the)X 3184(attributes)X 3573(of)X 3683(the)X 3831("sub-events")X 576 3400(that)N 750(de\256ne)X 1014(it.)X 1145(These)X 1404(conditions)X 1834(are)X 1980(speci\256ed)X 2350(using)X 2586(simple)X 2871(boolean)X 3204(expressions.)X 3728(Each)X 3949(event)X 4186(can)X 576 3528(have)N 795(several)X 1105(attributes)X 1501(declared,)X 1889(with)X 2097(corresponding)X 2684(data)X 2882(types.)X 3170(These)X 3437(attributes)X 3833(are)X 3989(assigned)X 576 3656(values)N 846(using)X 1078(expressions)X 1550(of)X 1654(the)X 1796(other)X 2018(sub-event)X 2416(attributes.)X 776 3812(The)N 956(behavior)X 1324(variables)X 1703(for)X 1846(this)X 2016(design)X 2298(are)X 2447(speci\256ed)X 2820(using)X 3059(typical)X 3353(variable)X 3695(declaration)X 4155(syn-)X 576 3940(tax,)N 755(such)X 968(as)X 1085(found)X 1346(in)X 1458(C.)X 1607(The)X 1794(user)X 1991(may)X 2193(specify)X 2507(scalars,)X 2829(vectors,)X 3167(and)X 3342(multi-dimensional)X 4085(arrays)X 576 4068(using)N 836(a)X 931(variety)X 1251(of)X 1384(data)X 1598(types.)X 1902(Some)X 2174(examples)X 2591(are)X 2762(shown)X 3065(in)X 3193(Figure)X 3497(5.)X 3646(Note)X 3886(that)X 4084(multi-)X 576 4196(dimensional)N 1095(arrays)X 1378(can)X 1560(be)X 1699(de\256ned)X 2030(with)X 2249(unspeci\256ed,)X 2759(or)X 3 f 2887(implicit)X 1 f 3203(,)X 3275(dimension)X 3724(sizes,)X 3983(to)X 4106(allow)X 576 4324(greater)N 878(\257exibility)X 1287(in)X 1396(array)X 1628(usage.)X 1929(This)X 2134(implicit)X 2469(sizing)X 2733(also)X 2922(proves)X 3213(useful)X 3483(for)X 3630("sparse")X 3983(informa-)X 576 4452(tion.)N 809(This)X 1015(type)X 1216(of)X 1331(declaration)X 1795(is)X 1894(implemented)X 2433(using)X 2676(a)X 2754(table-lookup)X 3276(indexing)X 3648(scheme,)X 3996(to)X 4106(allow)X 576 4580(ef\256cient)N 916(storage)X 1218(for)X 1354(structures)X 1752(of)X 1856(unlimited)X 2250(size.)X 1958 4772(double)N 2244(util[128][128];)X 1958 4964(double)N 2244(x[][][];)X 1958 5156(char)N 2148(message[256];)X 1958 5348(int)N 2084(i,j;)X 1467 5540(Figure)N 1742(5:)X 1841(Example)X 2208(Behavior)X 2585(Variable)X 2941(Declarations)X 20 p %%Page: 20 23 12 s 0 xH 0 xS 1 f 2344 416(-)N 2400(20)X 2520(-)X 776 876(It)N 862(should)X 1145(be)X 1263(noted)X 1504(that)X 1676(a)X 1746(few)X 1917(analysis)X 2254(details)X 2533(must)X 2748(transcend)X 3145(the)X 3291(independent)X 3790(boundaries)X 4240(of)X 576 1004(the)N 721(modules.)X 1122(For)X 1282(example,)X 1659(as)X 1765(illustrated)X 2177(in)X 2278(the)X 2422(above)X 2678(declarations,)X 3194(many)X 3434(analyses)X 3786(will)X 3962(deal)X 4149(with)X 576 1132(a)N 646(particular)X 1043(number)X 1365(of)X 1473(processing)X 1912(elements)X 2283(\(double)X 2605(util[128][128]\).)X 3258(Consideration)X 3826(of)X 3934(this)X 4101(infor-)X 576 1260(mation)N 879(can)X 1048(be)X 1174(necessary)X 1583(in)X 1693(multiple)X 2050(components,)X 2574(requiring)X 2962(agreement)X 3399(among)X 3696(the)X 3849(independent)X 576 1388(modules.)N 982(Such)X 1206(information)X 1693(might)X 1950(be)X 2073(needed)X 2378(to)X 2485(properly)X 2843(size)X 3025(arrays,)X 3316(to)X 3423(indicate)X 3762(the)X 3913(number)X 4240(of)X 576 1516(graphical)N 959(objects)X 1256(necessary,)X 1678(or)X 1782(even)X 1988(to)X 2087(control)X 2384(event)X 2617(declarations)X 3107(in)X 3206(some)X 3433(cases.)X 776 1672(Depending)N 1229(on)X 1356(the)X 1505(intricacy)X 1874(of)X 1985(the)X 2134(detail)X 2380(desired)X 2690(in)X 2797(the)X 2947(animation)X 3365(for)X 3509(a)X 3584(particular)X 3986(analysis,)X 576 1800(the)N 721(amount)X 1037(of)X 1144(this)X 1310(dependent)X 1733(information)X 2215(will)X 2392(vary.)X 2638(In)X 2745(most)X 2959(cases,)X 3213(the)X 3358(amount)X 3674(of)X 3781(such)X 3983(informa-)X 576 1928(tion)N 758(will)X 940(likely)X 1193(be)X 1317(small,)X 1583(relating)X 1911(to)X 2019(a)X 2095(few)X 2272(key)X 2444 0.2708(architectural)AX 2960(parameters,)X 3440(such)X 3649(as)X 3762(the)X 3913(number)X 4240(of)X 576 2056(processors)N 1006(or)X 1111(buffer)X 1371(sizes,)X 1607(or)X 1712(the)X 1855(software)X 2211(structure.)X 2621(Cases)X 2870(of)X 2975(extreme)X 3311(interference)X 3796(due)X 3959(to)X 4058(depen-)X 576 2184(dent)N 789(information)X 1291(could)X 1552(be)X 1690(alleviated)X 2113(by)X 2256(introducing)X 2747(simple)X 3051(constructs)X 3489(for)X 3649(global)X 3938(constants.)X 576 2312(Another)N 932(alternative)X 1381(involves)X 1748(utilizing)X 2111(the)X 2270(implicit)X 2612(dimension)X 3054(sizing)X 3325(for)X 3478(behavior)X 3856(variables)X 4245(to)X 576 2440(allow)N 814(at)X 908(least)X 1109(the)X 1251(behavior)X 1612(module)X 1925(to)X 2024(remain)X 2316(independent.)X 776 2596(The)N 966(graphics)X 1332(speci\256cation)X 1859(for)X 2011(this)X 2190(design)X 2481(is)X 2585(derived)X 2914(from)X 3142(typical)X 3446(existing)X 3792(interfaces)X 4208(for)X 576 2724(drawing)N 930(static)X 1172(graphics,)X 1560(such)X 1774(as)X 1892(are)X 2048(provided)X 2428(in)X 2541(MacDraw)X 2963([MAC92],)X 3403(xpic)X 3607([Mor92],)X 3994(and)X 4171(x\256g)X 576 2852([Sut92].)N 938(The)X 1114(initial)X 1366(graphical)X 1751(display)X 2055(for)X 2193(an)X 2310(analysis)X 2646(is)X 2736(speci\256ed)X 3104(in)X 3205(much)X 3445(the)X 3589(same)X 3813(way)X 3999(that)X 4170(pic-)X 576 2980(tures)N 790(are)X 934(created)X 1239(using)X 1473(these)X 1697(standard)X 2049(drawing)X 2390(tools.)X 2651(The)X 2827(user)X 3013(may)X 3205(select)X 3451(from)X 3664(a)X 3733(wide)X 3946(variety)X 4240(of)X 576 3108(graphical)N 960(objects,)X 1282(including)X 1672(points,)X 1957(lines,)X 2189(triangles,)X 2571(squares,)X 2909(circles,)X 3211(ellipses,)X 3550(arcs,)X 3755(etc.,)X 3942(as)X 4048(well)X 4240(as)X 576 3236(text,)N 785(pixel)X 1018(images,)X 1355(and)X 1534 0.3409(mathematical)AX 2095(functions.)X 2541(Each)X 2774(of)X 2894(the)X 3052(object)X 3328(instances)X 3720(may)X 3925(be)X 4055(scaled,)X 576 3364(rotated,)N 892(resized,)X 1213(or)X 1317(colored)X 1630(as)X 1734(desired)X 2036(when)X 2268(created.)X 776 3520(Each)N 998(graphical)X 1386(object)X 1651(type)X 1846(implicitly)X 2251(carries)X 2537(a)X 2609(set)X 2745(of)X 2854(attributes)X 3242(that)X 3417(specify)X 3725(the)X 3873(shape,)X 4146(size,)X 576 3648(rotation,)N 930(and)X 1099(other)X 1327(de\256ning)X 1672(characteristics)X 2254(for)X 2396(that)X 2571(object)X 2837(type.)X 3081(The)X 3260(set)X 3396(of)X 3505(attributes)X 3893(for)X 4034(a)X 4106(given)X 576 3776(graphical)N 959(object)X 1219(type)X 1410(actually)X 1741(overspecify)X 2215(a)X 2283(particular)X 2678(instance,)X 3043(such)X 3244(that)X 3414(any)X 3578(combination)X 4085(which)X 576 3904(completely)N 1034(de\256nes)X 1335(the)X 1482(object)X 1747(instance)X 2092(is)X 2185(suf\256cient.)X 2620(For)X 2782(example,)X 3162(a)X 3234(circle)X 3478(could)X 3721(be)X 3841(de\256ned)X 4153(by)X 4277(a)X 576 4032(center)N 836(and)X 999(radius,)X 1282(or)X 1386(a)X 1453(center)X 1713(and)X 1876(diameter.)X 2286(Likewise,)X 2688(a)X 2756(rectangle)X 3135(could)X 3374(be)X 3490(de\256ned)X 3798(by)X 3919(specifying)X 576 4160(the)N 718(location)X 1053(of)X 1157(two)X 1325(opposite)X 1675(corners,)X 2006(or)X 2110(by)X 2230(providing)X 2628(a)X 2695(length)X 2960(and)X 3123(width.)X 776 4316(The)N 980(speci\256cation)X 1521(language)X 1923(for)X 2089(the)X 2261(graphics)X 2641(is)X 2759(hybrid,)X 3089(using)X 3352(both)X 3578(visual)X 3863(and)X 4057(textual)X 576 4444(representations.)N 1234(The)X 1411(visual)X 1667(manipulation)X 2202(allows)X 2479(a)X 2548(natural)X 2842(interaction)X 3281(with)X 3478(the)X 3622(graphics,)X 3998(utilizing)X 576 4572(standard)N 926(drawing)X 1265(techniques)X 1701(and)X 1864(operations,)X 2313(as)X 2417(well)X 2607(as)X 2711(advanced)X 3099(features)X 3429(speci\256cally)X 3893(for)X 4030(parallel)X 576 4700(software)N 940(views.)X 1245(A)X 1346(precise)X 1651(textual)X 1946(representation)X 2524(mimics)X 2840(the)X 2990(graphical)X 3381(manipulations,)X 3983(allowing)X 576 4828(straightforward)N 1194(integration)X 1637(of)X 1742(the)X 1885(graphics)X 2236(with)X 2432(the)X 2575(other)X 2799(modules.)X 3199(The)X 3375(link)X 3551(between)X 3898(the)X 4042(graphi-)X 576 4956(cal)N 763(and)X 976(textual)X 1313(representations)X 1970(is)X 2108(well-de\256ned)X 2663(and)X 2876(unambiguous,)X 3492(such)X 3742(that)X 3961(graphical)X 576 5084(speci\256cation)N 1093(can)X 1257(be)X 1378 0.2812(automatically)AX 1934(mirrored)X 2301(using)X 2540(the)X 2689(textual)X 2983(speci\256cation,)X 3525(and)X 3695(vice-versa.)X 4170(The)X 576 5212(user)N 765(can)X 928(specify)X 1235(details)X 1516(using)X 1753(either)X 2002(representation,)X 2601(according)X 3010(to)X 3114(individual)X 3534(intuition)X 3890(and)X 4058(prefer-)X 576 5340(ences.)N 873(Those)X 1143(details)X 1430(best)X 1620(suited)X 1885(to)X 1995(graphics)X 2356(can)X 2525(be)X 2651(speci\256ed)X 3028(graphically,)X 3522(and)X 3697(the)X 3851(precision)X 4240(of)X 576 5468(text)N 745(can)X 903(be)X 1018(applied)X 1326(to)X 1425(re\256ne)X 1668(the)X 1810(details.)X 776 5624(To)N 914(identify)X 1245(speci\256c)X 1570(graphical)X 1960(objects)X 2264(for)X 2407(integration)X 2856(into)X 3038(the)X 3188(mapping)X 3557(language,)X 3961(graphical)X 576 5752(object)N 843(variables)X 1222(can)X 1387(be)X 1509(assigned)X 1871(to)X 1977("point")X 2284(to)X 2390(particular)X 2791(graphical)X 3181(object)X 3447(instances.)X 3878(These)X 4138(vari-)X 576 5880(ables)N 801(are)X 946(used)X 1149(to)X 1251(access)X 1524(the)X 1669(attributes)X 2055(of)X 2162(graphical)X 2549(objects)X 2850(and)X 3017(reveal)X 3281(their)X 3486(state)X 3691(information)X 4174(in)X 4277(a)X 21 p %%Page: 21 24 12 s 0 xH 0 xS 1 f 2344 416(-)N 2400(21)X 2520(-)X 576 876(form)N 795(more)X 1025(readily)X 1324(usable)X 1601(in)X 1707(the)X 1856(textual)X 2150(mapping)X 2518(language.)X 2945(Assignments)X 3472(to)X 3578(these)X 3807(variables)X 4186(can)X 576 1004(be)N 694(inserted)X 1026(into)X 1203(the)X 1349(textual)X 1640(portion)X 1946(of)X 2054(the)X 2200(hybrid)X 2479(speci\256cation)X 2994(language,)X 3394(such)X 3598(that)X 3771(the)X 3917(identity)X 4240(of)X 576 1132(graphical)N 959(objects)X 1256(can)X 1414(be)X 1529(saved)X 1772(upon)X 1988(their)X 2189(creation.)X 776 1288(The)N 957(relationship)X 1443(mapping)X 1811(language)X 2190(for)X 2334(this)X 2505(design)X 2788(combines)X 3189(the)X 3339(various)X 3654(details)X 3938(of)X 4050(events,)X 576 1416(behavior)N 946(variables,)X 1351(and)X 1523(graphical)X 1915(objects)X 2221(into)X 2404(a)X 2480(complete)X 2867(analysis)X 3210(speci\256cation.)X 3778(These)X 4041(entities)X 576 1544(can)N 737(be)X 855(accessed)X 1219(in)X 1321(terms)X 1562(of)X 1669(high-level)X 2087(entities)X 2393(or)X 2500(low-level)X 2892(attributes,)X 3303(and)X 3470(placed)X 3750(into)X 3928(the)X 4074(condi-)X 576 1672(tion)N 761(and)X 935(manipulation)X 1479(portions)X 1829(of)X 1944(the)X 2097(rules.)X 2366(Both)X 2587(the)X 2739(condition)X 3137(and)X 3310(manipulation)X 3853(portions)X 4202(are)X 576 1800(speci\256ed)N 952(using)X 1194(expressions)X 1676(that)X 1855(reference)X 2248(the)X 2400(entities.)X 2761(The)X 2945(condition)X 3343(expressions)X 3825(are)X 3978(speci\256ed)X 576 1928(using)N 814(comparators)X 1320(much)X 1564(like)X 1739(standard)X 2095(C,)X 2212(such)X 2417(as)X 2526(==,)X 2687(!=,)X 2826(<=,)X 2987(>=,)X 3148(&&,)X 9 f 3351(||)X 1 f 3389(,)X 3442(etc.)X 3632(The)X 3811(manipulation)X 576 2056(expressions)N 1057(consist)X 1357(of)X 1470(one)X 1642(or)X 1755(more)X 1986(statements,)X 2450(each)X 2660(representing)X 3169(some)X 3405(action)X 3675(that)X 3854(manipulates)X 576 2184(the)N 718(events,)X 1012(behavior)X 1373(variables,)X 1769(or)X 1873(graphics.)X 2271(Examples)X 2675(of)X 2779(rules)X 2990(are)X 3132(given)X 3370(in)X 3469(Figure)X 3744(6.)X 2 f 1152 2440(update)N 1 f 9 f 1656 MX (->)174 987 oc 1 f 1896(COLOR)X 2376({circle}[)X 2 f 2715(update)X 1 f 2977(.pe])X 2 f 3336(update)X 1 f 3598(.value;)X 3 f 1152 2632(load)N 1 f 1328([i])X 9 f 1443(\263)X 1 f 1520(10)X 9 f 1896 MX (->)174 987 oc 1 f 2136(ROTATE)X 2616({image}[i])X 3096(\()X 3 f 3128(load)X 1 f 3304([i])X 3419(*)X 3 f 3491(scale)X 1 f 3689(\);)X 1152 2824({point}[i].x)N 9 f 1629(\243)X 1 f 1706(SIN\()X 3 f 1892(current_time)X 1 f 2432(\))X 9 f 2616 MX (->)174 987 oc 2 f 2856(below)X 1 f 3086(;)X 3 f 3336(status)X 1 f 3575([i])X 3690(:=)X 3795(3;)X 1527 3016(Figure)N 1802(6:)X 1901(Example)X 2268(Relationship)X 2779(Mapping)X 3150(Rules)X 776 3236(In)N 885(the)X 1032(examples,)X 1449(italics)X 1709(is)X 1802(used)X 2007(to)X 2111(represent)X 2493(events,)X 2792(and)X 2960(bold)X 3161(represents)X 3581(behavior)X 3948(variables.)X 576 3364(The)N 753(items)X 989(enclosed)X 1353(in)X 1454(braces)X 1726(\({}\))X 1908(represent)X 2287(graphical)X 2672(references)X 3094(to)X 3195(graphically)X 3655(speci\256ed)X 4023(objects.)X 576 3492(In)N 686(constructing)X 1192(a)X 1265(rule,)X 1470(the)X 1619(user)X 1810(can)X 1975(graphically)X 2440(specify)X 2749(appropriate)X 3219(details)X 3502(concerning)X 3961(graphical)X 576 3620(objects)N 879(and)X 1048(locations.)X 1474(The)X 1654(\256rst)X 1833(example)X 2190(rule)X 2370(indicates)X 2743(that)X 2918(whenever)X 3322(an)X 2 f 3443(update)X 1 f 3735(event)X 3973(occurs,)X 4277(a)X 576 3748(circle,)N 845(representing)X 1351(the)X 1499(processing)X 1940(element)X 2276(\(pe\))X 2461(that)X 2636(issued)X 2906(the)X 2 f 3054(update)X 1 f 3316(,)X 3370(changes)X 3710(colors)X 3975(based)X 4224(on)X 576 3876(an)N 699(event)X 940(attribute)X 1294("value".)X 1661(The)X 1842(second)X 2140(rule)X 2321(speci\256es)X 2683(that)X 2859(whenever)X 3264(an)X 3386(element)X 3723(of)X 3834(the)X 3983(behavior)X 576 4004(variable)N 916(vector)X 3 f 1186(load)X 1 f 1391(is)X 1484(greater)X 1781(than)X 1976(or)X 2085(equal)X 2323(to)X 2427(10,)X 2576(a)X 2648(corresponding)X 3227(graphical)X 3615("image")X 3958(is)X 4052(rotated)X 576 4132(to)N 689(a)X 770(position)X 1118(identi\256ed)X 1520(by)X 1654(multiplying)X 2142(a)X 2222(behavior)X 2596(variable)X 3 f 2944(scale)X 1 f 3179(by)X 3312(the)X 3467(particular)X 3 f 3874(load)X 1 f 4087(value.)X 576 4260(The)N 755(third)X 966(rule)X 1145(states)X 1388(that)X 1562(when)X 1799(any)X 1967(point)X 2194(from)X 2410(a)X 2482(vector)X 2752(of)X 2861(points)X 3125(crosses)X 3431(a)X 3503(vertical)X 3823(boundary,)X 4240(as)X 576 4388(determined)N 1036(by)X 1158(comparing)X 1596(the)X 1740("x")X 1892(coordinate)X 2325(to)X 2426(a)X 2495(sine)X 2676(wave)X 2905(function)X 3252(of)X 3358(the)X 3502(current)X 3801(time,)X 4022(a)X 2 f 4090(below)X 1 f 576 4516(event)N 818(instance)X 1167(is)X 1264(created,)X 1600(and)X 1772(the)X 1923(corresponding)X 2506(behavior)X 2876(variable)X 3 f 3220(status)X 1 f 3492(is)X 3589(updated)X 3927(to)X 4035(3.)X 4164(It)X 4256(is)X 576 4644(clear)N 788(from)X 999(these)X 1221(rules)X 1432(that)X 1601(very)X 1796(simple,)X 2101(as)X 2205(well)X 2395(as)X 2499(arbitrarily)X 2909(complex,)X 3289(relationships)X 3805(are)X 3947(possible.)X 776 4800(A)N 880(sketch)X 1161(of)X 1276(the)X 1429(grammar)X 1812(for)X 1959(the)X 2112(mapping)X 2484(language)X 2868(is)X 2968(provided)X 3346(in)X 3457(Figure)X 3744(7.)X 3876(The)X 4062()X 576 4928(consists)N 914(of)X 1028(the)X 1180()X 1686(and)X 1859(.)X 2558(The)X 2742()X 3248(is)X 3346(the)X 3498(conjunction,)X 4010(disjunc-)X 576 5056(tion,)N 788(or)X 906(compliment)X 1405(of)X 1523(one)X 1700(or)X 1818(more)X 2054(boolean)X 2397()X 2897(items.)X 3192(Each)X 3423(predicate)X 3815(can)X 3987(be)X 4117(some)X 576 5184(comparison)N 1054(of)X 1163(two)X 1336(expressions,)X 1837(or)X 1946(can)X 2109(be)X 2229(an)X 2349(event)X 2587(\320)X 2712(signifying)X 3131(the)X 3278(occurrence)X 3730(of)X 3839(the)X 3986(event)X 4224(\320)X 576 5312(or)N 680(a)X 747(boolean)X 1076(variable)X 1411(or)X 1515(constant.)X 1908(The)X 2083()X 2627(is)X 2716(made)X 2950(up)X 3071(of)X 3176(standard)X 3527(binary)X 3798(operators)X 4181(and)X 576 5440(parentheses)N 1056(\320)X 1182("\(\)")X 1354(\320)X 1480(and)X 1649(functions)X 2037(with)X 2238(expressions)X 2716(as)X 2826(arguments.)X 3305(The)X 3485()X 3800(items)X 4039(used)X 4245(in)X 576 5568(an)N 712()X 1276(can)X 1455(be)X 1591(either)X 1856(a)X 1944(numerical)X 2375(constant)X 2742(or)X 2868(an)X 3005()X 3379(from)X 3612(one)X 3797(of)X 3923(the)X 4087(event,)X 576 5696(behavior)N 938(or)X 1043(graphics)X 1393(modules.)X 1791(If)X 1879(the)X 2021()X 2373(references)X 2793(an)X 2908(,)X 3273(an)X 3388(accompanying)X 3974(attribute,)X 576 5824(,)N 864(must)X 1078(be)X 1196(appended)X 1592(to)X 1694(actually)X 2027(reference)X 2413(a)X 2483(data)X 2671(value)X 2907(rather)X 3159(than)X 3352(just)X 3518(an)X 3636(event)X 3873(occurrence,)X 22 p %%Page: 22 25 12 s 0 xH 0 xS 1 f 2344 416(-)N 2400(22)X 2520(-)X 864 940()N 1584(::=)X 1824()X 9 f 2544 MX (->)174 987 oc 1 f 2784()X 864 1132()N 1584(::=)X 1824()X 2320(&&)X 2494()X 9 f 3024(|)X 1 f 1824 1260()N 9 f 2320(|)X 2363(|)X 1 f 2406()X 9 f 3024(|)X 1 f 1824 1388(!)N 1880()X 9 f 2544(|)X 1 f 2784()X 864 1580()N 1584(::=)X 1824()X 2367()X 2831()X 9 f 3504(|)X 1 f 1824 1708(\()N 1880()X 2366(\))X 9 f 2544(|)X 1 f 2784()X 9 f 3264(|)X 1 f 3504()X 1824 1836(TRUE)N 9 f 2304(|)X 1 f 2544(FALSE)X 864 2028()N 1584(::=)X 1824(==)X 9 f 2064(|)X 1 f 2304(!=)X 9 f 2544(|)X 1 f 2784(<=)X 9 f 3024(|)X 1 f 3264(>=)X 9 f 3504(|)X 1 f 3744(<)X 9 f 3984(|)X 1 f 4224(>)X 864 2220()N 1584(::=)X 1824()X 2367()X 2718()X 9 f 3504(|)X 1 f 1824 2348(\()N 1880()X 2423(\))X 9 f 2784(|)X 1 f 1824 2476()N 2277(\()X 2333()X 2866(\))X 9 f 3024(|)X 1 f 3264()X 864 2668()N 1584(::=)X 1824(+)X 9 f 2064(|)X 1 f 2304(-)X 9 f 2544(|)X 1 f 2784(*)X 9 f 3024(|)X 1 f 3264(/)X 9 f 3504(|)X 1 f 3744(%)X 864 2860()N 1584(::=)X 1824(mean)X 9 f 2304(|)X 1 f 2544(variance)X 9 f 3024(|)X 1 f 3264(min)X 9 f 3504(|)X 1 f 3768(max)X 9 f 4248(|)X 1 f 1824 2988(cos)N 9 f 2064(|)X 1 f 2304(sin)X 9 f 2544(|)X 1 f 2784(log)X 9 f 3024(|)X 1 f 3264(exp)X 9 f 3504(|)X 1 f 3744(abs)X 9 f 3984(|)X 1 f 1824 3116(sum)N 9 f 2064(|)X 1 f 2304(count)X 864 3308()N 1584(::=)X 1824(,)X 2391()X 9 f 3024(|)X 1 f 3264()X 864 3500()N 1584(::=)X 1824()X 9 f 2304(|)X 1 f 2544()X 864 3692()N 1584(::=)X 1824(.)X 9 f 2544(|)X 1 f 2784()X 864 3884()N 1584(::=)X 1824()X 9 f 2544(|)X 1 f 2784()X 9 f 3504(|)X 1 f 1824 4012(.)N 864 4268()N 1584(::=)X 1824(;)X 2347()X 9 f 3264(|)X 1 f 3504(;)X 864 4460()N 1584(::=)X 1824()X 9 f 2544(|)X 1 f 2784()X 9 f 3504(|)X 1 f 3768()X 864 4652()N 1584(::=)X 1824()X 9 f 2304(|)X 1 f 2544(!)X 9 f 3024(|)X 1 f 3264(:)X 3632()X 864 4844()N 1584(::=)X 1824()X 2085(:=)X 2190()X 9 f 3024(|)X 1 f 3288(,)X 3680()X 864 5036()N 1584(::=)X 1824()X 2176(:=)X 2281()X 864 5228()N 1584(::=)X 1824(CREATE)X 9 f 2544(|)X 1 f 2784(DESTROY)X 9 f 3504(|)X 1 f 3744(COPY)X 9 f 4224(|)X 1 f 1824 5356(MOVE)N 9 f 2304(|)X 1 f 2544(ROTATE)X 9 f 3264(|)X 1 f 3504(SCALE)X 9 f 3984(|)X 1 f 1824 5484(COLOR)N 1285 5676(Figure)N 1560(7:)X 1659(Mapping)X 2030(Language)X 2434(Grammar)X 2827(Sketch)X 3113(\(Incomplete\))X 23 p %%Page: 23 26 12 s 0 xH 0 xS 1 f 2344 416(-)N 2400(23)X 2520(-)X 576 876(as)N 697(a)X 781(numerical)X 1208(value)X 1458(is)X 1563(needed.)X 1925(The)X 2116(behavior)X 2494(and)X 2674(graphics)X 3042()X 3503(references)X 3941(can)X 4117(stand)X 576 1004(alone,)N 833(or)X 937(can)X 1095(include)X 1403(an)X 1518()X 1779(as)X 1883(well.)X 776 1160(The)N 951()X 1593(portion)X 1896(of)X 2001(a)X 2069()X 2352(consists)X 2681(of)X 2786(one)X 2950(or)X 3056(more)X 3280()X 3778(items,)X 4037(each)X 4240(of)X 576 1288(them)N 796(being)X 1037(either)X 1284(an)X 1402(event)X 1638(operation)X 2029(\(\),)X 2605(an)X 2723(assignment)X 3183(to)X 3285(a)X 3354(variable)X 3691(\(\),)X 576 1416(or)N 688(a)X 763(graphical)X 1154(manipulation)X 1695(\(\).)X 2380(The)X 2562(event)X 2803(operations)X 3236(either)X 3488(create)X 3752(or)X 3865(destroy)X 4181(and)X 576 1544(instance)N 918(of)X 1024(an)X 1141(,)X 1508(and)X 1673(on)X 1795(creation)X 2132(may)X 2324(specify)X 2627(the)X 2770(value)X 3004(of)X 3109(particular)X 3504(event)X 3738(attributes.)X 4170(The)X 576 1672(variable)N 917(assignment)X 1380(operation)X 1774(sets)X 1949(either)X 2200(a)X 2274(behavior)X 2642(variable)X 2984(or)X 3095(graphical)X 3485(object)X 3752(variable,)X 4118(or)X 4229(an)X 576 1800(attribute)N 936(of)X 1054(a)X 1135(variable.)X 1532(The)X 1720(graphical)X 2117(manipulation)X 2664(operations)X 3103(apply)X 3355(one)X 3532(of)X 3650(several)X 3961(graphical)X 576 1928(functions)N 961(to)X 1063(particular)X 1460(graphical)X 1846(object)X 2109(instances.)X 2537(The)X 2714(arguments)X 3142(to)X 3244(these)X 3469(functions)X 3855(\(not)X 4038(shown\))X 576 2056(consist)N 867(of)X 971(a)X 1038(number)X 1356(of)X 1460(expressions)X 1932(to)X 2031(produce)X 2365(the)X 2507(necessary)X 2905(function)X 3250(parameter)X 3660(values,)X 3954(etc.)X 776 2212(Each)N 997(of)X 1106(the)X 1253(various)X 1565(modules)X 1920(supports)X 2274(different)X 2635(semantics)X 3044(for)X 3185(this)X 3353(grammar.)X 3778(As)X 3913(mentioned)X 576 2340(above,)N 856(events)X 1128(may)X 1320(be)X 1436(referenced)X 1868(in)X 1968(two)X 2137(different)X 2494(ways,)X 2740(by)X 2861(their)X 3063(occurrence)X 3511(or)X 3616(by)X 3737(particular)X 4132(attri-)X 576 2468(bute)N 775(values.)X 1102(In)X 1215(a)X 1291(condition)X 1688(expression,)X 2157(an)X 2282(event)X 2525(reference)X 2918(with)X 3123(no)X 3253(attributes)X 3646(indicates)X 4023(that)X 4202(the)X 576 2596(desired)N 884(condition)X 1278(is)X 1372(merely)X 1670(the)X 1818(occurrence)X 2270(of)X 2379(an)X 2499(instance)X 2844(of)X 2953(that)X 3127(event)X 3365(at)X 3464(the)X 3611(current)X 3913(simulation)X 576 2724(time.)N 821(Otherwise,)X 1265(if)X 1349(an)X 1465(event)X 1699(is)X 1788(referenced)X 2220(with)X 2416(a)X 2484(particular)X 2879(attribute,)X 3250(the)X 3393(desired)X 3696(condition)X 4085(is)X 4175(that)X 576 2852(the)N 719(event)X 953(occurred)X 1314(at)X 1408(the)X 1550(current)X 1847(time)X 2 f 2043(and)X 1 f 2211(that)X 2380(the)X 2522(attribute)X 2868(has)X 3020(some)X 3247(particular)X 3641(value.)X 3922(An)X 4063(excep-)X 576 2980(tion)N 757(to)X 863(this)X 1033(latter)X 1263(case)X 1460(is)X 1555(when)X 1794(an)X 1916(event)X 2156(is)X 2251(referenced)X 2689(with)X 2891(its)X 3013(timestamp)X 3446(attribute.)X 3847(In)X 3959(this)X 4130(case,)X 576 3108(the)N 722(condition)X 1114(relates)X 1394(to)X 1497(any)X 1664(events)X 1938(which)X 2201(have)X 2411(occurred,)X 2800(and)X 2966(examines)X 3357(some)X 3587(condition)X 3978(based)X 4224(on)X 576 3236(the)N 728(overall)X 1030(event)X 1273(history.)X 1622(For)X 1789(example,)X 2174(a)X 2251(condition)X 2649(might)X 2908(rely)X 3092(on)X 3223(how)X 3423(long)X 3629(ago)X 3803(in)X 3913(simulation)X 576 3364(time)N 772(a)X 839(certain)X 1126(event)X 1359(occurred.)X 776 3520(In)N 893(the)X 1048(manipulation)X 1594(expressions,)X 2103(events)X 2386(references)X 2819(have)X 3039(several)X 3350(different)X 3720(contexts.)X 4127(If)X 4229(an)X 576 3648(event)N 811(occurs)X 1088(alone)X 1323(in)X 1424(a)X 1493(statement,)X 1913(without)X 2233(attributes,)X 2642(the)X 2786(operation)X 3176(indicated)X 3556(is)X 3645(the)X 3788(creation)X 4124(of)X 4229(an)X 576 3776(instance)N 931(of)X 1050(that)X 1234(event)X 1482(at)X 1591(the)X 1748(current)X 2060(time.)X 2320(An)X 2477(event)X 2726(referenced)X 3173(in)X 3288(this)X 3467(way)X 3667(can)X 3841(also)X 4036(include)X 576 3904(speci\256c)N 906(assignments)X 1412(to)X 1523(the)X 1677(new)X 1873(instance)X 2225(attributes.)X 2668(Similarly,)X 3087(a)X 3165(statement)X 3570(containing)X 4012(a)X 4090(single)X 576 4032(event)N 811(preceded)X 1185(by)X 1307(a)X 1377("!")X 1538(indicates)X 1908(the)X 2053(removal)X 2396(or)X 2503(deletion)X 2841(of)X 2948(an)X 3066(event)X 3302(instance.)X 3693(This)X 3891(feature)X 4186(can)X 576 4160(be)N 700(applied)X 1017(to)X 1125(events)X 1404(whose)X 1682(signi\256cance)X 2175(does)X 2384(not)X 2540(depend)X 2851(on)X 2980(time,)X 3209(and)X 3381(can)X 3548(scratch)X 3854(events)X 4133(from)X 576 4288(the)N 719(event)X 953(history.)X 1293(Events)X 1580(can)X 1739(also)X 1919(be)X 2035(referenced)X 2467(in)X 2567(expressions)X 3041(as)X 3147(part)X 3323(of)X 3429(functions)X 3813(or)X 3919(operations)X 576 4416(in)N 687(other)X 921(statements,)X 1388(but)X 1547(only)X 1754(when)X 1998(accompanied)X 2543(by)X 2675(references)X 3107(to)X 3218(particular)X 3624(attributes.)X 4066(In)X 4181(this)X 576 4544(context,)N 924(the)X 1083(event)X 1333(reference)X 1733(utilizes)X 2053(the)X 2212(value)X 2462(of)X 2583(an)X 2715(event)X 2965(attribute)X 3328(for)X 3481(manipulating)X 4031(another)X 576 4672(entity.)N 776 4828(The)N 962(use)X 1126(of)X 1242(behavior)X 1615(variables)X 1999(in)X 2110(mapping)X 2483(rules)X 2706(is)X 2807(simpler)X 3133(than)X 3336(the)X 3491(many)X 3742(different)X 4111(event)X 576 4956(contexts.)N 976(The)X 1157(use)X 1316(of)X 1427(a)X 1501(behavior)X 1869(variable)X 2211(in)X 2317(a)X 2391(condition)X 2785(expression)X 3226(implies)X 3540(a)X 3613(comparison)X 4092(of)X 4202(the)X 576 5084(value)N 812(of)X 919(that)X 1091(variable)X 1429(to)X 1531(some)X 1761(other)X 1986(value.)X 2270(The)X 2447(use)X 2602(of)X 2709(attributes)X 3096(with)X 3295(behavior)X 3660(variables)X 4036(implies)X 576 5212(use)N 742(of)X 860(the)X 1016(speci\256c)X 1348(attribute)X 1708(values)X 1992(in)X 2105(comparisons.)X 2677(Behavior)X 3067(variables,)X 3476(with)X 3684(or)X 3801(without)X 4132(attri-)X 576 5340(butes,)N 847(which)X 1126(appear)X 1427(in)X 1546(manipulation)X 2099(expressions)X 2591(are)X 2753(used)X 2973(to)X 3092(change)X 3409(the)X 3571(value)X 3825(of)X 3950(particular)X 576 5468(behavior)N 944(variables)X 1323(or)X 1434(their)X 1642(attributes,)X 2056(when)X 2295(appearing)X 2706(on)X 2833(the)X 2982(left)X 3142(side)X 3327(of)X 3437(an)X 3558(assignment.)X 4069(Other-)X 576 5596(wise,)N 801(the)X 945(reference)X 1330(implies)X 1640(use)X 1794(of)X 1900(the)X 2044(value)X 2279(of)X 2385(the)X 2529(variable)X 2866(or)X 2972(attribute)X 3320(in)X 3421(a)X 3490 0.3409(mathematical)AX 4037(expres-)X 576 5724(sion)N 760(for)X 896(the)X 1038(right)X 1244(side)X 1423(or)X 1527(an)X 1642(assignment)X 2099(or)X 2203(in)X 2302(another)X 2615(operation.)X 24 p %%Page: 24 27 12 s 0 xH 0 xS 1 f 2344 416(-)N 2400(24)X 2520(-)X 776 876(The)N 961(references)X 1392(to)X 1502(graphical)X 1896(objects)X 2204(can)X 2373(appear)X 2665(in)X 2775(similar)X 3078(ways)X 3310(to)X 3421(the)X 3575(behavior)X 3948(variables.)X 576 1004(Graphical)N 988(object)X 1256(variables)X 1636(can)X 1802(appear)X 2091(in)X 2198(conditions)X 2631(expressions)X 3111(to)X 3218(evaluate)X 3572(comparisons)X 4090(of)X 4202(the)X 576 1132(location)N 912(and)X 1076(attributes)X 1461(of)X 1567(graphical)X 1952(objects.)X 2299(In)X 2405(manipulation)X 2940(expressions,)X 3438(references)X 3860(to)X 3961(graphical)X 576 1260(objects)N 888(can)X 1061(be)X 1191(used,)X 1430(as)X 1549(behavior)X 1925(variables,)X 2336(as)X 2455(values)X 2740(for)X 2890 0.3409(mathematical)AX 3449(expressions)X 3935(in)X 4048(assign-)X 576 1388(ments)N 840(and)X 1013(other)X 1245(operations.)X 1728(In)X 1842(addition,)X 2216(graphical)X 2609(objects)X 2916(can)X 3084(be)X 3209(part)X 3393(of)X 3507(the)X 3659(special)X 3962(functions)X 576 1516(and)N 743(operations)X 1172(that)X 1345(manipulate)X 1802(the)X 1948(graphics)X 2302(to)X 2405(control)X 2706(animation.)X 3168(Graphical)X 3576(objects)X 3876(can)X 4037(be)X 4155(sup-)X 576 1644(plied)N 793(to)X 892(these)X 1114(functions)X 1496(to)X 1595(be)X 1710(moved,)X 2020(copied,)X 2325(resized,)X 2646(colored,)X 2983(etc.)X 3168(The)X 3342(parameters)X 3789(of)X 3894(these)X 4117(func-)X 576 1772(tions,)N 817(that)X 992(control)X 1295(the)X 1443(way)X 1633(in)X 1738(which)X 2003(the)X 2151(graphics)X 2507(is)X 2601(manipulated,)X 3131(use)X 3288(the)X 3435(references)X 3860(to)X 3964(the)X 4111(event)X 576 1900(attributes,)N 992(behavior)X 1362(variables)X 1743(and)X 1915(attributes,)X 2332(and)X 2505(other)X 2737(graphical)X 3130(objects)X 3437(and)X 3610(attributes)X 4003(as)X 4117(argu-)X 576 2028(ments.)N 897(These)X 1170(functions)X 1571(also)X 1769(handle)X 2069(creating)X 2423(and)X 2604(destroying)X 3052(graphical)X 3453(objects,)X 3792(and)X 3973(can)X 4149(save)X 576 2156(graphical)N 959(variable)X 1294(pointers)X 1628(to)X 1727(the)X 1869(objects)X 2166(for)X 2302(subsequent)X 2753(references.)X 776 2312(Aside)N 1027(from)X 1241(the)X 1386(above)X 1643(functions)X 2028(for)X 2167(relating)X 2489(and)X 2655(manipulating)X 3191(events,)X 3488(behavior,)X 3876(and)X 4042(graphi-)X 576 2440(cal)N 721(entities,)X 1056(one)X 1227(special)X 1527(function)X 1880(is)X 1976(also)X 2163(included)X 2527(speci\256cally)X 2998(for)X 3142(parallel)X 3463(analyses.)X 3868(To)X 4006(assist)X 4245(in)X 576 2568(manipulating)N 1116(replicated)X 1528(or)X 1639(multiple)X 1992(copies)X 2269(of)X 2380(information,)X 2890(as)X 3001(are)X 3150(likely)X 3401(to)X 3508(be)X 3631(found)X 3887(in)X 3994(analyses)X 576 2696(with)N 777(multiple)X 1129(identical)X 1492(processors,)X 1951(functional)X 2372(units,)X 2613(etc.,)X 2804(a)X 2877(function)X 3227(is)X 3320(introduced)X 3761(for)X 3902(manipulat-)X 576 2824(ing)N 741(and)X 922(constructing)X 1440(large)X 1675(arrays)X 1952(of)X 2074(behavior)X 2453(variables)X 2843(and)X 3024(graphical)X 3425(objects.)X 3789(The)X 3982("REPLI-)X 576 2952(CATE")N 902(function)X 1259(allows)X 1546(very)X 1753(large,)X 2005(complex)X 2372(arrangements)X 2926(of)X 3041(state)X 3253(and)X 3427(graphics)X 3788(for)X 3935(massively)X 576 3080(parallel)N 898(purposes.)X 1319(This)X 1522(function)X 1875(substantially)X 2394(reduces)X 2720(the)X 2870(tedium)X 3170(in)X 3277(specifying)X 3710(these)X 3940(details)X 4224(by)X 576 3208(hand.)N 869(The)X 1077(REPLICATE)X 1653(function)X 2032(may)X 2256(be)X 2404(applied)X 2745(within)X 3048(either)X 3325(the)X 3500(behavior)X 3894(or)X 4031(graphic)X 576 3336(speci\256cation)N 1091(modules,)X 1469(as)X 1577(well)X 1771(as)X 1879(externally)X 2293(in)X 2396(mapping)X 2761(language)X 3137(rules.)X 3400(An)X 3545(example)X 3900(of)X 4008(the)X 4155(syn-)X 576 3464(tax)N 718(and)X 881(use)X 1033(of)X 1137(this)X 1300(function)X 1645(is)X 1733(given)X 1971(in)X 2070(Figure)X 2345(8.)X 1440 3720(REPLICATE)N 1982({triangle})X 2393(IN)X 2518({square})X 2885(0)X 2957(TO)X 3109(127)X 2016 3912(LABEL)N 2350("PE)X 2525($$")X 2684(AT)X 2836({triangle}[$$].p1)X 2016 4040(COLOR)N 2365($$)X 2485(/)X 2536(8)X 2016 4168(ANGLE)N 2365(90)X 2485(+)X 2563(\(\($$)X 2747(/)X 2798(127\))X 2998(*)X 3070(360\):)X 1728 4360(SET)N 3 f 1923(ptr)X 1 f 2051([$$])X 2235(:=)X 2340({triangle}[$$];)X 1728 4488(SET)N 3 f 1923(status)X 1 f 2162([$$])X 2346(:=)X 2451(0;)X 1709 4680(Figure)N 1984(8:)X 2083(Example)X 2450(Replication)X 2919(Syntax)X 776 4900(This)N 977(example)X 1334(instance)X 1680(of)X 1790(a)X 1863(REPLICATE)X 2411(function,)X 2786(or)X 2896(a)X 3 f 2969(replication)X 1 f 3413(,)X 3467(speci\256es)X 3829(that)X 4005(a)X 4079(vector)X 576 5028(of)N 688(128)X 864(triangles)X 1228(should)X 1516(be)X 1639(arranged)X 2008(along)X 2254(the)X 2404(perimeter)X 2806(of)X 2917(a)X 2991(square,)X 3297(and)X 3467(assigned)X 3829(index)X 4074(values)X 576 5156(from)N 791(0)X 867(to)X 970(127.)X 1190(Three)X 1443(options)X 1754(of)X 1862(the)X 2009(replication)X 2451(also)X 2635(de\256ne)X 2899(special)X 3196(instructions)X 3674(for)X 3815(the)X 3962(construc-)X 576 5284(tion)N 756(of)X 866(the)X 1014(replication.)X 1505(Labels)X 1792(are)X 1940(to)X 2044(be)X 2164(placed)X 2445(at)X 2544(the)X 2691(\256rst)X 2869(point)X 3096(of)X 3205(each)X 3411(triangle,)X 3759(with)X 3959(the)X 4106(index)X 576 5412(number)N 902(of)X 1014(the)X 1164(triangle)X 1491(included)X 1855(in)X 1962(each)X 2171(label.)X 2439(Note)X 2658(that)X 2835(the)X 2986(special)X 3287("$$")X 3494(symbol)X 3810(is)X 3907(used)X 4116(as)X 4229(an)X 576 5540(array)N 800(index,)X 1064(to)X 1165(represent)X 2 f 1544(each)X 1 f 1752(of)X 1858(the)X 2002(index)X 2242(values)X 2514(within)X 2786(the)X 2930(index)X 3170(range,)X 3434(such)X 3636(that)X 3807(the)X 3950(statement)X 576 5668(will)N 752(be)X 869(applied)X 1179(once)X 1387(to)X 1488(every)X 1728(occurrence,)X 2201(or)X 3 f 2307(replicate)X 1 f 2666(,)X 2716(in)X 2817(the)X 2961(replication.)X 3448(The)X 3624(triangles)X 3982(are)X 4127(to)X 4229(be)X 576 5796(colored)N 893(in)X 996(groups)X 1285(of)X 1393(8)X 1469(according)X 1877(to)X 1980(their)X 2185(index)X 2427(in)X 2530(the)X 2676(replication,)X 3141(speci\256ed)X 3511(by)X 3634(setting)X 3918(each)X 4122(color)X 25 p %%Page: 25 28 12 s 0 xH 0 xS 1 f 2344 416(-)N 2400(25)X 2520(-)X 576 876(to)N 679(the)X 825(index)X 1067(divided)X 1384(by)X 1508(8.)X 1632(Note)X 1847(in)X 1950(this)X 2117(option)X 2391(that)X 2565(the)X 2712(triangles)X 3073(in)X 3177(the)X 3324(replication)X 3766(are)X 3913(referenced)X 576 1004(graphically,)N 1077(as)X 1200(indicated)X 1596(by)X 1734(the)X 1894(braces,)X 2206(and)X 2387(that)X 2574(upon)X 2808(identi\256cation)X 3359(of)X 3481(the)X 3641(desired)X 3961(graphical)X 576 1132(object,)N 863(the)X 1008(index)X 1249(to)X 1351(the)X 1496(particular)X 1894(replicate)X 2255(is)X 2347(appended)X 2744(as)X 2852(if)X 2939(the)X 3085(triangle)X 3408(were)X 3623(represented)X 4095(textu-)X 576 1260(ally.)N 800(The)X 981(triangles)X 1344(are)X 1493(each)X 1701(placed)X 1984(at)X 2085(rotation)X 2416(angles)X 2692(corresponding)X 3272(to)X 3377(their)X 3584(index,)X 3852(speci\256ed)X 4224(by)X 576 1388(computing)N 1022(the)X 1174(proportion)X 1614(of)X 1728(each)X 1939(index)X 2188(in)X 2298(the)X 2451(range.)X 2748(Two)X 2959("sub-statements")X 3644(in)X 3754(the)X 3907(replication)X 576 1516(indicate)N 909(other)X 1134(functions)X 1519(that)X 1691(should)X 1974(be)X 2092(executed)X 2461(in)X 2562(creating)X 2899(the)X 3043(arrangement.)X 3599(One)X 3785(sub-statement)X 576 1644(indicates)N 949(that)X 1124(each)X 1332(element)X 1669(of)X 1780(the)X 1929(graphical)X 2319(object)X 3 f 2586(ptr)X 1 f 2745(array)X 2974(points)X 3240(to)X 3346(a)X 3420(corresponding)X 4001(triangle,)X 576 1772(for)N 712(each)X 913(index.)X 1199(The)X 1373(other)X 1595(sub-statement)X 2154(sets)X 2322(the)X 2464(behavior)X 2825(variable)X 3 f 3160(status)X 1 f 3423(to)X 3522(0)X 3594(for)X 3730(each)X 3931(triangle.)X 776 1928(As)N 910(an)X 1029(aside,)X 1279(regarding)X 1676(the)X 1822(independence)X 2380(of)X 2488(modules)X 2842(and)X 3009(replications,)X 3511(the)X 3658(inclusion)X 4040(of)X 4149(both)X 576 2056(behavior)N 944(and)X 1114(graphical)X 1504(variables)X 1883(in)X 1989(this)X 2159(replication)X 2603(require)X 2907(it)X 2992(to)X 3097(reside)X 3357(at)X 3457(the)X 3605(mapping)X 3972(language)X 576 2184(level.)N 848(An)X 1001(alternative)X 1446(speci\256cation)X 1970(could)X 2221(divide)X 2499(this)X 2675(replication)X 3125(into)X 3312(two)X 3493(separate)X 3846(replications,)X 576 2312(one)N 747(specifying)X 1180(the)X 1330(behavior)X 1699(details)X 1983(and)X 2154(the)X 2304(other)X 2534(specifying)X 2967(the)X 3117(graphics,)X 3498(to)X 3604(allow)X 3849(independent)X 576 2440(speci\256cation)N 1097(in)X 1206(different)X 1572(modules.)X 1980(In)X 2094(addition,)X 2468(as)X 2582(replications)X 3067(themselves)X 3530(can)X 3699(be)X 3825(considered)X 4277(a)X 576 2568(complex)N 938(type)X 1134(of)X 1243(compound)X 1678(graphical)X 2066(object,)X 2355(the)X 2502(graphical)X 2890(aspects)X 3197(of)X 3306(the)X 3453(replication)X 3895(could)X 4138(have)X 576 2696(been)N 788(de\256ned)X 1101(in)X 1206(the)X 1354(graphics)X 1710(module)X 2029(and)X 2198(then)X 2394(the)X 2542(behavioral)X 2979(detail)X 3224(added)X 3484(via)X 3632(a)X 3706(reference)X 4096(to)X 4202(the)X 576 2824(replication)N 1013(in)X 1112(a)X 1179(mapping)X 1540(rule.)X 3 f 576 3080(5.)N 696(Support)X 1 f 776 3236(This)N 977(section)X 1280(provides)X 1641(arguments)X 2072(and)X 2241(evidence)X 2614(supporting)X 3055(the)X 3203(decisions)X 3591(made)X 3830(in)X 3935(construct-)X 576 3364(ing)N 728(the)X 875(methodology)X 1412(for)X 1553(designing)X 1956(meta-tools)X 2392(for)X 2532(program)X 2886(visualization)X 3407(of)X 3515(parallel)X 3833(software.)X 4240(In)X 576 3492(the)N 727(\256rst)X 909(sub-section,)X 1404(comparisons)X 1923(will)X 2106(be)X 2230(made)X 2472(to)X 2581(existing)X 2920(approaches,)X 3411(and)X 3584(the)X 3736(reasons)X 4058(behind)X 576 3620(several)N 874(key)X 1038(deign)X 1277(decisions)X 1660(will)X 1835(be)X 1951(discussed.)X 2392(In)X 2497(the)X 2640(second)X 2932(sub-section,)X 3419(four)X 3604(examples)X 3992(of)X 4096(views)X 576 3748(constructed)N 1044(using)X 1276(the)X 1418(methodology)X 1950(will)X 2124(be)X 2239(presented)X 2632(as)X 2736(evidence)X 3103(of)X 3207(validity)X 3526(and)X 3689(feasibility.)X 3 f 576 4004(5.1.)N 768(Justi\256cation)X 1 f 776 4160(There)N 1027(have)X 1235(been)X 1443(many)X 1683(attempts)X 2036(at)X 2132(providing)X 2532(a)X 2601(powerful,)X 2998(\257exible,)X 3337(and)X 3502(ef\256cient)X 3844(interface)X 4208(for)X 576 4288(program)N 934(visualization)X 1459(of)X 1571(parallel)X 1893(software.)X 2304(Some)X 2555(tools,)X 2797(such)X 3004(as)X 3115(ParaGraph)X 3557(and)X 3727(TOPSYS,)X 4138(have)X 576 4416(taken)N 816(the)X 965(simplistic)X 1371(approach)X 1755(by)X 1882(providing)X 2287(a)X 2362(\256xed)X 2586(collection)X 2999(of)X 3111(views)X 3367(with)X 3570(limited)X 3876(control)X 4181(and)X 576 4544(customizability.)N 1247(Tools)X 1493(such)X 1696(as)X 1803(this)X 1969(are)X 2114(very)X 2312(useful)X 2574(for)X 2713(a)X 2783(limited)X 3084(set)X 3218(of)X 3325(analyses,)X 3702(but,)X 3876(as)X 3983(has)X 4138(been)X 576 4672(discussed)N 992(previously,)X 1470(there)X 1711(are)X 1877(limits)X 2145(to)X 2268(the)X 2434(generality)X 2868(and)X 3056(power)X 3345(of)X 3474(these)X 3721(tools.)X 4005(Another)X 576 4800(approach)N 953(is)X 1041(needed)X 1338(to)X 1437(realize)X 1719(the)X 1861(full)X 2019(bene\256ts)X 2342(of)X 2446(visual)X 2700(analyses.)X 776 4956(The)N 963(\256rst)X 1149(step)X 1341(away)X 1581(from)X 1805(the)X 1961(simpler)X 2288(tools)X 2513(involves)X 2877(the)X 3033(utilization)X 3463(of)X 3581(more)X 3817(sophisticated)X 576 5084(techniques)N 1025(to)X 1137(specify)X 1452(the)X 1607(details)X 1896(of)X 2013(views.)X 2322(While)X 2595(maintaining)X 3093(similar)X 3397(types)X 3636(of)X 3752(\256xed)X 3980(views)X 4240(as)X 576 5212(found)N 827(in)X 929(the)X 1074(simpler)X 1390(tools,)X 1628(the)X 1773(manipulation)X 2310(and)X 2477(use)X 2633(of)X 2741(those)X 2972(views)X 3224(is)X 3316(made)X 3553(completely)X 4010(custom-)X 576 5340(izable.)N 883(Tools)X 1129(such)X 1332(as)X 1439(Pablo,)X 1709(Hyperview,)X 2187(and)X 2353(Triplex)X 2664(implement)X 3104(elegant)X 3410(graphical)X 3796(programming)X 576 5468(techniques)N 1013(for)X 1150(controlling)X 1598(the)X 1741(processing)X 2177(of)X 2282(information,)X 2786(and)X 2950(directing)X 3318(the)X 3461(results)X 3738(to)X 3839(con\256gurable)X 576 5596(displays.)N 971(All)X 1126(of)X 1238(these)X 1468(tools)X 1687(use)X 1847(graphical)X 2238("\256lter-trees")X 2743(to)X 2849(indicate)X 3186(the)X 3335(\257ow)X 3536(of)X 3647(information)X 4133(from)X 576 5724(its)N 692("root")X 950(source,)X 1250(through)X 1574(various)X 1882(\256lter)X 2090("nodes")X 2418(that)X 2589(apply)X 2829 0.3125(mathematical,)AX 3400(statistical)X 3791(and)X 3956(reduction)X 576 5852(transformations,)N 1236(to)X 1343(route)X 1573(appropriate)X 2044(data)X 2237(to)X 2344("leaf")X 2599(display)X 2909(nodes)X 3165(where)X 3432(the)X 3582(results)X 3865(are)X 4015(visually)X 26 p %%Page: 26 29 12 s 0 xH 0 xS 1 f 2344 416(-)N 2400(26)X 2520(-)X 576 876(displayed)N 987(or)X 1109(animated.)X 1553(Although)X 1958(the)X 2119(customized)X 2601(data)X 2805(processing)X 3259(capabilities)X 3742(of)X 3865(these)X 4106(\256lter-)X 576 1004(based)N 824(tools)X 1040(are)X 1187(unequaled)X 1612(to)X 1716(date,)X 1930(the)X 2077(sophistication)X 2641(of)X 2749(the)X 2895(graphics)X 3249(and)X 3416(animation)X 3830(are)X 3976(no)X 4100(better)X 576 1132(than)N 767(that)X 937(supported)X 1341(by)X 1462(the)X 1606(simpler)X 1921(tools.)X 2182(The)X 2358(\256lter)X 2566(approach,)X 2969(while)X 3209(well-suited)X 3663(to)X 3764(organizing)X 4202(the)X 576 1260(data)N 761(processing)X 1196(details,)X 1496(fails)X 1686(to)X 1785(apply)X 2023(well)X 2213(to)X 2312(the)X 2454(manipulation)X 2987(of)X 3091(complex)X 3447(graphics.)X 776 1416(Other)N 1029(tools)X 1250(have)X 1466(approached)X 1944(the)X 2096(problem)X 2451(from)X 2672(the)X 2824(opposite)X 3185(direction,)X 3587(and)X 3761(have)X 3978(designed)X 576 1544(very)N 777(powerful)X 1154(graphics)X 1510(and)X 1679(animation)X 2095(systems)X 2429(for)X 2570(analyzing)X 2974(parallel)X 3293(software.)X 3701(In)X 3810(fact,)X 4008(some)X 4240(of)X 576 1672(the)N 725(earliest)X 1036(work)X 1265(in)X 1372(visualization)X 1897(took)X 2100(this)X 2271(approach.)X 2704(The)X 2886(BALSA)X 3232(and)X 3403(BALSA-II)X 3845(systems)X 4181(and)X 576 1800(Tango)N 849(are)X 994(the)X 1139(more)X 1364(prominent)X 1787(examples)X 2177(of)X 2283(tools)X 2496(of)X 2602(this)X 2767(type.)X 3007(These)X 3263(tools)X 3476(produce)X 3812(arbitrary)X 4170(ani-)X 576 1928(mations)N 927(of)X 1053(parallel)X 1389(software)X 1766(behavior)X 2149(by)X 2291(instrumenting)X 2872(the)X 3036(user)X 3242(application)X 3717(with)X 3934(animation)X 576 2056(directives.)N 1033(Tango)X 1313(added)X 1576(the)X 1727(extra)X 1953(assistance)X 2371(of)X 2484(several)X 2790(abstractions)X 3283(for)X 3428(manipulating)X 3970(graphics,)X 576 2184(including)N 2 f 981(images)X 1 f (,)S 2 f 1318(locations)X 1 f 1671(,)X 2 f 1736(paths)X 1 f 1944(,)X 2009(and)X 2 f 2189(transitions)X 1 f 2600(,)X 2665(to)X 2781(reduce)X 3079(the)X 3238(complexity)X 3713(of)X 3834(the)X 3994(graphics)X 576 2312(speci\256cation.)N 776 2468(The)N 958(clear)X 1178(drawback)X 1585(of)X 1698(this)X 1870(animation)X 2289(directive)X 2660(approach)X 3046(is)X 3143(that)X 3321(the)X 3472(scheme)X 3794(relies)X 4036(heavily)X 576 2596(on)N 697(modifying)X 1123(the)X 1266(user)X 1451(application)X 1905(\320)X 2025(an)X 2140(intrusion)X 2506(that)X 2675(can)X 2833(directly)X 3152(result)X 3390(in)X 3489(a)X 3556(perturbation)X 4051(of)X 4155(syn-)X 576 2724(chronization)N 1086(and)X 1253(program)X 1607(behavior,)X 1996(as)X 2104(well)X 2298(as)X 2406(violate)X 2698(the)X 2845(software)X 3205(readability)X 3647(by)X 3772(scattering)X 4176(dis-)X 576 2852(tractions)N 943(through)X 1277(the)X 1430(user's)X 1694(source)X 1980(code.)X 2244(While)X 2514(many)X 2762(monitoring)X 3224(schemes)X 3584(typically)X 3956(introduce)X 576 2980(some)N 808(intrusion)X 1179(due)X 1347(to)X 1452(physical)X 1803(constraints,)X 2274(there)X 2497(is)X 2591(no)X 2717(reason)X 2998(to)X 3103(force)X 3331(this)X 3500(extra)X 3723(modi\256cation)X 4240(of)X 576 3108(the)N 724(user)X 914(application)X 1373(for)X 1515(visual)X 1775(analysis)X 2115(purposes.)X 2534(This)X 2735(extra)X 2958(intrusion)X 3330(can)X 3494(be)X 3615(especially)X 4031(damag-)X 576 3236(ing)N 724(due)X 888(to)X 988(the)X 1131(potential)X 1494(delays)X 1765(for)X 1902(the)X 2046(graphical)X 2431(I/O)X 2585(devices.)X 2948(Another)X 3289(drawback)X 3689(to)X 3790(the)X 3934(animation)X 576 3364(directive)N 946(approach)X 1331(is)X 1427(that,)X 1628(much)X 1874(as)X 1986(the)X 2136(\256lter-based)X 2601(tools)X 2820(were)X 3039(limited)X 3344(in)X 3450(their)X 3658(ability)X 3936(to)X 4042(specify)X 576 3492(complex)N 933(animations,)X 1405(these)X 1629(animation)X 2041(systems)X 2371(are)X 2515(not)X 2664(at)X 2760(all)X 2883(capable)X 3204(of)X 3310(the)X 3454(complex)X 3812(data)X 3999(manipu-)X 576 3620(lations)N 857(and)X 1020(statistical)X 1409(analyses)X 1759(supported)X 2162(by)X 2282(the)X 2424(\256lter-based)X 2881(tools.)X 776 3776(Another)N 1126(approach,)X 1538(between)X 1894(the)X 2047(\256lter-based)X 2515(and)X 2689(animation)X 3110(directive)X 3484(tools,)X 3731(is)X 3831(that)X 4012(used)X 4224(by)X 576 3904(PARADISE.)N 1121(This)X 1321(approach)X 1703(uses)X 1897(the)X 2044(meta-tool)X 2443(concept)X 2772(to)X 2876(specify)X 3182(the)X 3328(relationship)X 3811(between)X 4160(pro-)X 576 4032(gram)N 801(behavior)X 1165(and)X 1331(simple)X 1615(animations)X 2065(based)X 2311(on)X 2435(construction)X 2939(of)X 3047(a)X 3118(visual)X 3376(model,)X 3669(made)X 3906(up)X 4030(of)X 4138(indi-)X 576 4160(vidual)N 844(objects.)X 1192(This)X 1390(different)X 1749(means)X 2022(for)X 2161(specifying)X 2589(the)X 2734(data)X 2921(processing)X 3358(details)X 3636(extends)X 3956(the)X 4100(meta-)X 576 4288(tool)N 762(concept)X 1098(of)X 1215(the)X 1370(\256lter-based)X 1840(tools)X 2064(to)X 2176(include)X 2497(graphical)X 2893(manipulations.)X 3524(The)X 3711(data)X 3909(processing)X 576 4416(and)N 740(graphics)X 1091(are)X 1234(encapsulated)X 1757(together)X 2098(in)X 2198(discrete)X 2523(visual)X 2778(objects)X 3076(that)X 3246(interact)X 3560(in)X 3659(the)X 3801(visual)X 4055(model.)X 576 4544(These)N 844(objects)X 1155(process)X 1481(the)X 1637(execution)X 2050(trace)X 2276(data)X 2475(and)X 2652(maintain)X 3028(state)X 3243(information)X 3736(concerning)X 4202(the)X 576 4672(behavior)N 947(of)X 1061(the)X 1213(software.)X 1626(The)X 1809(internal)X 2137(state)X 2347(of)X 2460(each)X 2670(object)X 2939(is)X 3036(mapped)X 3374(directly)X 3702(to)X 3810(an)X 3934(externally)X 576 4800(visible)N 857(effect)X 1101(in)X 1200(the)X 1342(animation.)X 776 4956(The)N 950(important)X 1349(move)X 1587(made)X 1820(by)X 1940(the)X 2082(PARADISE)X 2574(approach)X 2951(was)X 3124(bringing)X 3474(more)X 3697(powerful)X 4069(graph-)X 576 5084(ics)N 713(into)X 893(the)X 1041(analysis)X 1381(without)X 1705(directly)X 2030(interfering)X 2467(with)X 2668(the)X 2816(user)X 3006(application.)X 3513(Unfortunately,)X 4106(while)X 576 5212(PARADISE)N 1075(was)X 1255(able)X 1447(to)X 1553(integrate)X 1922(information)X 2408(processing)X 2850(and)X 3020(graphics)X 3377(well,)X 3598(neither)X 3898(aspect)X 4171(was)X 576 5340(very)N 776(sophisticated,)X 1332(and)X 1500(the)X 1647(speci\256cation)X 2163(of)X 2272(each)X 2478(analysis)X 2817(was)X 2994(tedious.)X 3348(Each)X 3569(analysis)X 3907(effectively)X 576 5468(required)N 934(development)X 1469(of)X 1586(a)X 1666(customized)X 2143(data)X 2342(processing)X 2791(and)X 2968(animation)X 3392(program)X 3756(that)X 3939(had)X 4116(to)X 4229(be)X 576 5596(compiled)N 959(with)X 1154(the)X 1296(meta-tool)X 1690(to)X 1789(perform)X 2123(the)X 2265(analysis.)X 27 p %%Page: 27 30 12 s 0 xH 0 xS 1 f 2344 416(-)N 2400(27)X 2520(-)X 776 876(From)N 1012(the)X 1158(experiences)X 1642(with)X 1842(the)X 1989(PARADISE)X 2486(prototype,)X 2908(and)X 3076(from)X 3292(consideration)X 3840(of)X 3949(the)X 4096(draw-)X 576 1004(backs)N 824(of)X 933(other)X 1160(existing)X 1494(visualization)X 2016(tools,)X 2256(it)X 2339(is)X 2432(clear)X 2648(that)X 2821(one)X 2988(central)X 3279(problem)X 3628(with)X 3827(visualization)X 576 1132(systems)N 911(in)X 1017(general)X 1332(is)X 1427(the)X 1576(lack)X 1768(of)X 1880(any)X 2051(separation)X 2479(of)X 2591(concerns)X 2965(in)X 3072(organizing)X 3516(the)X 3666(analysis)X 4008(process.)X 576 1260(The)N 751(existing)X 1081(tools)X 1293(have)X 1500(all)X 1622(attempted)X 2028(to)X 2128(specify)X 2431(everything)X 2868(simultaneously)X 3476(in)X 3576(a)X 3643(single,)X 3921(neat)X 4106(pack-)X 576 1388(age,)N 758(only)X 953(to)X 1052(\256nd)X 1225(that)X 1394("everything")X 1908(was)X 2082(too)X 2230(complex)X 2587(for)X 2724(that)X 2894(to)X 2994(be)X 3110(possible.)X 3498(The)X 3673(alternatives)X 4143(tried)X 576 1516(in)N 685(response)X 1055(to)X 1164(this)X 1337(obstacle)X 1687(have)X 1903(ranged)X 2199(from)X 2419(eliminating)X 2892(useful)X 3160(capabilities)X 3633(to)X 3741(simply)X 4036(dealing)X 576 1644(with)N 776(the)X 923(high)X 1123(complexity)X 1586(and)X 1755(overhead)X 2138(\320)X 2264(neither)X 2562(choice)X 2844(being)X 3088(entirely)X 3413(successful)X 3838(or)X 3948(desirable.)X 576 1772(The)N 758(proposed)X 1142(design)X 1425(methodology)X 1965(attacks)X 2265(this)X 2436(problem)X 2789(at)X 2891(a)X 2966(high)X 3168(level)X 3387(by)X 3514(separating)X 3941(the)X 4090(visual)X 576 1900(analysis)N 924(process)X 1250(into)X 1438(its)X 1567(fundamental)X 2087(components.)X 2638(The)X 2827(speci\256cation)X 3353(of)X 3472(events,)X 3781(behavior,)X 4181(and)X 576 2028(graphics)N 928(details)X 1206(in)X 1307(independent)X 1803(modules)X 2154(allows)X 2430(modular)X 2776(development)X 3299(of)X 3404(analyses.)X 3803(This)X 3999(arrange-)X 576 2156(ment)N 793(reduces)X 1111(the)X 1253(complexity)X 1711(by)X 1831(properly)X 2181(organizing)X 2617(the)X 2759(many)X 2997(complex)X 3353(details.)X 776 2312(It)N 866(should)X 1153(be)X 1275(noted)X 1520(that)X 1696(the)X 1845(details)X 2129(of)X 2241(monitoring)X 2701(and)X 2872(interfacing)X 3322(with)X 3525(the)X 3675(user)X 3867(application,)X 576 2440(though)N 884(important,)X 1324(are)X 1482(not)X 1645(relevant)X 1996(to)X 2111(the)X 2269(details)X 2561(of)X 2681(mapping)X 3058(the)X 3216(resulting)X 3593(events)X 3879(to)X 3994(program)X 576 2568(behavior)N 938(and)X 1103(visualization,)X 1646(and)X 1811(so)X 1922(are)X 2066(completely)X 2521(removed)X 2884(from)X 3097(consideration.)X 3690(Such)X 3908(details)X 4186(can)X 576 2696(be)N 703(handled)X 1044(by)X 1176(appropriate)X 1651(front-end)X 2045(packages,)X 2458(and)X 2633(the)X 2787(task)X 2978(of)X 3094(interfacing)X 3547(to)X 3657(such)X 3868(packages)X 4256(is)X 576 2824(well)N 766(within)X 1036(the)X 1178(limits)X 1422(of)X 1526(current)X 1823(interfacing)X 2265(technology.)X 776 2980(The)N 959(remaining)X 1383(components,)X 1905(events,)X 2208(behavior,)X 2602(and)X 2775(graphics,)X 3159(are)X 3311(all)X 3442(included)X 3808(in)X 3917(the)X 4069(design)X 576 3108(architecture,)N 1089(but)X 2 f 1244(independently)X 1 f 1817(at)X 1919(the)X 2069(highest)X 2379(level.)X 2647(Much)X 2903(of)X 3015(the)X 3165(dif\256culty)X 3550(in)X 3657(specifying)X 4090(visual)X 576 3236(analyses)N 932(is)X 1026(immediately)X 1540(alleviated)X 1947(by)X 2074(separating)X 2501(these)X 2730(concerns.)X 3151(The)X 3332(overhead)X 3716(and)X 3886(complexity)X 576 3364(of)N 692(specifying)X 1129(any)X 1304(two)X 1484(of)X 1600(these)X 1834(components)X 2335(together)X 2687(are)X 2841(signi\256cant)X 3278(and)X 3453(unjusti\256ed.)X 3943(If)X 4043(it)X 4133(were)X 576 3492(possible)N 922(to)X 1028(combine)X 1391(all)X 1520(of)X 1632(the)X 1782(necessary)X 2188(details)X 2472(easily,)X 2753(it)X 2839(would)X 3111(be)X 3234(preferable)X 3657(to)X 3764(have)X 3978(only)X 4181(one)X 576 3620(component)N 1030(to)X 1131(specify.)X 1483(Unfortunately,)X 2073(to)X 2174(date)X 2361(this)X 2526(has)X 2680(not)X 2829(been)X 3037(possible,)X 3402(and)X 3567(will)X 3743(likely)X 3989(never)X 4229(be)X 576 3748(possible,)N 939(due)X 1102(to)X 1201(the)X 1343(high)X 1538(level)X 1750(of)X 1854(detail)X 2093(involved.)X 776 3904(The)N 953(obstacle)X 1296(faced)X 1533(by)X 1657(this)X 1824(approach,)X 2229(given)X 2471(the)X 2617(proposed)X 2997(separation)X 3421(of)X 3529(speci\256cation)X 4044(details,)X 576 4032(is)N 670(the)X 818(problem)X 1169(of)X 1279(specifying)X 1710(the)X 1858(abstract)X 2188(relationships)X 2710(that)X 2885(re-combine)X 3353(the)X 3500(details)X 3781(of)X 3890(the)X 4037(various)X 576 4160(components)N 1074(into)X 1257(a)X 1333(coherent)X 1698(analysis.)X 2089(Though)X 2421(the)X 2572(\256lter-based)X 3038(scheme)X 3360(works)X 3627(extremely)X 4046(well)X 4245(in)X 576 4288(mapping)N 939(events)X 1211(to)X 1312(behavior)X 1674(for)X 1811(information)X 2291(processing,)X 2751(a)X 2819(more)X 3042(powerful)X 3414(representation)X 3985(is)X 4074(neces-)X 576 4416(sary)N 761(to)X 861(manage)X 1186(the)X 1329(additional)X 1741(details)X 2019(of)X 2125(the)X 2269(mapping)X 2632(from)X 2845(behavior)X 3208(to)X 3309(graphics.)X 3709(In)X 3815(addition,)X 4181(this)X 576 4544(mapping)N 956(language)X 1347(must)X 1577(be)X 1711(simple)X 2011(enough)X 2337(to)X 2455(be)X 2589(easily)X 2857(understood)X 3327(and)X 3508(utilized)X 3840(by)X 3978(even)X 4202(the)X 576 4672(novice)N 857(user.)X 776 4828(This)N 973(approach)X 1352(merges)X 1656(the)X 1800(mappings)X 2200(from)X 2413(events)X 2685(to)X 2786(behavior)X 3149(and)X 3314(from)X 3528(behavior)X 3892(to)X 3994(graphics)X 576 4956(into)N 752(a)X 820(single)X 1075(mapping)X 1437(language.)X 1858(This)X 2054(allows)X 2330(added)X 2585(\257exibility)X 2985(by)X 3106(providing)X 3505(the)X 3648(capability)X 4054(to)X 4154(map)X 576 5084(events)N 855(directly)X 1184(to)X 1293(graphics)X 1653(without)X 1981(the)X 2133(need)X 2349(for)X 2495(behavioral)X 2936(derivations.)X 3446(In)X 3560(addition,)X 3934(arbitrarily)X 576 5212(complex)N 947(relationships)X 1478(can)X 1651(be)X 1780(speci\256ed)X 2160(allowing)X 2535(information)X 3028(to)X 3141(be)X 3270(mapped)X 3613(from)X 3838(the)X 3994(modules)X 576 5340(back)N 784(into)X 960(manipulations)X 1532(of)X 1638(the)X 1783(modules.)X 2184(This)X 2 f 2382(circulation)X 1 f 2832(capability,)X 3264(as)X 3371(denoted)X 3703(in)X 3805(the)X 3950(meta-tool)X 576 5468(architecture,)N 1099(yields)X 1372(ultimate)X 1732(\257exibility)X 2149(by)X 2287(providing)X 2703(a)X 2788(means)X 3076(for)X 3230(feedback)X 3620(in)X 3737(controlling)X 4202(the)X 576 5596(visual)N 830(analysis.)X 28 p %%Page: 28 31 12 s 0 xH 0 xS 1 f 2344 416(-)N 2400(28)X 2520(-)X 776 876(The)N 963(relationship)X 1455(mapping)X 1829(language)X 2214(also)X 2406(provides)X 2774(a)X 2854(straightforward)X 3485(means)X 3769(for)X 3919(specifying)X 576 1004(these)N 800(relationships)X 1318(by)X 1440(arranging)X 1835(the)X 1979(complex)X 2337(details)X 2615(into)X 2791(simple)X 3074("cause-effect")X 3644(or)X 3749("if-then")X 4109(rules.)X 576 1132(This)N 776(binary)X 1051(arrangement)X 1563(is)X 1657(effective)X 2025(for)X 2167(describing)X 2598(any)X 2767(desired)X 3075(relationship)X 3560(mapping)X 3927(\320)X 4053("if)X 4181(this)X 576 1260(happens,)N 946(then)X 1143(do)X 1270(this")X 1479(or)X 1590("this)X 1799(situation)X 2162(should)X 2449(cause)X 2694(this)X 2864(result".)X 3196(This)X 3398(type)X 3595(of)X 3706(binary)X 3983(mapping)X 576 1388(relationship)N 1055(has)X 1207(been)X 1413(utilized)X 1727(in)X 1827(several)X 2125(existing)X 2455(technologies,)X 2991(including)X 3380(high-level)X 3796(programming)X 576 1516(languages,)N 1016(computer-human)X 1705(interfaces,)X 2135(\256nite)X 2364(state)X 2572(machines,)X 2990(and)X 3159(even)X 3371(an)X 3492(existing)X 3827(visualization)X 576 1644(tool,)N 794(Pavane)X 1116([CoR91].)X 1544(This)X 1759(tool)X 1953(uses)X 2162(a)X 2250(similar)X 2563(mapping)X 2945(language)X 3338(to)X 3458(specify)X 3781(aspects)X 4104(of)X 4229(its)X 576 1772("proof-based")N 1137(visualization,)X 1678(that)X 1847(relates)X 2123(abstract)X 2447(properties)X 2856(of)X 2960(computation)X 3466(to)X 3565(views.)X 776 1928(By)N 915(restricting)X 1333(the)X 1478(head)X 1687(or)X 1794(condition)X 2185(expression)X 2623(in)X 2725(rules)X 2940(to)X 3043(not)X 3194(modify)X 3500(any)X 3667(entities,)X 3998(but)X 4149(only)X 576 2056(describe)N 932(their)X 1144(value)X 1388(or)X 1503(situation,)X 1894(the)X 2047(interpretation)X 2602(and)X 2776(parsing)X 3094(of)X 3209(the)X 3362(rules)X 3584(is)X 3682(simpli\256ed.)X 4149(This)X 576 2184(restriction)N 1009(enforces)X 1377(some)X 1622(organization)X 2146(on)X 2284(the)X 2444(speci\256cation)X 2973(of)X 3095(relationships,)X 3653(and)X 3834(prevents)X 4202(the)X 576 2312(design)N 857(of)X 967(confusing)X 1376(rules)X 1593(with)X 1794(ambiguous)X 2246(semantics.)X 2703(Relationships)X 3256(constructed)X 3729(with)X 3929(manipula-)X 576 2440(tions)N 793(and)X 962(conditions)X 1393(mixed)X 1664(on)X 1790(different)X 2152(sides)X 2374(of)X 2484(rules)X 2701(would)X 2971(serve)X 3204(only)X 3405(to)X 3510(convolute)X 3920(the)X 4069(funda-)X 576 2568(mental)N 863(relationships)X 1379(and)X 1542(confuse)X 1865(the)X 2007(user.)X 776 2724(Instead,)N 1104(maximal)X 1468(\257exibility)X 1869(and)X 2034(expressive)X 2467(power)X 2734(are)X 2879(provided)X 3248(by)X 2 f 3371(not)X 1 f 3521(restricting)X 3939(the)X 4084(place-)X 576 2852(ment)N 799(of)X 909(module)X 1227(details)X 1508(in)X 1612(rules.)X 1876(Details)X 2178(from)X 2394(any)X 2562(module)X 2880(can)X 3043(be)X 3163(used)X 3368(to)X 3472(control)X 3774(manipulations)X 576 2980(of)N 686(any)X 855(of)X 965(the)X 1113(modules.)X 1518(An)X 1666(interesting)X 2104(rami\256cation)X 2601(of)X 2712(this)X 2882(freedom)X 3234(is)X 3329(that)X 3505(the)X 3654(very)X 3856(sequence)X 4240(of)X 576 3108(event)N 816(instances)X 1200(used)X 1407(as)X 1518(input)X 1747(to)X 1853(the)X 2002(simulator)X 2397(can)X 2562(be)X 2684(manipulated)X 3192(using)X 3431(rules.)X 3697(This)X 3899(means)X 4175(that)X 576 3236(the)N 721(rules)X 935(can)X 1097(actually)X 1431(be)X 1550(used)X 1754(to)X 1857(specify)X 2163(feedback)X 2539(relationships)X 3059(to)X 3162(the)X 3308(system)X 3603(input,)X 3853(and)X 4020(the)X 4166(sys-)X 576 3364(tem)N 745(can)X 903(alter)X 1099(and)X 1262(introduce)X 1650(information)X 2129(into)X 2303(its)X 2418(own)X 2607(input)X 2829(stream.)X 776 3520(Finally,)N 1103(because)X 1438(the)X 1586(mapping)X 1953(language)X 2331(can)X 2495(access)X 2771(and)X 2940(reference)X 3329(information)X 3814(from)X 4032(each)X 4240(of)X 576 3648(the)N 720(modules)X 1072(at)X 1167(arbitrary)X 1524(levels)X 1774(of)X 1879(abstraction,)X 2351(the)X 2494(level)X 2707(of)X 2812(detail)X 3052(in)X 3152(the)X 3295(resulting)X 3657(rules)X 3869(is)X 3958(as)X 4063(simple)X 576 3776(as)N 683(possible.)X 1074(The)X 1252(user)X 1440(need)X 1650(not)X 1801(include)X 2113(cumbersome)X 2633(characteristics)X 3213(and)X 3380(attributes)X 3767(when)X 4003(only)X 4202(the)X 576 3904(high-level)N 1018(information)X 1524(is)X 1639(necessary,)X 2088(hence)X 2364(the)X 2532(rules)X 2769(speci\256ed)X 3161(are)X 3329(minimal)X 3701(with)X 3922(respect)X 4245(to)X 576 4032(unnecessary)N 1078(speci\256cation)X 1597(overhead.)X 2031(Likewise,)X 2441(if)X 2533(the)X 2684(user)X 2877(needs)X 3129(absolute)X 3483(control)X 3789(over)X 3993(the)X 4144(low-)X 576 4160(level)N 788(details)X 1064(of)X 1168(an)X 1283(analysis,)X 1641(the)X 1783(capability)X 2188(exists)X 2431(and)X 2594(can)X 2752(be)X 2867(exploited.)X 3 f 576 4416(5.2.)N 768(Examples)X 1 f 776 4572(This)N 972(sub-section)X 1435(provides)X 1791(a)X 1859(small,)X 2117(representative)X 2683(collection)X 3089(of)X 3194(visual)X 3449(analysis)X 3785(examples)X 4175(that)X 576 4700(are)N 720(speci\256ed)X 1088(using)X 1322(the)X 1466(proposed)X 1844(meta-tool)X 2240(design)X 2517(and)X 2682(mapping)X 3045(language.)X 3466(For)X 3624(each)X 3826(example,)X 4202(the)X 576 4828(module)N 891(details)X 1169(are)X 1313(provided,)X 1705(along)X 1945(with)X 2142(the)X 2286(necessary)X 2686(mapping)X 3049(language)X 3423(rules)X 3636(for)X 3774(specifying)X 4202(the)X 576 4956(functionality)N 1093(of)X 1197(the)X 1339(visual)X 1593(analysis.)X 3 f 576 5212(5.2.1.)N 840(Example)X 1227(1:)X 1331(Interprocess)X 1867(Communication)X 2552(Analysis)X 1 f 776 5368(This)N 982(analysis)X 1327(depicts)X 1635(the)X 1788(behavior)X 2160(of)X 2275(multiple)X 2632(concurrent)X 3079(processes)X 3482(in)X 3592(a)X 3670(message)X 4032(passing)X 576 5496(environment.)N 1138(Each)X 1358(process)X 1672(is)X 1762(represented)X 2232(by)X 2354(a)X 2423(circle,)X 2688(and)X 2853(these)X 3077(process)X 3391(circles)X 3669(are)X 3813(arranged)X 4176(in)X 4277(a)X 576 5624(larger)N 835(circle.)X 1132(As)X 1272(the)X 1424(processes)X 1826(execute,)X 2179(they)X 2379(enter)X 2606(various)X 2923(states,)X 3195(that)X 3375(are)X 3528(identi\256ed)X 3927(by)X 2 f 4058(update)X 1 f 576 5752(events.)N 902(For)X 1067(each)X 1276(state,)X 1509(the)X 1659(corresponding)X 2241(process)X 2561(circle)X 2808(should)X 3096(change)X 3400(to)X 3506(an)X 3628(appropriate)X 4098(color.)X 576 5880(The)N 772(processes)X 1186(may)X 1398(communicate)X 1965(messages)X 2375(with)X 2593(other)X 2838(processes,)X 3277(as)X 3404(identi\256ed)X 3815(by)X 2 f 3958(send)X 1 f 4181(and)X 29 p %%Page: 29 32 12 s 0 xH 0 xS 1 f 2344 416(-)N 2400(29)X 2520(-)X 2 f 576 876(receive)N 1 f 882(events.)X 1203(For)X 1363(each)X 1567(such)X 1770(message,)X 2147(an)X 2265(arrow)X 2516(is)X 2607(to)X 2708(be)X 2825(created)X 3130(from)X 3343(the)X 3487(sender)X 3764(to)X 3865(the)X 4009(receiver)X 576 1004(process)N 898(circle,)X 1171(to)X 1280(be)X 1405(present)X 1717(during)X 2002(the)X 2154(time)X 2360(while)X 2608(the)X 2760(message)X 3120(is)X 3218(in)X 3327(transit)X 3603(\(between)X 3991(the)X 2 f 4144(send)X 1 f 576 1132(event)N 811(and)X 976(the)X 1120(matching)X 2 f 1505(receive)X 1 f 1810(event\).)X 2125(This)X 2322(display)X 2625(is)X 2714(essentially)X 3146(that)X 3316(used)X 3517(by)X 3638(the)X 3781(Ravel)X 4031(visuali-)X 576 1260(zation)N 851(tool)X 1040(developed)X 1475(at)X 1584(Argonne)X 1959(National)X 2330(Laboratory.)X 2845(The)X 3034(speci\256cation)X 3560(for)X 3711(this)X 3889(example)X 4256(is)X 576 1388(given)N 814(in)X 913(Figures)X 1225(E1.1)X 1428(through)X 1751(E1.4)X 1954(below.)X 3 f 1584 1772(Event)N 1872(Speci\256cation:)X 1 f 10 f 1578 1784(i)N 1611(iiiiiiiiiiiiiiiii)X 2 f 1872 1973(event)N 1 f 2100(update)X 2 f 2381(is)X 1 f 2469(primitive)X 2847("raw_update")X 2 f 1872 2101(with)N 1 f 2160 2229(int)N 2286(pe;)X 2160 2357(int)N 2286(state;)X 2 f 1872 2485(end)N 1872 2677(event)N 1 f 2100(send)X 2 f 2300(is)X 1 f 2388(primitive)X 2766("raw_send")X 2 f 1872 2805(with)N 1 f 2160 2933(int)N 2286(src;)X 2160 3061(int)N 2286(dst;)X 2 f 1872 3189(end)N 1872 3381(event)N 1 f 2100(receive)X 2 f 2403(is)X 1 f 2491(primitive)X 2869("raw_receive")X 2 f 1872 3509(with)N 1 f 2160 3637(int)N 2286(src;)X 2160 3765(int)N 2286(dst;)X 2 f 1872 3893(end)N 1 f 1250 4085(Figure)N 1525(E1.1:)X 1755(Interprocess)X 2249(Communication)X 2894(Event)X 3143(Speci\256cation)X 3 f 1728 4789(Behavior)N 2150(Variable)X 2556(Speci\256cation:)X 1 f 10 f 1722 4801(iiiiiiiiiiiiiiiiiiiiiiiiiiiii)N 1 f 2016 4990(None)N 2248(Necessary.)X 1008 5182(Figure)N 1283(E1.2:)X 1513(Interprocess)X 2007(Communication)X 2652(Behavior)X 3029(Variable)X 3385(Speci\256cation)X 30 p %%Page: 30 33 12 s 0 xH 0 xS 1 f 2344 416(-)N 2400(30)X 2520(-)X 3 f 1152 876(Graphical)N 1617(Speci\256cation:)X 1 f 10 f 1146 888(i)N 1164(iiiiiiiiiiiiiiiiiiiii)X 11 s 1464 2250 MXY 1983 Dc 2256 1250 MXY 399 Dc 3248 2250 MXY 399 Dc 2272 3242 MXY 384 Dc 1248 2258 MXY 415 Dc 2968 1546 MXY 384 Dc 2960 2946 MXY 384 Dc 1568 MX 384 Dc 1568 1546 MXY 384 Dc 12 s 1 f 1440 3730(CREATE)N 1838({circle})X 2169(radius)X 2428(:=)X 2533(10;)X 1440 3922(REPLICATE)N 1982(crc[$$])X 2284(:=)X 2389({circle})X 2720(IN)X 2845({circle})X 3176(0)X 3248(TO)X 3400(7;)X 1172 4114(Figure)N 1447(E1.3:)X 1677(Interprocess)X 2171(Communication)X 2816(Graphical)X 3220(Speci\256cation)X 3 f 1065 4434(Mapping)N 1486(Rules:)X 1 f 10 f 1065 4446(i)N 1075(iiiiiiiiiiiiii)X 2 f 1353 4635(update)N 1 f 9 f 1833 MX (->)174 987 oc 1 f 2097(COLOR)X 2577(crc[)X 2 f 2727(update)X 1 f 2989(.pe])X 2 f 3297(update)X 1 f 3559(.state;)X 2 f 1353 4827(send)N 1 f 9 f 1833 MX (->)174 987 oc 1 f 2097(ln[)X 2 f 2204(send)X 1 f (.src][)S 2 f 2580(send)X 1 f (.dst])S 2948(:=)X 3053(CREATE)X 3451({line})X 2217 4955(crc[)N 2 f 2367(send)X 1 f (.src])S 2735(TO)X 2887(crc[)X 2 f 3037(send)X 1 f (.dst])S 2217 5083(ARROW)N 2598(end;)X 2 f 1353 5275(receive)N 1 f 9 f 1833 MX (->)174 987 oc 1 f 2097(DESTROY)X 2563(ln[)X 2 f 2670(receive)X 1 f 2949(.src][)X 2 f 3149(receive)X 1 f 3428(.dst];)X 1331 5467(Figure)N 1606(E1.4:)X 1836(Interprocess)X 2330(Communication)X 2975(Mapping)X 3346(Rules)X 776 5687(The)N 951(three)X 1169(necessary)X 1568(events,)X 2 f 1863(update)X 1 f 2125(,)X 2 f 2174(send)X 1 f (,)S 2 f 2399(receive)X 1 f 2678(,)X 2727(are)X 2870(all)X 2992(primitive)X 3371(mappings)X 3771(from)X 3984(raw)X 4154(exe-)X 576 5815(cution)N 853(trace)X 1077(events.)X 1407(No)X 1560(behavior)X 1933(variables)X 2317(are)X 2471(necessary)X 2881(for)X 3029(this)X 3204(analysis,)X 3574(only)X 3781(two)X 3961(graphical)X 31 p %%Page: 31 34 12 s 0 xH 0 xS 1 f 2344 416(-)N 2400(31)X 2520(-)X 576 876(object)N 840(variables,)X 1240("crc")X 1464(and)X 1631("ln",)X 1836(for)X 1977(keeping)X 2311(track)X 2533(of)X 2642(and)X 2810(referencing)X 3278(the)X 3425(pe)X 3545(circles)X 3826(and)X 3994(message)X 576 1004(arrows.)N 917(The)X 1099(display)X 1409(is)X 1504(constructed)X 1979(by)X 2106(creating)X 2448(a)X 2522(single)X 2783(circle)X 3029(and)X 3199(then)X 3396(replicating)X 3840(it)X 3925(in)X 4031(another)X 576 1132(circle,)N 853(using)X 1099(indices)X 1410(from)X 1635(0)X 1722(to)X 1836(7.)X 1971(The)X 2160(mapping)X 2536(rules)X 2762(state)X 2978(that)X 3162(an)X 2 f 3292(update)X 1 f 3593(event)X 3841(causes)X 4131(a)X 4213(re-)X 576 1260(coloring)N 927(of)X 1037(the)X 1185(originating)X 1638(pe's)X 1828(circle.)X 2121(A)X 2 f 2220(send)X 1 f 2426(event)X 2665(creates)X 2963(an)X 3084(arrowed)X 3428(line)X 3602(from)X 3818(the)X 3965(source)X 4245(to)X 576 1388(the)N 720(destination)X 1169(pe)X 1286(circle,)X 1551(saving)X 1828(a)X 1898(pointer)X 2198(to)X 2300(the)X 2445(line)X 2617(in)X 2719("ln".)X 2947(Note)X 3161(that)X 3333(the)X 3478(line)X 3650(pointer)X 3950(is)X 4041(created)X 576 1516(with)N 773(implicit)X 1100(array)X 1324(dimensions,)X 1812(as)X 1918(supported)X 2323(by)X 2445(the)X 2589(behavior)X 2952(variable)X 3289(declarations,)X 3804(to)X 3904(avoid)X 4143(allo-)X 576 1644(cation)N 851(of)X 970(the)X 1127(large)X 3 f 1359(n)X 9 s 1412 1606(2)N 1 f 12 s 1495 1644(full)N 1668(array.)X 1954(The)X 2 f 2144(receive)X 1 f 2463(event)X 2712(destroys)X 3072(the)X 3230(corresponding)X 3820(arrowed)X 4175(line)X 576 1772(created)N 879(by)X 999(the)X 1141(send.)X 3 f 576 2028(5.2.2.)N 840(Example)X 1227(2:)X 1331(Multiprocessor)X 1980(Machine)X 2362(Array)X 2637(Analysis)X 1 f 776 2184(This)N 986(analysis)X 1335(is)X 1438(especially)X 1863(\257exible)X 2192(for)X 2344(large,)X 2601(massively)X 3026(parallel,)X 3380(multiprocessor)X 3992(systems.)X 576 2312(The)N 752(display)X 1056(consists)X 1386(of)X 1492(a)X 1561(two-dimensional)X 2233(array)X 2456(of)X 2561(points,)X 2845(each)X 3047(of)X 3152(which)X 3412(represents)X 3827(the)X 3970(state)X 4172(of)X 4277(a)X 576 2440(single)N 841(processor.)X 1292(As)X 1433(software)X 1800(executes,)X 2192(each)X 2405(processor)X 2809(proceeds)X 3187(through)X 3522(a)X 3601(sequence)X 3990(of)X 4106(states)X 576 2568(which)N 841(indicate)X 1177(idle)X 1352(and)X 1521(busy)X 1732(portions)X 2077(of)X 2187(a)X 2260(computation,)X 2796(as)X 2906(well)X 3102(as)X 3211(particular)X 3610(stages)X 3874(through)X 4202(the)X 576 2696(computation.)N 1131(For)X 1289(each)X 1491(state,)X 1717(a)X 1785(color)X 2008(is)X 2097(assigned)X 2453(to)X 2553(the)X 2696(pe's)X 2881(dot)X 3029(in)X 3130(the)X 3274(array.)X 3546(The)X 3722(result)X 3962(is)X 4052(similar)X 576 2824(to)N 685(scienti\256c)X 1067(visualization)X 1594(of)X 1708(patterns)X 2047(in)X 2156(a)X 2233(solid.)X 2502(Displays)X 2871(such)X 3080(as)X 3193(this)X 3365(have)X 3580(been)X 3795(developed)X 4224(by)X 576 2952(Rover)N 848([RoC91,RoW90,Rov89].)X 1872(The)X 2059(speci\256cation)X 2583(for)X 2733(this)X 2910(analysis)X 3258(are)X 3414(shown)X 3702(in)X 3815(Figures)X 4141(E2.1)X 576 3080(through)N 899(E2.4)X 1102(below.)X 3 f 1728 3592(Event)N 2016(Speci\256cation:)X 1 f 10 f 1722 3604(i)N 1755(iiiiiiiiiiiiiiiii)X 2 f 2016 3793(event)N 1 f 2244(update)X 2 f 2525(is)X 1 f 2613(primitive)X 2991("raw_update")X 2 f 2016 3921(with)N 1 f 2304 4049(int)N 2430(pe;)X 2304 4177(int)N 2430(state;)X 2 f 2016 4305(end)N 1 f 1515 4497(Figure)N 1790(E2.1:)X 2020(Machine)X 2381(Array)X 2629(Event)X 2878(Speci\256cation)X 3 f 1728 5201(Behavior)N 2150(Variable)X 2556(Speci\256cation:)X 1 f 10 f 1722 5213(iiiiiiiiiiiiiiiiiiiiiiiiiiiii)N 1 f 2016 5402(None)N 2248(Necessary.)X 1273 5594(Figure)N 1548(E2.2:)X 1778(Machine)X 2139(Array)X 2387(Behavior)X 2764(Variable)X 3120(Speci\256cation)X 32 p %%Page: 32 35 12 s 0 xH 0 xS 1 f 2344 416(-)N 2400(32)X 2520(-)X 3 f 864 876(Graphical)N 1329(Speci\256cation:)X 1 f 10 f 858 888(i)N 876(iiiiiiiiiiiiiiiiiiiii)X 11 s 1206 1208 MXY 79 Dc 1366 MX 79 Dc 1526 MX 79 Dc 1686 MX 79 Dc 1846 MX 79 Dc 2006 MX 79 Dc 2166 MX 79 Dc 2326 MX 79 Dc 3126 MX 79 Dc 3286 MX 79 Dc 3446 MX 79 Dc 3606 MX 79 Dc 2486 MX 79 Dc 2646 MX 79 Dc 2806 MX 79 Dc 2966 MX 79 Dc 1206 1368 MXY 79 Dc 1366 MX 79 Dc 1526 MX 79 Dc 1686 MX 79 Dc 1846 MX 79 Dc 2006 MX 79 Dc 2166 MX 79 Dc 2326 MX 79 Dc 3126 MX 79 Dc 3286 MX 79 Dc 3446 MX 79 Dc 3606 MX 79 Dc 2486 MX 79 Dc 2646 MX 79 Dc 2806 MX 79 Dc 2966 MX 79 Dc 1206 1529 MXY 79 Dc 1366 MX 79 Dc 1526 MX 79 Dc 1686 MX 79 Dc 1846 MX 79 Dc 2006 MX 79 Dc 2166 MX 79 Dc 2326 MX 79 Dc 3126 MX 79 Dc 3286 MX 79 Dc 3446 MX 79 Dc 3606 MX 79 Dc 2486 MX 79 Dc 2646 MX 79 Dc 2806 MX 79 Dc 2966 MX 79 Dc 1206 1689 MXY 79 Dc 1366 MX 79 Dc 1526 MX 79 Dc 1686 MX 79 Dc 1846 MX 79 Dc 2006 MX 79 Dc 2166 MX 79 Dc 2326 MX 79 Dc 3126 MX 79 Dc 3286 MX 79 Dc 3446 MX 79 Dc 3606 MX 79 Dc 2486 MX 79 Dc 2646 MX 79 Dc 2806 MX 79 Dc 2966 MX 79 Dc 1206 1849 MXY 79 Dc 1366 MX 79 Dc 1526 MX 79 Dc 1686 MX 79 Dc 1846 MX 79 Dc 2006 MX 79 Dc 2166 MX 79 Dc 2326 MX 79 Dc 3126 MX 79 Dc 3286 MX 79 Dc 3446 MX 79 Dc 3606 MX 79 Dc 2486 MX 79 Dc 2646 MX 79 Dc 2806 MX 79 Dc 2966 MX 79 Dc 1206 2008 MXY 79 Dc 1366 MX 79 Dc 1526 MX 79 Dc 1686 MX 79 Dc 1846 MX 79 Dc 2006 MX 79 Dc 2166 MX 79 Dc 2326 MX 79 Dc 3126 MX 79 Dc 3286 MX 79 Dc 3446 MX 79 Dc 3606 MX 79 Dc 2486 MX 79 Dc 2646 MX 79 Dc 2806 MX 79 Dc 2966 MX 79 Dc 1206 2169 MXY 79 Dc 1366 MX 79 Dc 1526 MX 79 Dc 1686 MX 79 Dc 1846 MX 79 Dc 2006 MX 79 Dc 2166 MX 79 Dc 2326 MX 79 Dc 3126 MX 79 Dc 3286 MX 79 Dc 3446 MX 79 Dc 3606 MX 79 Dc 2486 MX 79 Dc 2646 MX 79 Dc 2806 MX 79 Dc 2966 MX 79 Dc 1206 2329 MXY 79 Dc 1366 MX 79 Dc 1526 MX 79 Dc 1686 MX 79 Dc 1846 MX 79 Dc 2006 MX 79 Dc 2166 MX 79 Dc 2326 MX 79 Dc 3126 MX 79 Dc 3286 MX 79 Dc 3446 MX 79 Dc 3606 MX 79 Dc 2486 MX 79 Dc 2646 MX 79 Dc 2806 MX 79 Dc 2966 MX 79 Dc 1206 2489 MXY 79 Dc 1366 MX 79 Dc 1526 MX 79 Dc 1686 MX 79 Dc 1846 MX 79 Dc 2006 MX 79 Dc 2166 MX 79 Dc 2326 MX 79 Dc 3126 MX 79 Dc 3286 MX 79 Dc 3446 MX 79 Dc 3606 MX 79 Dc 2486 MX 79 Dc 2646 MX 79 Dc 2806 MX 79 Dc 2966 MX 79 Dc 1206 2648 MXY 79 Dc 1366 MX 79 Dc 1526 MX 79 Dc 1686 MX 79 Dc 1846 MX 79 Dc 2006 MX 79 Dc 2166 MX 79 Dc 2326 MX 79 Dc 3126 MX 79 Dc 3286 MX 79 Dc 3446 MX 79 Dc 3606 MX 79 Dc 2486 MX 79 Dc 2646 MX 79 Dc 2806 MX 79 Dc 2966 MX 79 Dc 1206 2808 MXY 79 Dc 1366 MX 79 Dc 1526 MX 79 Dc 1686 MX 79 Dc 1846 MX 79 Dc 2006 MX 79 Dc 2166 MX 79 Dc 2326 MX 79 Dc 3126 MX 79 Dc 3286 MX 79 Dc 3446 MX 79 Dc 3606 MX 79 Dc 2486 MX 79 Dc 2646 MX 79 Dc 2806 MX 79 Dc 2966 MX 79 Dc 1206 2969 MXY 79 Dc 1366 MX 79 Dc 1526 MX 79 Dc 1686 MX 79 Dc 1846 MX 79 Dc 2006 MX 79 Dc 2166 MX 79 Dc 2326 MX 79 Dc 3126 MX 79 Dc 3286 MX 79 Dc 3446 MX 79 Dc 3606 MX 79 Dc 2486 MX 79 Dc 2646 MX 79 Dc 2806 MX 79 Dc 2966 MX 79 Dc 1206 3129 MXY 79 Dc 1366 MX 79 Dc 1526 MX 79 Dc 1686 MX 79 Dc 1846 MX 79 Dc 2006 MX 79 Dc 2166 MX 79 Dc 2326 MX 79 Dc 3126 MX 79 Dc 3286 MX 79 Dc 3446 MX 79 Dc 3606 MX 79 Dc 2486 MX 79 Dc 2646 MX 79 Dc 2806 MX 79 Dc 2966 MX 79 Dc 1206 3289 MXY 79 Dc 1366 MX 79 Dc 1526 MX 79 Dc 1686 MX 79 Dc 1846 MX 79 Dc 2006 MX 79 Dc 2166 MX 79 Dc 2326 MX 79 Dc 3126 MX 79 Dc 3286 MX 79 Dc 3446 MX 79 Dc 3606 MX 79 Dc 2486 MX 79 Dc 2646 MX 79 Dc 2806 MX 79 Dc 2966 MX 79 Dc 1206 3448 MXY 79 Dc 1366 MX 79 Dc 1526 MX 79 Dc 1686 MX 79 Dc 1846 MX 79 Dc 2006 MX 79 Dc 2166 MX 79 Dc 2326 MX 79 Dc 3126 MX 79 Dc 3286 MX 79 Dc 3446 MX 79 Dc 3606 MX 79 Dc 2486 MX 79 Dc 2646 MX 79 Dc 2806 MX 79 Dc 2966 MX 79 Dc 1206 3609 MXY 79 Dc 1366 MX 79 Dc 1526 MX 79 Dc 1686 MX 79 Dc 1846 MX 79 Dc 2006 MX 79 Dc 2166 MX 79 Dc 2326 MX 79 Dc 3126 MX 79 Dc 3286 MX 79 Dc 3446 MX 79 Dc 3606 MX 79 Dc 2486 MX 79 Dc 2646 MX 79 Dc 2806 MX 79 Dc 2966 MX 79 Dc 1088 3770 MXY 0 -2719 Dl 2719 0 Dl 0 2719 Dl -2719 0 Dl 12 s 1 f 1008 4066(REPLICATE)N 1550(pnt[$$])X 1857(:=)X 1962({point})X 2276(IN)X 2401(16)X 2521(X)X 2614(16)X 2734(ARRAY)X 3093(0)X 3165(TO)X 3317(255)X 3485(ROWMAJOR;)X 1437 4258(Figure)N 1712(E2.3:)X 1942(Machine)X 2303(Array)X 2551(Graphical)X 2955(Speci\256cation)X 3 f 864 4578(Mapping)N 1285(Rules:)X 1 f 10 f 864 4590(i)N 874(iiiiiiiiiiiiii)X 2 f 1152 4779(update)N 1 f 9 f 1632 MX (->)174 987 oc 1 f 1896(COLOR)X 2376(pnt[)X 2 f 2531(update)X 1 f 2793(.pe])X 2 f 3096(update)X 1 f 3358(.state;)X 1596 4971(Figure)N 1871(E2.4:)X 2101(Machine)X 2462(Array)X 2710(Mapping)X 3081(Rules)X 776 5191(The)N 950(single)X 2 f 1204(update)X 1 f 1491(event)X 1725(corresponds)X 2214(directly)X 2534(to)X 2634(the)X 2777(raw)X 2946(execution)X 3346(trace)X 3559(event.)X 3841(No)X 3983(behavior)X 576 5319(variables)N 961(are)X 1116(needed,)X 1450(and)X 1626(the)X 1781(single)X 2048(graphical)X 2443(object)X 2715(variable)X 3062("pnt")X 3299(represents)X 3725(the)X 3879(array)X 4113(of)X 4229(pe)X 576 5447(points.)N 883(The)X 1057(display)X 1359(is)X 1447(constructed)X 1915(by)X 2035(replicating)X 2473(a)X 2541(generic)X 2850(point)X 3073(in)X 3173(a)X 3241(two-dimensional)X 3913(array,)X 4160(sav-)X 576 5575(ing)N 727(a)X 798(pointer)X 1099(to)X 1202(each)X 1407(point)X 1633(in)X 1736("pnt".)X 2013(The)X 2191(only)X 2390(mapping)X 2755(rule)X 2933(states)X 3174(simply)X 3463(that)X 3635(each)X 3839(point)X 4064(should)X 576 5703(be)N 699(colored)X 1020(based)X 1271(on)X 1399(the)X 1549(state)X 1758(of)X 1870(the)X 2020(corresponding)X 2602(pe,)X 2749(as)X 2861(set)X 3000(on)X 3128(the)X 3279(occurrence)X 3735(of)X 3848(each)X 2 f 4058(update)X 1 f 576 5831(event.)N 33 p %%Page: 33 36 12 s 0 xH 0 xS 1 f 2344 416(-)N 2400(33)X 2520(-)X 3 f 576 876(5.2.3.)N 840(Example)X 1227(3:)X 1331(Kiviat)X 1612(Diagram)X 1999(Analysis)X 1 f 776 1032(The)N 953(Kiviat)X 1221(diagram)X 1564([Mor74])X 1916(is)X 2007(well)X 2200(known)X 2488(for)X 2627(providing)X 3029(intuitive)X 3379(rendering)X 3776(of)X 3884(the)X 4030(relative)X 576 1160(balance)N 904(or)X 1017(variance)X 1377(among)X 1672(the)X 1823(processors)X 2261(in)X 2369(a)X 2444(multiprocessor)X 3048(system.)X 3395(This)X 3598(type)X 3796(of)X 3908(diagram)X 4256(is)X 576 1288(most)N 795(useful)X 1062(for)X 1206(load)X 1405(balance)X 1733(and)X 1905(utilization)X 2330(information.)X 2866(The)X 3049(display)X 3360(consists)X 3697(of)X 3810(a)X 3886(wheel)X 4149(with)X 576 1416(spokes,)N 897(where)X 1168(each)X 1381(spoke)X 1641(represents)X 2066(the)X 2219(measure)X 2575(of)X 2690(a)X 2768(single)X 3033(pe's)X 3228(condition.)X 3675(A)X 3779(point)X 4012(on)X 4143(each)X 576 1544(spoke)N 826(indicates)X 1195(a)X 1264(value)X 1499(for)X 1637(the)X 1781(desired)X 2085(analysis)X 2421(metric,)X 2718(The)X 2894(points)X 3155(are)X 3299(placed)X 3577(along)X 3817(the)X 3962(spokes)X 4250(at)X 576 1672(distances)N 954(from)X 1166(the)X 1309(center)X 1569(of)X 1673(the)X 1815(wheel,)X 2093(proportionate)X 2636(to)X 2735(the)X 2877(particular)X 3271(value,)X 3528(where)X 3787(the)X 3929(maximum)X 576 1800(value)N 810(corresponds)X 1299(to)X 1399(the)X 1542(rim)X 1701(of)X 1806(the)X 1949(wheel.)X 2253(A)X 2348(set)X 2481(of)X 2587(lines)X 2795(connect)X 3121(the)X 3265(points)X 3526(on)X 3648(each)X 3851(spoke)X 4101(into)X 4277(a)X 576 1928(\257exible)N 896(ring)X 1082(that)X 1258(mutates)X 1589(according)X 2000(to)X 2106(the)X 2255(distribution)X 2730(of)X 2841(pe)X 2963(values.)X 3287(The)X 3467(roundness)X 3886(of)X 3996(this)X 4165(ring)X 576 2056(qualitatively)N 1094(indicates)X 1472(the)X 1626(balance)X 1957(or)X 2073(variance)X 2436(among)X 2734(the)X 2888(processors.)X 3377(The)X 3563(speci\256cation)X 4086(of)X 4202(the)X 576 2184(Kiviat)N 841(Diagram)X 1202(analysis)X 1536(is)X 1624(shown)X 1898(in)X 1997(Figures)X 2309(E3.1)X 2512(through)X 2835(E3.4)X 3038(below.)X 3 f 1584 2696(Event)N 1872(Speci\256cation:)X 1 f 10 f 1578 2708(i)N 1611(iiiiiiiiiiiiiiiii)X 2 f 1872 2897(event)N 1 f 2100(busy)X 2 f 2305(is)X 1 f 2393(primitive)X 2771("raw_busy")X 2 f 1872 3025(with)N 1 f 2160 3153(int)N 2286(pe;)X 2 f 1872 3281(end)N 1872 3473(event)N 1 f 2100(idle)X 2 f 2269(is)X 1 f 2357(primitive)X 2735("raw_idle")X 2 f 1872 3601(with)N 1 f 2160 3729(int)N 2286(pe;)X 2 f 1872 3857(end)N 1 f 1506 4049(Figure)N 1781(E3.1:)X 2011(Kiviat)X 2276(Diagram)X 2637(Event)X 2886(Speci\256cation)X 3 f 1728 4753(Behavior)N 2150(Variable)X 2556(Speci\256cation:)X 1 f 10 f 1722 4765(iiiiiiiiiiiiiiiiiiiiiiiiiiiii)N 1 f 2016 4954(boolean)N 2345(busy[16];)X 2016 5146(long)N 2211(busytime[16];)X 2016 5338(\257oat)N 2211(util[16];)X 1264 5530(Figure)N 1539(E3.2:)X 1769(Kiviat)X 2034(Diagram)X 2395(Behavior)X 2772(Variable)X 3128(Speci\256cation)X 34 p %%Page: 34 37 12 s 0 xH 0 xS 1 f 2344 416(-)N 2400(34)X 2520(-)X 3 f 1152 876(Graphical)N 1617(Speci\256cation:)X 1 f 10 f 1146 888(i)N 1164(iiiiiiiiiiiiiiiiiiiii)X 11 s 1648 1851 MXY 1600 Dc 2448 1051 MXY 0 1599 Dl 2847 1155 MXY -807 1383 Dl 3135 1451 MXY -1391 791 Dl 2847 2538 MXY -791 -1383 Dl 3128 2259 MXY -1376 -807 Dl 3248 1859 MXY -1600 -8 Dl 2080 1635 MXY 152 -176 Dl 215 -56 Dl 2448 1402 MXY 216 72 Dl 1475 MY 168 151 Dl 1627 MY 47 232 Dl 2880 MX -63 207 Dl 2816 2067 MXY -151 144 Dl 2664 MX -216 63 Dl 2275 MY -223 -56 Dl 2224 MX -144 -176 Dl 2042 MY -47 -199 Dl 2032 MX 39 -207 Dl 12 s 1 f 1440 2947(CREATE)N 1838({circle})X 2169(diameter)X 2531(:=)X 2636(200;)X 1440 3139(CREATE)N 1838({line})X 1728 3267(length)N 1993(:=)X 2098(100)X 1728 3395({line}.p1)N 2109(:=)X 2214 0.2333({circle}.center;)AX 1440 3587(REPLICATE)N 1982(ln[$$])X 2241(:=)X 2346({line})X 2607(IN)X 2732({circle})X 3063(0)X 3135(TO)X 3287(15)X 2016 3715(ROTATE)N 2419(\($$)X 2571(/)X 2622(16\))X 2774(*)X 2846(360:)X 1728 3843(pnt[$$])N 2035(:=)X 2140(CREATE)X 2538({point})X 2852(AT)X 3004(ln[$$].center;)X 1728 3971(CREATE)N 2126({line})X 2387(pnt[$$])X 2694(TO)X 2846(pnt[\($$)X 3153(+)X 3231(1\))X 3335(%)X 3439(16];)X 1429 4163(Figure)N 1704(E3.3:)X 1934(Kiviat)X 2199(Diagram)X 2560(Graphical)X 2964(Speci\256cation)X 3 f 1152 4483(Mapping)N 1573(Rules:)X 1 f 10 f 1152 4495(i)N 1162(iiiiiiiiiiiiii)X 2 f 1440 4684(busy)N 1 f 9 f 1920 MX (->)174 987 oc 3 f 2160(busy)X 1 f 2351([)X 2 f 2383(busy)X 1 f (.pe])S 2730(:=)X 2835(TRUE;)X 2 f 1440 4876(idle)N 1 f 9 f 1920 MX (->)174 987 oc 3 f 2160(busy)X 1 f 2351([)X 2 f 2383(idle)X 1 f 2528(.pe])X 2699(:=)X 2804(FALSE;)X 3 f 1440 5068(busy)N 1 f 1631([i])X 9 f 1920 MX (->)174 987 oc 3 f 2160(busytime)X 1 f 2533([i]++;)X 1440 5260(\(TRUE)N 9 f 1920 MX (->)174 987 oc 1 f 2160(SET\))X 3 f 2387(util)X 1 f 2526([i])X 2641(:=)X 3 f 2746(busytime)X 1 f 3119([i])X 3234(/)X 3 f 3285(currenttime)X 1 f 3777(;)X 1440 5452(\(TRUE)N 9 f 1920 MX (->)174 987 oc 1 f 2160(SET\))X 3 f 2387(p)X 1 f 2440([i])X 2555(:=)X 3 f 2660(util)X 1 f 2799([i])X 2914(ALONG)X 3 f 3273(ln)X 1 f 3353([i];)X 1587 5644(Figure)N 1862(E3.4:)X 2092(Kiviat)X 2357(Diagram)X 2718(Mapping)X 3089(Rules)X 35 p %%Page: 35 38 12 s 0 xH 0 xS 1 f 2344 416(-)N 2400(35)X 2520(-)X 776 876(The)N 956(events)X 1232(utilized)X 1552(for)X 1694(this)X 1863(example)X 2220(are)X 2 f 2368(busy)X 1 f 2574(and)X 2 f 2743(idle)X 1 f 2888(,)X 2942(to)X 3047(determine)X 3463(the)X 3611(utilization)X 4033(of)X 4143(each)X 576 1004(processor.)N 1019(Different)X 1399(events)X 1672(could)X 1913(be)X 2031("plugged)X 2407(in")X 2548(to)X 2650(use)X 2805(the)X 2950(behavior)X 3314(and)X 3480(graphics)X 3833(speci\256cation)X 576 1132(for)N 727(load)X 932(balance,)X 1291(etc.)X 1492(The)X 1682(behavior)X 2059(variables)X 2447(for)X 2599(this)X 2778(analysis)X 3128(are)X 3 f 3286(busy)X 1 f 3477(,)X 3 f 3541(busytime)X 1 f 3914(,)X 3978(and)X 3 f 4157(util)X 1 f 4296(,)X 576 1260(which)N 836(keep)X 1043(track)X 1261(of)X 1366(whether)X 1701(particular)X 2096(processors)X 2526(are)X 2669(busy)X 2875(or)X 2980(idle,)X 3174(and)X 3338(for)X 3475(how)X 3664(long,)X 3883(to)X 3982(maintain)X 576 1388(a)N 644(utilization)X 1062(value.)X 1345(The)X 1521(graphical)X 1906(object)X 2168(variables)X 2542("pnt")X 2769(and)X 2934("ln")X 3113(keep)X 3321(track)X 3540(of)X 3646(particular)X 4042(graphi-)X 576 1516(cal)N 726(objects)X 1036(for)X 1185(manipulating)X 1731(the)X 1886(display,)X 2225(such)X 2437(that)X 2618(the)X 2772(processor)X 3176(points)X 3447(can)X 3617(be)X 3744(placed)X 4032(propor-)X 576 1644(tionately)N 943(along)X 1186(their)X 1392(spoke)X 1645(lines)X 1856(in)X 1960(the)X 2107(display.)X 2462(The)X 2641(graphical)X 3029(speci\256cation)X 3545(includes)X 3895(drawing)X 4240(of)X 576 1772(the)N 726(wheel)X 987(and)X 1157(spokes,)X 1473(and)X 1643(the)X 1792(identi\256cation)X 2332(of)X 2443(the)X 2592(points)X 2858(and)X 3028(spokes,)X 3344(and)X 3514(creates)X 3813(the)X 3962(lines)X 4175(that)X 576 1900(connect)N 902(the)X 1046(different)X 1404(points.)X 1713(The)X 1889(main)X 2108(portion)X 2412(of)X 2518(the)X 2662(graphical)X 3047(speci\256cation)X 3560(is)X 3650(encapsulated)X 4175(in)X 4277(a)X 576 2028(single)N 834(replication)X 1275(that)X 1447(speci\256es)X 1805(all)X 1929(the)X 2074(graphics)X 2427(and)X 2593(the)X 2738(assignments)X 3235(to)X 3337(graphical)X 3723(object)X 3986(pointers.)X 576 2156(The)N 753(mapping)X 1117(rules)X 1331(identify)X 1658(the)X 1803(relationship)X 2285(of)X 2393(the)X 2539(behavior)X 2904(variables)X 3280(to)X 3383(the)X 3529(events)X 3803(and)X 3970(graphics.)X 576 2284(When)N 831(a)X 2 f 899(busy)X 1 f 1100(event)X 1334(occurs,)X 1634(the)X 1777(corresponding)X 3 f 2352(busy)X 1 f 2568(\257ag)X 2737(for)X 2874(that)X 3044(processor)X 3437(is)X 3526(set)X 3658(to)X 3758(TRUE,)X 4058(engag-)X 576 2412(ing)N 732(a)X 808(counter)X 1130(rule)X 1313(that)X 1491(keeps)X 1743(track)X 1969(of)X 2082(how)X 2280(long)X 2484(the)X 2635(processor)X 3036(is)X 3133(busy,)X 3371(until)X 3581(the)X 3732(next)X 2 f 3932(idle)X 1 f 4111(event)X 576 2540(resets)N 840(the)X 1003(\257ag.)X 1239(Another)X 1598(rule)X 1792(de\256nes)X 2108(the)X 2270(utilization)X 2706(in)X 2825(terms)X 3083(of)X 3207(the)X 3369(counter)X 3702(and)X 3885(the)X 4047(current)X 576 2668(elapsed)N 891(simulator)X 1281(time.)X 1527(The)X 1704(last)X 1865(rule)X 2042(links)X 2256(each)X 2460(current)X 2760(utilization)X 3179(value)X 3415(with)X 3613(the)X 3758(position)X 4095(of)X 4202(the)X 576 2796(corresponding)N 1150(point)X 1372(on)X 1492(its)X 1607(spoke.)X 3 f 576 3052(5.2.4.)N 840(Example)X 1227(4:)X 1331(Gantt)X 1595(Chart)X 1864(Analysis)X 1 f 776 3208(The)N 978(Gantt)X 1244(chart)X 1489([Gan19])X 1861(is)X 1977(another)X 2318(well-known)X 2829(visual)X 3111(representation)X 3709(that)X 3907(effectively)X 576 3336(displays)N 932(the)X 1090(behavior)X 1467(and)X 1646(synchronization)X 2301(of)X 2421(concurrently)X 2948(executing)X 3363(processes)X 3771(or)X 3891(processors.)X 576 3464(The)N 750(displays)X 1089(consists)X 1417(of)X 1521(a)X 1588(vertical)X 1902(stack)X 2124(of)X 2228(multi-colored,)X 2801(horizontal)X 3216(bars)X 3400(along)X 3638(the)X 3780(time)X 3977(axis,)X 4181(one)X 576 3592(bar)N 725(for)X 863(each)X 1066(processor.)X 1508(The)X 1684(color)X 1908(of)X 2014(a)X 2083(given)X 2323(bar)X 2472(at)X 2567(a)X 2635(given)X 2874(point)X 3097(along)X 3336(the)X 3479(time)X 3676(axis)X 3856(corresponds)X 576 3720(to)N 677(the)X 821(particular)X 1217(processor)X 1611(state)X 1814(at)X 1910(that)X 2081(time)X 2280(instant.)X 2612(The)X 2789(relative)X 3106(synchronization)X 3748(among)X 4037(proces-)X 576 3848(sors)N 756(is)X 846(identi\256ed)X 1236(by)X 1358(the)X 1502(skew)X 1725(in)X 1826(alignment)X 2238(among)X 2526(the)X 2670(colors)X 2931(in)X 3032(different)X 3390(processor)X 3784(bars.)X 4017(In)X 4122(addi-)X 576 3976(tion,)N 776(the)X 920(correct)X 1214(and)X 1379(ef\256cient)X 1721(operation)X 2111(of)X 2217(each)X 2420(processor)X 2815(can)X 2976(be)X 3094(veri\256ed)X 3415(by)X 3538(examining)X 3972(the)X 4117(order)X 576 4104(and)N 753(duration)X 1112(of)X 1230(the)X 1386(different)X 1756(colored)X 2083(states)X 2335(in)X 2448(each)X 2663(bar.)X 2872(The)X 3059(speci\256cation)X 3583(of)X 3700(the)X 3855(Gantt)X 4106(Chart)X 576 4232(analysis)N 910(is)X 998(shown)X 1272(in)X 1371(Figures)X 1683(E4.1)X 1886(through)X 2209(E4.4)X 2412(below.)X 36 p %%Page: 36 39 12 s 0 xH 0 xS 1 f 2344 416(-)N 2400(36)X 2520(-)X 3 f 1728 1260(Event)N 2016(Speci\256cation:)X 1 f 10 f 1722 1272(i)N 1755(iiiiiiiiiiiiiiiii)X 2 f 2016 1589(event)N 1 f 2244(state)X 9 s 2421 1608(1)N 2 f 12 s 2489 1589(is)N 1 f 2577(primitive)X 2955("raw_state)X 9 s 3363 1608(1)N 12 s 3407 1589(")N 2 f 2016 1717(with)N 1 f 2304 1845(int)N 2430(color;)X 2304 1973(int)N 2430(pe;)X 2 f 2016 2101(end)N 1 f 2112 2226(.)N 2112 2264(.)N 2112 2302(.)N 2 f 2016 2485(event)N 1 f 2244(state)X 9 s 2421 2504(n)N 2 f 12 s 2489 2485(is)N 1 f 2577(primitive)X 2955("raw_state)X 9 s 3363 2504(n)N 12 s 3407 2485(")N 2 f 2016 2613(with)N 1 f 2304 2741(int)N 2430(color;)X 2304 2869(int)N 2430(pe;)X 2 f 2016 2997(end)N 1 f 1581 3317(Figure)N 1856(E4.1:)X 2086(Gantt)X 2324(Chart)X 2562(Event)X 2811(Speci\256cation)X 3 f 1728 4021(Behavior)N 2150(Variable)X 2556(Speci\256cation:)X 1 f 10 f 1722 4033(iiiiiiiiiiiiiiiiiiiiiiiiiiiii)N 1 f 2016 4222(int)N 2142(scale)X 2359(=)X 2437(10;)X 1339 4414(Figure)N 1614(E4.2:)X 1844(Gantt)X 2082(Chart)X 2320(Behavior)X 2697(Variable)X 3053(Speci\256cation)X 37 p %%Page: 37 40 12 s 0 xH 0 xS 1 f 2344 416(-)N 2400(37)X 2520(-)X 3 f 1440 876(Graphical)N 1905(Speci\256cation:)X 1 f 10 f 1434 888(i)N 1452(iiiiiiiiiiiiiiiiiiiii)X 11 s 1968 1211 MXY 0 -160 Dl 960 0 Dl 0 160 Dl -960 0 Dl 1371 MY 0 -160 Dl 960 0 Dl 0 160 Dl -960 0 Dl 1530 MY 0 -160 Dl 1371 MY 960 0 Dl 0 160 Dl 1530 MY -960 0 Dl 1690 MY 0 -160 Dl 960 0 Dl 0 160 Dl -960 0 Dl 1851 MY 0 -160 Dl 1690 MY 960 0 Dl 0 160 Dl 1851 MY -960 0 Dl 2011 MY 0 -160 Dl 960 0 Dl 0 160 Dl -960 0 Dl 2170 MY 0 -160 Dl 2011 MY 960 0 Dl 0 160 Dl 2170 MY -960 0 Dl 2330 MY 0 -160 Dl 960 0 Dl 0 160 Dl -960 0 Dl 2491 MY 0 -160 Dl 2330 MY 960 0 Dl 0 160 Dl 2491 MY -960 0 Dl 2651 MY 0 -160 Dl 960 0 Dl 0 160 Dl -960 0 Dl 2811 MY 0 -160 Dl 960 0 Dl 0 160 Dl -960 0 Dl 2970 MY 0 -160 Dl 2811 MY 960 0 Dl 0 160 Dl 2970 MY -960 0 Dl 3130 MY 0 -160 Dl 960 0 Dl 0 160 Dl -960 0 Dl 3291 MY 0 -160 Dl 3130 MY 960 0 Dl 0 160 Dl 3291 MY -960 0 Dl 3451 MY 0 -160 Dl 960 0 Dl 0 160 Dl -960 0 Dl 3610 MY 0 -160 Dl 3451 MY 960 0 Dl 0 160 Dl 3610 MY -960 0 Dl 12 s 1 f 1440 3906(CREATE)N 1838({rectangle};)X 1440 4098(REPLICATE)N 1982(rect[$$])X 2311(:=)X 2416({rectangle})X 2886(IN)X 3011({line})X 3272(0)X 3344(TO)X 3496(15)X 1728 4226(COLOR)N 2208(rect[$$])X 2688(0;)X 1504 4418(Figure)N 1779(E4.3:)X 2009(Gantt)X 2247(Chart)X 2485(Graphical)X 2889(Speci\256cation)X 3 f 1296 4738(Mapping)N 1717(Rules:)X 1 f 10 f 1296 4750(i)N 1306(iiiiiiiiiiiiii)X 1 f 1584 4939(\(TRUE)N 9 f 2064 MX (->)174 987 oc 1 f 2159(\))X 2304(rect[i].x2)X 2684(:=)X 3 f 2789(scale)X 1 f 3011(*)X 3 f 3083(currenttime)X 1 f 3575(;)X 1584 5131(EVENT)N 9 f 2064 MX (->)174 987 oc 1 f 2304(COPY)X 2583(rect[EVENT.pe])X 3246(tmp;)X 2304 5259(rect[EVENT.pe].x1)N 3087(:=)X 3192(tmp.x2;)X 2304 5387(COLOR)N 2653(rect[EVENT.pe])X 3316(EVENT.color;)X 1662 5579(Figure)N 1937(E4.4:)X 2167(Gantt)X 2405(Chart)X 2643(Mapping)X 3014(Rules)X 38 p %%Page: 38 41 12 s 0 xH 0 xS 1 f 2344 416(-)N 2400(38)X 2520(-)X 776 876(As)N 909(an)X 1027(alternate)X 1387(means)X 1660(for)X 1800(specifying)X 2229(processor)X 2625(state)X 2830(events,)X 3128(for)X 3268(this)X 3435(example,)X 3814(each)X 4019(event)X 4256(is)X 576 1004(de\256ned)N 885(individually)X 1377(rather)X 1628(than)X 1820(using)X 2054(attribute)X 2402(values)X 2674(in)X 2775(a)X 2844(single)X 2 f 3100(update)X 1 f 3388(event.)X 3671(Each)X 3890(of)X 3995(the)X 2 f 4138(state)X 1 f 576 1132(events)N 846(includes)X 1191(an)X 1306(attribute)X 1652(for)X 1788(the)X 1930(originating)X 2377(pe)X 2492(and)X 2656(a)X 2724(corresponding)X 3299(color)X 3522(to)X 3622(represent)X 4000(the)X 4143(state)X 576 1260(in)N 677(the)X 821(chart.)X 1088(The)X 1264(only)X 1461(behavior)X 1824(variable)X 2161(for)X 2299(this)X 2464(analysis)X 2800(is)X 2890(a)X 3 f 2959(scale)X 1 f 3183(variable)X 3520(for)X 3658(scaling)X 3957(the)X 4101(width)X 576 1388(of)N 687(the)X 836(display)X 1145(versus)X 1421(time.)X 1672(The)X 1853(graphics)X 2210(speci\256cation)X 2728(for)X 2871(this)X 3041(analysis)X 3382(is)X 3477(simply)X 3770(the)X 3919(column)X 4240(of)X 576 1516(rectangles)N 996(which)X 1260(sets)X 1433(up)X 1558(the)X 1705(initial)X 1960(display.)X 2315(This)X 2515(column)X 2833(is)X 2926(created)X 3234(by)X 3358(a)X 3429(replication)X 3870(that)X 4043(assigns)X 576 1644(graphical)N 960(object)X 1221(variables)X 1594(to)X 1694(point)X 1917(to)X 2017(each)X 2219(rectangle)X 2598(and)X 2762(colors)X 3023(each)X 3226(rectangle)X 3606(in)X 3707(a)X 3776(neutral,)X 4094(initial)X 576 1772(color)N 804(\(0\).)X 994(The)X 1174(mapping)X 1541(rules)X 1758(expand)X 2066(on)X 2192(this)X 2361(initial)X 2617(graphics)X 2972(speci\256cation)X 3488(by)X 3613(indicating)X 4028(that)X 4202(the)X 576 1900(right)N 789(side)X 975(of)X 1086(each)X 1294(rectangle)X 1679(should)X 1966(expand)X 2275(linearly)X 2602(with)X 2805(the)X 2955(scaled)X 3228(current)X 3533(time.)X 3785(Note)X 4004(that)X 4181(this)X 576 2028(movement)N 1011(is)X 1103(independent)X 1602(of)X 1710(the)X 1856(occurrence)X 2307(of)X 2415(any)X 2582(events)X 2856(or)X 2964(other)X 3190(conditions,)X 3643(and)X 3810(the)X 3956(condition)X 576 2156(expression)N 1024(has)X 1189(a)X 1269(constant)X 1627(value)X 1873(of)X 1990(TRUE.)X 2326(The)X 2513(remaining)X 2941(mapping)X 3315(rule)X 3502(states)X 3753(that)X 3935(when)X 2 f 4181(any)X 1 f 576 2284(event)N 812(occurs,)X 1114(denoted)X 1445(by)X 1567(the)X 1711(generic)X 2021(keyword)X 2383("EVENT",)X 2826(that)X 2997(a)X 3066(new)X 3252(colored)X 3567(rectangle)X 3947(should)X 4229(be)X 576 2412(appended)N 975(to)X 1080(the)X 1228(end)X 1397(of)X 1507(the)X 1655(bar)X 1808(for)X 1950(that)X 2125(processor.)X 2572(This)X 2774(is)X 2869(accomplished)X 3430(by)X 3557(copying)X 3898(the)X 4047(current)X 576 2540(rectangle)N 955(into)X 1130(a)X 1198(temporary)X 1619(graphical)X 2003(object)X 2264(variable)X 2600("tmp".)X 2901(The)X 3076(dynamic)X 3433(rectangle)X 3812(pointed)X 4125(to)X 4224(by)X 576 2668("rect")N 830(is)X 925(then)X 1122(adjusted)X 1474(to)X 1580(have)X 1793(its)X 1915(left)X 2075(side)X 2261(on)X 2388(the)X 2538(right)X 2752(side)X 2939(the)X 3089(old)X 3244("tmp")X 3504(rectangle,)X 3914(and)X 4085(a)X 4160(new)X 576 2796(color)N 802(is)X 894(instantiated.)X 1415(In)X 1523(this)X 1690(way,)X 1902(every)X 2144(new)X 2331(event)X 2567(effectively)X 3007(changes)X 3344(the)X 3489(color)X 3714(of)X 3821(the)X 3966(rectangle)X 576 2924(bar)N 723(at)X 817(the)X 959(appropriate)X 1422(point)X 1644(on)X 1764(the)X 1906(time)X 2102(axis.)X 3 f 576 3180(6.)N 696(Conclusion)X 1 f 776 3336(The)N 962(proposed)X 1350(meta-tool)X 1757(design)X 2045(methodology)X 2590(presents)X 2942(an)X 3070(ef\256cient,)X 3447(\257exible,)X 3797(and)X 3973(powerful)X 576 3464(framework)N 1028(for)X 1170(constructing)X 1676(visual)X 1935(analyses)X 2290(for)X 2431(parallel)X 2750(software)X 3110(development.)X 3685(The)X 3864(architecture)X 576 3592(separates)N 960(the)X 1109(concerns)X 1482(of)X 1594(the)X 1744(analysis)X 2086(speci\256cation)X 2605(into)X 2787(independent)X 3290(modules,)X 3672(and)X 3843(the)X 3993(relation-)X 576 3720(ship)N 763(mapping)X 1127(language)X 1502(represents)X 1919(the)X 2064(relationships)X 2583(among)X 2872(the)X 3017(modules)X 3370(ef\256ciently)X 3788(and)X 3953(naturally.)X 576 3848(The)N 764(demonstration)X 1353 0.2548(implementation)AX 1998(is)X 2101(feasible)X 2440(and)X 2618(can)X 2791(mimic)X 3077(existing)X 3421(visualization)X 3953(views,)X 4240(as)X 576 3976(well)N 766(as)X 870(supercede)X 1279(the)X 1421(existing)X 1750(technology)X 2202(by)X 2322(providing)X 2720(a)X 2787(customizable)X 3320(paradigm.)X 39 p %%Page: 39 42 12 s 0 xH 0 xS 1 f 2344 416(-)N 2400(39)X 2520(-)X 3 f 2223 1004(References)N 1 f 576 1288([BaS88])N 1056(M.)X 1196(L.)X 1310(Bailey,)X 1617(D.)X 1741(Socha,)X 2031(D.)X 2155(Notkin,)X 2477("Debugging)X 2974(Parallel)X 3300(Programs)X 3700(using)X 3940(Graphical)X 1056 1416(Views,")N 2 f 1395(Proceedings)X 1907(of)X 2013(the)X 2162(1988)X 2385(International)X 2923(Conference)X 3397(on)X 3523(Parallel)X 3869(Processing)X 1 f 4296(,)X 1056 1544(Volume)N 1390(II,)X 1502(St.)X 1630(Charles,)X 1972(Illinois,)X 2293(August)X 2594(1988,)X 2834(pp.)X 2978(46-49.)X 576 1764([BaW83])N 1056(P.)X 1170(C.)X 1296(Bates,)X 1572(J.)X 1671(C.)X 1797(Wileden,)X 2186("High-Level)X 2707(Debugging)X 3172(of)X 3290(Distributed)X 3761(Systems:)X 4170(The)X 1056 1892(Behavioral)N 1512(Abstraction)X 1994(Approach,")X 2469(The)X 2652(Journal)X 2968(of)X 3081(Systems)X 3434(and)X 3606(Software,)X 4010(Volume)X 1056 2020(3,)N 1152(1983,)X 1392(pp.)X 1536(255-264.)X 576 2240([Bat88])N 1056(P.)X 1159(C.)X 1273(Bates,)X 1537("Distributed)X 2035(Debugging)X 2488(Tools)X 2734(for)X 2873(Heterogeneous)X 3477(Distributed)X 3937(Systems,")X 2 f 1056 2368(Proceedings)N 1566(of)X 1670(the)X 1817(Eighth)X 2103(International)X 2640(Conference)X 3113(on)X 3238(Distributed)X 3705(Computing)X 4160(Sys-)X 1056 2496(tems)N 1 f 1256(June)X 1456(1988,)X 1696(pp.)X 1840(308-315.)X 576 2716([BeE88])N 1056(T.)X 1172(Bemmerl,)X 1588(N.)X 1714(Erl,)X 1889(O.)X 2016(Hansen,)X 2362("Menu)X 2659(and)X 2832(Graphic)X 3176(Driven)X 3477(Human)X 3794(Interfaces)X 4208(for)X 1056 2844(High)N 1283(Level)X 1538(Debuggers,")X 2052(Microprocessing)X 2733(and)X 2907(Microprogramming,)X 3724(The)X 3908(Euromicro)X 1056 2972(Journal,)N 1387(Volume)X 1721(24,)X 1865(1988,)X 2105(pp.)X 2249(153-160.)X 576 3192([Bem88])N 1056(T.)X 1174(Bemmerl,)X 1592("An)X 1783(Integrated)X 2210(and)X 2385(Portable)X 2742(Tool)X 2960(Environment)X 3499(for)X 3647(Parallel)X 3978(Comput-)X 1056 3320(ers,")N 2 f 1277(Proceedings)X 1804(of)X 1925(the)X 2088(1988)X 2325(International)X 2878(Conference)X 3367(on)X 3508(Parallel)X 3869(Processing)X 1 f 4296(,)X 1056 3448(Volume)N 1390(II,)X 1502(St.)X 1630(Charles,)X 1972(Illinois,)X 2293(August)X 2594(1988,)X 2834(pp.)X 2978(50-53.)X 576 3677([BeB90])N 1056(T.)X 1169(Bemmerl,)X 1583(A.)X 1707(Bode,)X 1965(P.)X 2073(Braun,)X 2363(O.)X 2487(Hansen,)X 2830(P.)X 2938(Luksch,)X 3276(R.)X 3395(Wism)X 3 f 3625(u)X 1 f 3628 3615(..)N 3678 3677(ller,)N 3862("TOPSYS)X 4288(-)X 1056 3805(Tools)N 1321(for)X 1478(Parallel)X 1818(Systems,")X 2246(Users's)X 2578(Overview)X 3002(and)X 3186(User's)X 3481(Manuals,)X 3881(Technische)X 1056 3942(Universit)N 3 f 1414(a)X 1 f 1414 3880(..)N 3942(t)Y 1513(M)X 3 f 1598(u)X 1 f 1601 3880(..)N 1651 3942(nchen,)N 1929(Institut)X 2226(F)X 3 f 2279(u)X 1 f 2282 3880(..)N 2332 3942(r)N 2388(Informatik,)X 2848(TUM-19047,)X 3381(December)X 3801(1990.)X 576 4171([BeB91])N 1056(T.)X 1164(Bemmerl,)X 1572(P.)X 1674(Braun,)X 1958(O.)X 2076(Hansen,)X 2414(T.)X 2523(Treml,)X 2809(R.)X 2923(Wism)X 3 f 3153(u)X 1 f 3156 4109(..)N 3206 4171(ller,)N 3385("The)X 3600(Design)X 3898(and)X 4063(Imple-)X 1056 4308(mentation)N 1509(of)X 1656(TOPSYS,")X 2142(Version)X 2513(1.0)X 2700(Release)X 3067(Notes,)X 3382(Technische)X 3887(Universit)X 3 f 4245(a)X 1 f 4245 4246(..)N 4308(t)Y 1056 4445(M)N 3 f 1141(u)X 1 f 1144 4383(..)N 1194 4445(nchen,)N 1472(Institut)X 1769(F)X 3 f 1822(u)X 1 f 1825 4383(..)N 1875 4445(r)N 1931(Informatik,)X 2391(May)X 2591(1991.)X 576 4665([BrS84])N 1056(M.)X 1198(H.)X 1324(Brown,)X 1642("A)X 1783(System)X 2099(for)X 2244(Algorithm)X 2678(Animation,")X 3186(Computer)X 3605(Graphics,)X 4010(Volume)X 1056 4793(18,)N 1200(Number)X 1539(3,)X 1635(July)X 1819(1984,)X 2059(pp.)X 2203(177-186.)X 576 5013([BrS85])N 1056(M.)X 1227(H.)X 1382(Brown,)X 1729(R.)X 1879(Sedgewick,)X 2388("Techniques)X 2934(for)X 3109(Algorithm)X 3573(Animation,")X 4111(IEEE)X 1056 5141(Software,)N 1451(Volume)X 1785(2,)X 1881(Number)X 2220(1,)X 2316(January)X 2639(1985,)X 2879(pp.)X 3023(28-39.)X 576 5361([Bro88])N 1056(M.)X 1196(H.)X 1320(Brown,)X 1636("Exploring)X 2092(Algorithms)X 2562(Using)X 2823(BALSA-II,")X 3328(IEEE)X 3569(Computer,)X 4010(Volume)X 1056 5489(21,)N 1200(Number)X 1539(5,)X 1635(May)X 1835(1988,)X 2075(pp.)X 2219(14-36.)X 576 5709([CaK92a])N 1056(T.)X 1163(L.)X 1270(Casavant,)X 1671(J.)X 1756(A.)X 1874(Kohl,)X 2115(Y.)X 2233(E.)X 2341(Papelis,)X 2668("Practical)X 3070(Use)X 3244(of)X 3349(Visualization)X 3888(for)X 4025(Parallel)X 1056 5837(Systems,")N 1472(Invited)X 1778(Keynote)X 2137(Address)X 2484(Text)X 2694(for)X 2839(1992)X 3064(European)X 3465(Workshop)X 3897(on)X 4025(Parallel)X 40 p %%Page: 40 43 12 s 0 xH 0 xS 1 f 2344 416(-)N 2400(40)X 2520(-)X 1056 876(Computers,)N 1526(Barcelona,)X 1965(Spain,)X 2232(March)X 2507(23-24,)X 2779(1992)X 2995(\(15)X 3147(pages\).)X 576 1096([CaK92b])N 1056(T.)X 1163(L.)X 1270(Casavant,)X 1671(J.)X 1756(A.)X 1874(Kohl,)X 2115(Y.)X 2233(E.)X 2341(Papelis,)X 2668("Practical)X 3070(Use)X 3244(of)X 3349(Visualization)X 3888(for)X 4025(Parallel)X 1056 1224(Systems,")N 1465(Technical)X 1872(Report)X 2159(Number)X 2499(TR-ECE-920102,)X 3205(Department)X 3685(of)X 3790(ECE,)X 4021(Univer-)X 1056 1352(sity)N 1219(of)X 1323(Iowa,)X 1563(Iowa)X 1779(City,)X 1993(IA,)X 2142(52242,)X 2430(\(full)X 2620(version)X 2927(of)X 3031(EWPC)X 3322(92)X 3442(paper\).)X 576 1572([CoK90])N 1056(A.)X 1183(L.)X 1300(Couch,)X 1609(D.)X 1736(W.)X 1885(Krumme,)X 2285("Monitoring)X 2796(Parallel)X 3126(Executions)X 3589(in)X 3699(Real)X 3911(Time,")X 4213(To)X 1056 1700(appear)N 1364(in)X 2 f 1489(Proceedings)X 2020(Fifth)X 2258(Distributed)X 2746(Memory)X 3116(Computing)X 3593(Conference,)X 4111(IEEE)X 1056 1828(Computer)N 1464(Society)X 1767(Press,)X 2028(1990.)X 1 f 576 2048([CoR91])N 1056(K.)X 1183(C.)X 1305(Cox,)X 1523(G.-C.)X 1770(Roman,)X 2106("Visualizing)X 2623(Concurrent)X 3091(Computations,")X 2 f 3729(Proceedings)X 4245(of)X 1056 2176(the)N 1198(1991)X 1414(IEEE)X 1647(Visual)X 1917(Languages)X 2362(Workshop)X 1 f 2751(,)X 2799(Kobe,)X 3055(Japan,)X 3322(October)X 3656(1991,)X 3896(pp.)X 4040(18-24.)X 576 2396([DoB90])N 1056(J.)X 1143(J.)X 1230(Dongarra,)X 1643(O.)X 1762(Brewer,)X 2095(J.)X 2182(A.)X 2301(Kohl,)X 2543(S.)X 2647(A.)X 2767(Fineberg,)X 3160("A)X 3295(Tool)X 3504(to)X 3606(Aid)X 3777(in)X 3879(the)X 4024(Design,)X 1056 2524 0.2188(Implementation,)AN 1724(and)X 1896(Understanding)X 2495(of)X 2608(Matrix)X 2903(Algorithms)X 3374(for)X 3519(Parallel)X 3847(Processors,")X 1056 2652(Journal)N 1363(of)X 1467(Parallel)X 1786(and)X 1949(Distributed)X 2406(Computing,)X 2887(June)X 3087(1990,)X 3327(pp.)X 3471(185-202.)X 576 2872([FuK91])N 1056(C.)X 1183(A.)X 1315(Funka-Lea,)X 1795(T.)X 1917(D.)X 2049(Kontogiorgos,)X 2640(R.)X 2767(J.)X 2867(T.)X 2989(Morris,)X 3313(L.)X 3436(D.)X 3569(Rubin,)X 3868("Interactive)X 1056 3000(Visual)N 1352(Modeling)X 1771(for)X 1928(Performance,")X 2528(IEEE)X 2782(Software,)X 3198(Volume)X 3553(8,)X 3669(Number)X 4028(5,)X 4144(Sep-)X 1056 3128(tember)N 1348(1991,)X 1588(pp.)X 1732(58-68.)X 576 3348([Gan19])N 1056(H.)X 1187(L.)X 1308(Gantt,)X 1584("Organizing)X 2094(for)X 2244(Work,")X 2564(Industrial)X 2971(Management,)X 3536(Volume)X 3884(58,)X 4043(August)X 1056 3476(1919,)N 1296(pp.)X 1440(89-93.)X 576 3696([GuG89])N 1056(V.)X 1179(A.)X 1302(Guarna,)X 1639(Jr.,)X 1786(D.)X 1909(Gannon,)X 2267(D.)X 2390(Jablonowski,)X 2925(A.)X 3049(D.)X 3173(Malony,)X 3527(Y.)X 3651(Gaur,)X 3898("Faust:)X 4203(An)X 1056 3824(Integrated)N 1499(Environment)X 2053(for)X 2216(Parallel)X 2562(Programming,")X 3205(IEEE)X 3465(Software,)X 3887(Volume)X 4248(6,)X 1056 3952(Number)N 1395(7,)X 1491(July)X 1675(1989,)X 1915(pp.)X 2059(20-27.)X 576 4172([HeE91])N 1056(M.)X 1198(T.)X 1314(Heath,)X 1601(J.)X 1695(A.)X 1821(Etheridge,)X 2253("Visualizing)X 2769(the)X 2920(Performance)X 3446(of)X 3560(Parallel)X 3889(Programs,")X 1056 4300(IEEE)N 1289(Software,)X 1684(Volume)X 2018(8,)X 2114(Number)X 2453(5,)X 2549(September)X 2985(1991,)X 3225(pp.)X 3369(29-40.)X 576 4520([Hea90])N 1056(M.)X 1197(T.)X 1312(Heath,)X 1598("Visual)X 1920(Animation)X 2365(of)X 2478(Parallel)X 2806(Algorithms)X 3277(for)X 3422(Matrix)X 3717(Computations,")X 1056 4648 0.2784(Mathematical)AN 1611(Sciences)X 1972(Section,)X 2309(Oak)X 2493(Ridge)X 2747(National)X 3103(Laboratory.)X 576 4868([KoC91a])N 1056(J.)X 1141(A.)X 1258(Kohl,)X 1498(T.)X 1605(L.)X 1713(Casavant,)X 2115("Use)X 2328(of)X 2433(PARADISE:)X 2953(A)X 3047(Meta-Tool)X 3484(for)X 3621(Visualizing)X 4090(Paral-)X 1056 4996(lel)N 1180(Systems,")X 1590(Proceedings)X 2087(of)X 2194(the)X 2339(Fifth)X 2553(International)X 3073(Parallel)X 3395(Processing)X 3837(Symposium,)X 1056 5124(Anaheim,)N 1457(California,)X 1896(May)X 2096(1991,)X 2336(pp.)X 2480(561-567.)X 576 5344([KoC91b])N 1056(J.)X 1142(A.)X 1260(Kohl,)X 1501(T.)X 1609(L.)X 1717(Casavant,)X 2119("PARADISE:)X 2678(A)X 2772(Meta-Tool)X 3210(for)X 3348(Program)X 3705(Visualization)X 4245(in)X 1056 5472(Parallel)N 1383(Computing)X 1848(Systems,")X 2263(Technical)X 2675(Report)X 2968(Number)X 3314(TR-ECE-901011,)X 4026(Depart-)X 1056 5600(ment)N 1281(of)X 1393(ECE,)X 1631(University)X 2069(of)X 2181(Iowa,)X 2429(Iowa)X 2654(City,)X 2877(IA,)X 3035(52242,)X 3332(Revised)X 3675(December)X 4104(1991,)X 1056 5728(\(\256rst)N 1261(revision)X 1595(submitted)X 1999(IEEE)X 2232(Transactions)X 2748(on)X 2868(Software)X 3239(Engineering\).)X 41 p %%Page: 41 44 12 s 0 xH 0 xS 1 f 2344 416(-)N 2400(41)X 2520(-)X 576 876([KoC91c])N 1056(J.)X 1161(A.)X 1298(Kohl,)X 1558(T.)X 1685(L.)X 1812(Casavant,)X 2233("Methodologies)X 2893(for)X 3049(Rapid)X 3323(Prototyping)X 3821(of)X 3945(Tools)X 4208(for)X 1056 1004(Visualizing)N 1546(the)X 1710(Performance)X 2248(of)X 2374(Parallel)X 2715(Systems,")X 3143(Presentation)X 3664(at)X 3779(Workshop)X 4224(on)X 1056 1132(Parallel)N 1375(Computer)X 1784(Systems:)X 2155(Software)X 2526(Tools,)X 2793(Santa)X 3031(Fe,)X 3175(New)X 3380(Mexico,)X 3722(October)X 4056(1991.)X 576 1352([Koh91])N 1056(J.)X 1158(A.)X 1292(Kohl,)X 1549("Visual)X 1881(Techniques)X 2367(for)X 2521(Parallel)X 2858(Processing,")X 3379(Written)X 3716(Comprehensive)X 1056 1480(Examination,)N 1600(University)X 2032(of)X 2138(Iowa,)X 2380(Department)X 2861(of)X 2967 0.3542(Electrical)AX 3364(and)X 3529(Computer)X 3940(Engineer-)X 1056 1608(ing,)N 1227(ECETR-910726,)X 1900(July)X 2084(1991.)X 576 1828([MAC92])N 1056(Apple)X 1315(Computer)X 1724(Corporation,)X 2237(Macintosh)X 2667(Software)X 3038(Application,)X 3541(1992.)X 576 2048([MaR89])N 1056(A.)X 1179(D.)X 1303(Malony,)X 1657(D.)X 1781(A.)X 1905(Reed,)X 2158("An)X 2345(Integrated)X 2767(Performance)X 3290(Data)X 3503(Collection,)X 3960(Analysis,)X 1056 2176(and)N 1221(Visualization)X 1761(System,")X 2 f 2133(Proceedings)X 2639(of)X 2739(the)X 2882(4th)X 3030(Conference)X 3499(on)X 3620(Hypercubes,)X 4128(Con-)X 1056 2304(current)N 1363(Computers)X 1808(and)X 1976(Applications)X 1 f 2463(,)X 2511(1989.)X 576 2524([MeM85])N 1056(B.)X 1168(Melamed,)X 1580(R.)X 1692(J.)X 1777(T.)X 1884(Morris,)X 2193("Visual)X 2507(Simulation:)X 2981(The)X 3155(Performance)X 3671(Analysis)X 4032(Works-)X 1056 2652(tation,")N 1363(IEEE)X 1596(Computer,)X 2029(Volume)X 2363(18,)X 2507(Number)X 2846(8,)X 2942(August)X 3243(1985,)X 3483(pp.)X 3627(87-94.)X 576 2872([MiC90])N 1056(B.)X 1185(P.)X 1303(Miller,)X 1609(M.)X 1759(Clark,)X 2038(J.)X 2140(Hollingsworth,)X 2760(S.)X 2878(Kierstead,)X 3312(S.-S.)X 3539(Lim,)X 3765(T.)X 3890(Torzewski,)X 1056 3000("IPS-2:)N 1370(The)X 1549(Second)X 1861(Generation)X 2318(of)X 2427(a)X 2499(Parallel)X 2823(Program)X 3183(Measurement)X 3736(System,")X 4111(IEEE)X 1056 3128(Transactions)N 1573(on)X 1694(Parallel)X 2014(and)X 2178(Distributed)X 2636(Systems,)X 3005(Volume)X 3340(1,)X 3437(Number)X 3777(2,)X 3875(April)X 4104(1990,)X 1056 3256(pp.)N 1200(206-217.)X 576 3476([MiY89])N 1056(B.)X 1179(P.)X 1291(Miller,)X 1591(C.-Q.)X 1839(Yang,)X 2106("Performance)X 2673(Measurement)X 3233(for)X 3381(Parallel)X 3712(and)X 3887(Distributed)X 1056 3604(Programs:)N 1502(A)X 1598(Structured)X 2026(and)X 2192(Automatic)X 2626(Approach,")X 3095(IEEE)X 3331(Transactions)X 3850(on)X 3973(Software)X 1056 3732(Engineering,)N 1575(Volume)X 1909(15,)X 2053(Number)X 2392(12,)X 2536(December)X 2956(1989,)X 3196(pp.)X 3340(1615-1629.)X 576 3952([Mor92])N 1056(Xpic)X 1267(Graphics)X 1638(Tool,)X 1868(Created)X 2192(By)X 2328(Mark)X 2560(Moraes,)X 2896(CSRI,)X 3157(University)X 3587(of)X 3691(Toronto,)X 4049(1992.)X 576 4172([Mor74])N 1056(M.)X 1205(F.)X 1322(Morris,)X 1647("Kiviat)X 1967(Graphs)X 2284(-)X 2356(Conventions)X 2882(and)X 3061(Figures)X 3389(of)X 3510(Merit,")X 3828(Performance)X 1056 4300(Evaluation)N 1498(Review,)X 1840(Volume)X 2174(3,)X 2270(Number)X 2609(3,)X 2705(October)X 3039(1974,)X 3279(pp.)X 3423(2)X 3495(-)X 3551(8.)X 576 4520([Mye88])N 1056(B.)X 1173(A.)X 1295(Myers,)X 1593("The)X 1811(State)X 2033(of)X 2143(the)X 2291(Art)X 2449(in)X 2554(Visual)X 2835(Programming)X 3394(and)X 3563(Program)X 3924(Visualiza-)X 1056 4648(tion,")N 1308(Report)X 1608(Number)X 1961(CMU-CS-88-114,)X 2694(Computer)X 3117(Science)X 3455(Department,)X 3972(Carnegie)X 1056 4776(Mellon,)N 1382(1988.)X 576 4996([Nic90])N 1056(K.)X 1173(M.)X 1306(Nichols,)X 1653("Performance)X 2208(Tools,")X 2514(IEEE)X 2747(Software,)X 3142(May)X 3342(1990,)X 3582(pp.)X 3726(21-30.)X 576 5216([ReO91])N 1056(D.)X 1186(Reed,)X 1445(R.)X 1570(Olson,)X 1860(R.)X 1985(Aydt,)X 2238(T.)X 2358(Madhyastha,)X 2889(T.)X 3009(Birkett,)X 3338(D.)X 3469(Jensen,)X 3787(B.)X 3913(Nazief,)X 4232(B.)X 1056 5344(Totty,)N 1325("Scalable)X 1727(Performance)X 2255(Environments)X 2831(for)X 2979(Parallel)X 3310(Systems,")X 2 f 3729(Proceedings)X 4245(of)X 1056 5472(the)N 1226(Sixth)X 1471(Distributed)X 1961(Memory)X 2333(Computing)X 2812(Conference)X 1 f 3256(,)X 3332(IEEE)X 3593(Computer)X 4031(Society)X 1056 5600(Press,)N 1306(April)X 1533(1991.)X 42 p %%Page: 42 45 12 s 0 xH 0 xS 1 f 2344 416(-)N 2400(42)X 2520(-)X 576 876([RoC91])N 1056(D.)X 1211(T.)X 1356(Rover,)X 1677(M.)X 1848(B.)X 1998(Carter,)X 2325(J.)X 2448(L.)X 2593(Gustafson,)X 3069("Performance)X 3663(Visualization)X 4240(of)X 1056 1004(SLALOM,")N 2 f 1549(Proceedings)X 2066(of)X 2177(the)X 2331(Sixth)X 2560(Distributed)X 3034(Memory)X 3390(Computing)X 3852(Conference)X 1 f 4296(,)X 1056 1132(1991.)N 576 1352([RoW90])N 1056(D.)X 1173(T.)X 1281(Rover,)X 1565(C.)X 1678(T.)X 1786(Wright,)X 2108("Pictures)X 2482(of)X 2587(Performance:)X 3131(Highlighting)X 3648(Program)X 4004(Activity)X 1056 1480(in)N 1160(Time)X 1393(and)X 1561(Space,")X 2 f 1883(Proceedings)X 2393(of)X 2497(the)X 2644(5th)X 2795(Distributed)X 3261(Memory)X 3609(Computer)X 4021(Confer-)X 1056 1608(ence)N 1 f 1233(,)X 1281(IEEE)X 1514(Computer)X 1923(Society)X 2236(Press,)X 2486(1990.)X 576 1828([Rov89])N 1056(D.)X 1188(T.)X 1311(Rover,)X 1610("Visualization)X 2203(of)X 2323(Program)X 2694(Performance)X 3226(on)X 3362(Concurrent)X 3835(Computers,")X 1056 1956(PhD)N 1250(Thesis,)X 1549(Iowa)X 1765(State)X 1982(University,)X 2436(Ames,)X 2708(Iowa,)X 2948(1989.)X 576 2176([Sta90])N 1056(J.)X 1153(T.)X 1272(Stasko,)X 1588("Tango:)X 1936(A)X 2041(Framework)X 2520(and)X 2695(System)X 3014(for)X 3162(Algorithm)X 3599(Animation,")X 4111(IEEE)X 1056 2304(Computer,)N 1489(Volume)X 1823(23,)X 1967(Number)X 2306(9,)X 2402(September)X 2838(1990,)X 3078(pp.)X 3222(27-39.)X 576 2524([Sut92])N 1056(X\256g)X 1250(Graphics)X 1621(Tool,)X 1851(Created)X 2175(By)X 2311(Supoj)X 2559(Sutanthavibul,)X 3142(Copyright)X 3556(1985.)X 45 p %%Trailer xt xs .