ࡱ; L  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|~Root Entry  !"#$%&'()*-./056789:;<=>?@ADEFG !r\V)䰱 PresentationStarImpress 5.0rp0Object 1.)䰱`Y>Rp0Object 2.)䰱`Y>R5@OSSfxDocumentInfo  fX1 Mark Roth o1H uK Info 0 Info 1 Info 2 Info 3 fX1C< TASK,0,1,H 1,0,100,1,Oh+'0 h t 31@@pJ2@XOutdevItemPool 1   )     &'()*+,-./06789:;UVWXYZ[\]c !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstt      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefdB0o'@qXX',@X'.@2XXX' @X'@Arrow ArrowddXXXS'c@(ArrowddXX'.@^,XXX'"@,XX'@XX'@X @ @  @! @7 @M @c @y'@XX'b@̙XX X2XD'6@O22ddX'(@X'"@BMvv(@@SD@x^SI 0 s\ z 46ZBn8x)1̔.<觔B+̄ ޢ40:prf |q]~+H~|WFMbP@aoCē[ȡz6~U{߃XJ**<@   XXXX X&77<@   XXXX X&HH@+'  g*@'+'!''' '''''' g*@' ' XXX X&X,X2XXff@ JJKKJJKKJJKKQQVVJJKKJJKKJJQQ JJ JJKK JJKK JJXX X2XPXbXtXXXX8p)W "8bFt$:Pf|,BXn4J`v 8 d   . D Z p " 8 N d z  ( > T j   0 F \ 6~ PeEditEngineItemPool O6fQ`0@vg*=@^S ",StarBatsN -",StarBatsN -",StarBatsN -"` ` ,StarBatsN -" ,StarBatsN -",StarBatsN -"hh,StarBatsN -",StarBatsN -",StarBatsN -"pp,StarBatsN - "X,StarBatsN -",StarBatsN -",StarBatsN -"` ` ,StarBatsN -" ,StarBatsN -",StarBatsN -"hh,StarBatsN -",StarBatsN -",StarBatsN -"pp,StarBatsN - ",StarBatsN -",StarBatsN -",StarBatsN -"` ` ,StarBatsN -" ,StarBatsN -",StarBatsN -"hh,StarBatsN -",StarBatsN -",StarBatsN -"pp,StarBatsN - Z"|,StarBatsN -"|,StarBatsN -` ` ,StarBatsN K",StarBatsN -,StarBatsN K"pp,StarBatsN -"  ,StarBatsN -" ,StarBatsN -"%%,StarBatsN -"0*0*,StarBatsN -Z r,StarBats -r,StarBats -r,StarBats -r ,StarBats -r,StarBats -r,StarBats -rpp,StarBats -rXX,StarBats -r@@,StarBats -r(#(#,StarBats - "XX,StarBatsi -",StarBatsi -",StarBatsi -"` ` ,StarBatsi -" ,StarBatsi -",StarBatsi -"hh,StarBatsi -",StarBatsi -",StarBatsi -# Z d"|NAT5 qGIF89a !, ~..aaH H` Pp@`(p %R1D*$Q""=>K` ` NAT5 qGIF89a !, ~..aaH H` Pp@`(p %R1D*$Q""=>K"NAT5 qGIF89a !, ~..aaH H` Pp@`(p %R1D*$Q""=>KNAT5 qGIF89a !, ~..aaH H` Pp@`(p %R1D*$Q""=>K"ppNAT5 qGIF89a !, ~..aaH H` Pp@`(p %R1D*$Q""=>K"  NAT5 qGIF89a !, ~..aaH H` Pp@`(p %R1D*$Q""=>K" NAT5 qGIF89a !, ~..aaH H` Pp@`(p %R1D*$Q""=>K"%%NAT5 qGIF89a !, ~..aaH H` Pp@`(p %R1D*$Q""=>K"0*0*NAT5 qGIF89a !, ~..aaH H` Pp@`(p %R1D*$Q""=>KZXX.XNXn XXXh @S@S XX"@OU"dddx xdddxYdddxFdddddDd dddY ddd YDdddYD dddYD dddYD 8ddd8YD XdddXYDFdddFdddddDd xdddxYD!ddd!YDXX!X:XMX`XsXXXXXX X"X5XHX[Xt<( n@ U1   XXXX X&X,X2X8X>XD (@'Jn StarBats!"- StarBats !K  StarBats!r-BM6( SDgx^ 0 ݘ)؉E؉I A-Y:QUvtgaO7;WETK X*dyh4\ME^݅Ɓn. !K StarBatsX!"- StarBatsX!"- StarBats!"-BM6( SDgx^ 0 ݘ)؉E؉I A-Y:QUvtgaO7;WETK X*dyh4\ME^݅Ɓn.!"K  StarBats!r-  StarBatsX!"-  StarBatsX!KBM6( SDgx^ 0 ݘ)؉E؉I A-Y:QUvtgaO7;WETK X*dyh4\ME^݅Ɓn.!"KBM6( SDgx^ 0 ݘ)؉E؉I A-Y:QUvtgaO7;WETK X*dyh4\ME^݅Ɓn.!"KBM6( SDgx^ 0 ݘ)؉E؉I A-Y:QUvtgaO7;WETK X*dyh4\ME^݅Ɓn.!"KBM6( SDgx^ 0 ݘ)؉E؉I A-Y:QUvtgaO7;WETK X*dyh4\ME^݅Ɓn.!"KBM6( SDgx^ 0 ݘ)؉E؉I A-Y:QUvtgaO7;WETK X*dyh4\ME^݅Ɓn.!"KBM6( SDgx^ 0 ݘ)؉E؉I A-Y:QUvtgaO7;WETK X*dyh4\ME^݅Ɓn.!"KBM6( SDgx^ 0 ݘ)؉E؉I A-Y:QUvtgaO7;WETK X*dyh4\ME^݅Ɓn.!"KBM6( SDgx^ 0 ݘ)؉E؉I A-Y:QUvtgaO7;WETK X*dyh4\ME^݅Ɓn.!"KBM6( SDgx^ 0 ݘ)؉E؉I A-Y:QUvtgaO7;WETK X*dyh4\ME^݅Ɓn.!"KBM6( SDgx^ 0 ݘ)؉E؉I A-Y:QUvtgaO7;WETK X*dyh4\ME^݅Ɓn.!"KBM6( SDgx^ 0 ݘ)؉E؉I A-Y:QUvtgaO7;WETK X*dyh4\ME^݅Ɓn.!"KBM6( SDgx^ 0 ݘ)؉E؉I A-Y:QUvtgaO7;WETK X*dyh4\ME^݅Ɓn.!"KBM6( SDgx^ 0 ݘ)؉E؉I A-Y:QUvtgaO7;WETK X*dyh4\ME^݅Ɓn. !K BM6( SDgx^ 0 ݘ)؉E؉I A-Y:QUvtgaO7;WETK X*dyh4\ME^݅Ɓn.!"K!BM6( SDgx^ 0 ݘ)؉E؉I A-Y:QUvtgaO7;WETK X*dyh4\ME^݅Ɓn.!"K"BM6( SDgx^ 0 ݘ)؉E؉I A-Y:QUvtgaO7;WETK X*dyh4\ME^݅Ɓn.!"K$BM6( SDgx^ 0 ݘ)؉E؉I A-Y:QUvtgaO7;WETK X*dyh4\ME^݅Ɓn.!"K&BM6( SDgx^ 0 ݘ)؉E؉I A-Y:QUvtgaO7;WETK X*dyh4\ME^݅Ɓn.!"K'BM6( SDgx^ 0 ݘ)؉E؉I A-Y:QUvtgaO7;WETK X*dyh4\ME^݅Ɓn.!"K(BM6( SDgx^ 0 ݘ)؉E؉I A-Y:QUvtgaO7;WETK X*dyh4\ME^݅Ɓn.!"K)BM6( SDgx^ 0 ݘ)؉E؉I A-Y:QUvtgaO7;WETK X*dyh4\ME^݅Ɓn.!"K.BM6( SDgx^ 0 ݘ)؉E؉I A-Y:QUvtgaO7;WETK X*dyh4\ME^݅Ɓn. !K/BM6( SDgx^ 0 ݘ)؉E؉I A-Y:QUvtgaO7;WETK X*dyh4\ME^݅Ɓn.!"K0BM6( SDgx^ 0 ݘ)؉E؉I A-Y:QUvtgaO7;WETK X*dyh4\ME^݅Ɓn. !K1BM6( SDgx^ 0 ݘ)؉E؉I A-Y:QUvtgaO7;WETK X*dyh4\ME^݅Ɓn.!"K2BM6( SDgx^ 0 ݘ)؉E؉I A-Y:QUvtgaO7;WETK X*dyh4\ME^݅Ɓn. !K3BM6( SDgx^ 0 ݘ)؉E؉I A-Y:QUvtgaO7;WETK X*dyh4\ME^݅Ɓn. !K4BM6( SDgx^ 0 ݘ)؉E؉I A-Y:QUvtgaO7;WETK X*dyh4\ME^݅Ɓn. !KXXGXXXvXXX!XXXPXXFXXX}X:XXXq X. X X Xe X" X XXYXXXXMX XXXAXXXx@'-@rqdddddXdddd,dd|d@ddd`  dddhddddddpddd  xddd (#ddd% 'ddd0* dddX dddX dddY,dd|dddd@ddd` dddY|` ddd` YdddYdddYpdddpY ddd Y ddd Y,dd|d!,dd|d"@ddd` %%ddd%Y&0*ddd0*YXX!X4XGXZXmXXXXXXXXXX1XDXWXjXXXXXXXX,X?XRXkA'@`rddddddddddddd,ddd dddXXX&X2X>XJXVXb1'@rdX+'(@r XXX' @r!'@sX'4@MsTimesCourierXX'@ s Nd 4d d d {d d d hd d d d id [d XXX"X,X6X@XJXTX^XhXrX|X?( @7t'@WtXX'@ztX'@tX'@tXX'@tX'@tX%' @uS' @/u"' @Eu' @[u @qu @u{(@8vp3mailto:roth@uiuc.edu roth@uiuc.eduW!X!pR http://www.uiuc.edu/ph/www/roth/ http://www.uiuc.edu/ph/www/roth/W!X!XXL=5=_=8??X[%\J\~\\\\]]^#^B^j^^^^^^__,_PO{g* "XX,StarBatsN -",StarBatsN -",StarBatsN -"` ` ,StarBatsN -" ,StarBatsN -",StarBatsN -"hh,StarBatsN -",StarBatsN -",StarBatsN -"pp,StarBatsN - ( StarBats!"-!''Times'Od 08s2 +͉StandardStandard#'''''''''''''''+;(,,--..g* (@'A'1'+'!'''''''''Object with arrowStandardObject with arrow'''''''Object with shadowStandardObject with shadow+;(,,--..Object without fillStandardObject without fill'TextStandardText'' Text bodyStandard Text body'''Text body justfiedStandardText body justfied''+'First line indentStandardFirst line indent''g*@'TitleStandardTitle'''Title1StandardTitle1 '''+;(,,--..+''Title2StandardTitle2 ''+;(,,--..g*@'A'+''HeadingStandardHeading''A''Heading1StandardHeading1''A'''Heading2StandardHeading2''A''''Dimension LineStandardDimension Line'''''''Home~LT~Gliederung 1Home~LT~Gliederung 1''g*@'A'+'!'''''''''Home~LT~Gliederung 2Home~LT~Gliederung 1Home~LT~Gliederung 2@'A'' Home~LT~Gliederung 3Home~LT~Gliederung 2Home~LT~Gliederung 3@'A''Home~LT~Gliederung 4Home~LT~Gliederung 3Home~LT~Gliederung 4@'A'' Home~LT~Gliederung 5Home~LT~Gliederung 4Home~LT~Gliederung 5@'A'' Home~LT~Gliederung 6Home~LT~Gliederung 5Home~LT~Gliederung 6@'A'' Home~LT~Gliederung 7Home~LT~Gliederung 6Home~LT~Gliederung 7@' A'' Home~LT~Gliederung 8Home~LT~Gliederung 7Home~LT~Gliederung 8@' A'' Home~LT~Gliederung 9Home~LT~Gliederung 8Home~LT~Gliederung 9@' A'' Home~LT~Titel Home~LT~Titel''QQg*+'!''' ''''''Home~LT~UntertitelHome~LT~Untertitel''QQg*@' +'!''' ''''''Home~LT~NotizenHome~LT~Notizen ''!'''''''''Home~LT~HintergrundobjekteHome~LT~Hintergrundobjekte+;(,,--..Home~LT~HintergrundHome~LT~Hintergrund''TitleTitle@SubtitleSubtitle@Background objectsBackground objects@ Background Background@NotesNotes@ Outline 1 Outline 1@ Outline 2 Outline 1 Outline 2@ Outline 3 Outline 2 Outline 3@ Outline 4 Outline 3 Outline 4@ Outline 5 Outline 4 Outline 5@ Outline 6 Outline 5 Outline 6@ Outline 7 Outline 6 Outline 7@ Outline 8 Outline 7 Outline 8@ Outline 9 Outline 8 Outline 9@tPDP8> p< n  x H t & Y %@}@j Mark Roth .)䰱Drawing StarDraw 5.0SfxDocumentInfo  Mark Roth gX15 Mark Roth sX19 uK DrMdqZbZJoeMn0fX1uq1Kq1(ۺODrLy LAYER_LAYOUTDrLy LAYER_BCKGRNDDrLy LAYER_BACKGRNDOBJDrLyLAYER_CONTROLSDrLy!LAYER_MEASURELINESDrMP'JoeMlVTDrML DrOb<SVDr&y1A&DrOb<SVDr&;LdA&DrOb<SVDr&y.1LDrOb<SVDr&;.LdLDrXXgg fHome~LT~GliederungDrMPJoeM`mRDrML DrObSVDr&_mR'Home~LT~Hintergrund_mRDrObSVDr& oe! Home~LT~Titel oepxV4B1[#Click to edit the title text format Home~LT~Titel<( (@'DrObWSVDr& oe{J(Home~LT~Gliederung 1 oe{J xV4B1 %Click to edit the outline text formatHome~LT~Gliederung 1<( (@'Second Outline LevelHome~LT~Gliederung 2<( (@'Third Outline LevelHome~LT~Gliederung 3<( (@'Fourth Outline LevelHome~LT~Gliederung 4 <( ( @'Fifth Outline LevelHome~LT~Gliederung 5 <( (@'Sixth Outline LevelHome~LT~Gliederung 6 <( (@'Seventh Outline LevelHome~LT~Gliederung 7 <( (@'Eighth Outline LevelHome~LT~Gliederung 8<( (@'%Ninth Outline LevelHome~LT~Gliederung 9<(  (@'& DrXXgg ^Home~LT~GliederungDrMPJoeMVTlDrML DrObSVDr&T C(0! Home~LT~TitelT C(0dxV4B1OClick to move the slide Home~LT~Titel<( (@'DrObSVDr& 3G"]#Home~LT~Notizen 3G"]mxV4B1XClick to edit the notes formatHome~LT~Notizen<( (@' DrXXgg VHome~LT~GliederungDrPgcJoeMlVTDrML8DrMD,DrXX Handoutsgg FHome~LT~GliederungDrPg-JoeM`mRDrML8DrMD,DrObSVDr& $e ! Home~LT~Titel $e xV4B1>Preventing Wheel Reinvention: Infrastructure Framework Library Home~LT~Titel<( ( @'> >DrObSVDr&R i}J& Home~LT~UntertitelUR i}J6xV4B1 Mark D. RothHome~LT~Untertitel<( (@' Production Systems GroupHome~LT~Untertitel<( (@' 2Campus Information Technologies and Educ. ServicesHome~LT~Untertitel<( (@' *University of Illinois at Urbana-ChampaignHome~LT~Untertitel<( (@' Home~LT~Untertitel<( (@' Email: <>Home~LT~Untertitel<( (@'  WWW: Home~LT~Untertitel<( (@' DrXXgg FHome~LT~GliederungDrPg|JoeMVTlDrML8DrMD,DrOb<SVDr&T C(0DrObSVDr& 3G#]# Home~LT~Notizen 3G#]axV4B1LClick to add notesHome~LT~Notizen<( (@' DrXXgg VHome~LT~GliederungDrPgJoeM`mRDrLyLayoutDrLy BackgroundDrLy!Background objectsDrLyControlsDrLyDimension LinesDrML8DrMD,DrObSVDr& oe! Home~LT~Titel oeuxV4B1` Commonalities of Existing Tools Home~LT~Titel<( (@' DrOb/SVDr& oe|J( Home~LT~Gliederung 1 oe|JxV4B1 data storeHome~LT~Gliederung 1g*<( (@'/config files, SQL database, Makefiles, XML, etcHome~LT~Gliederung 2g*<( (@'"policy" implementationHome~LT~Gliederung 1g*<( (/@'pe.g., "enable anon FTP" means install wu-ftpd, create ftp user, add entry to inetd.conf, update hosts.allow, etcHome~LT~Gliederung 2g*<( (0@'&-69MW`kactionsHome~LT~Gliederung 1g*<( (1@'%code to generate various system filesHome~LT~Gliederung 2g*<( (2@'DrXXgg NHome~LT~GliederungDrPgJoeMVTlDrLyLayoutDrLy BackgroundDrLy!Background objectsDrLyControlsDrLyDimension LinesDrML8DrMD,DrOb<SVDr&T C(0DrObSVDr& 3G#]# Home~LT~Notizen 3G#]axV4B1LClick to add notesHome~LT~Notizen<( (@' DrXXgg NHome~LT~GliederungDrPg&JoeM`mRDrLyLayoutDrLy BackgroundDrLy!Background objectsDrLyControlsDrLyDimension LinesDrML8DrMD,DrObSVDr& oe! Home~LT~Titel oewxV4B1b"Differences Between Existing Tools Home~LT~Titel<( (@' "DrObSVDr& oe|J( Home~LT~Gliederung 1j oe|JKxV4B1,different paradigmsHome~LT~Gliederung 1g*<( (@'0common components are combined in different waysHome~LT~Gliederung 1g*<( (@'convergence vs impositionHome~LT~Gliederung 2g*<( (.@''centralized vs distributed intelligenceHome~LT~Gliederung 2g*<( (.@' push vs pullHome~LT~Gliederung 2g*<( (3@' opt-in vs required participationHome~LT~Gliederung 2g*<( (4@'DrXXgg NHome~LT~GliederungDrPgJoeMVTlDrLyLayoutDrLy BackgroundDrLy!Background objectsDrLyControlsDrLyDimension LinesDrML8DrMD,DrOb<SVDr&T C(0DrObSVDr& 3G#]# Home~LT~Notizen 3G#]axV4B1LClick to add notesHome~LT~Notizen<( (@' DrXXgg NHome~LT~GliederungDrPguJoeM`mRDrLyLayoutDrLy BackgroundDrLy!Background objectsDrLyControlsDrLyDimension LinesDrML8DrMD,DrObSVDr& oe! Home~LT~Titel oe`xV4B1K The Problem Home~LT~Titel<( (@' DrObSVDr& oe|J( Home~LT~Gliederung 1R oe|J3xV4B12cannot choose components independently of paradigmHome~LT~Gliederung 1g*<( ( @'!+like paradigm but want different data storeHome~LT~Gliederung 2g*<( (@'"$dislike paradigm but like componentsHome~LT~Gliederung 2g*<( (@'",any change requires writing a whole new toolHome~LT~Gliederung 1g*<( ("@'!"this is a huge waste of resources!Home~LT~Gliederung 1g*<( ($@'!DrXXgg NHome~LT~GliederungDrPgJoeMVTlDrLyLayoutDrLy BackgroundDrLy!Background objectsDrLyControlsDrLyDimension LinesDrML8DrMD,DrOb<SVDr&T C(0DrObSVDr& 3G#]# Home~LT~Notizen 3G#]axV4B1LClick to add notesHome~LT~Notizen<( (@' DrXXgg NHome~LT~GliederungDrPgNJoeM`mRDrLyLayoutDrLy BackgroundDrLy!Background objectsDrLyControlsDrLyDimension LinesDrML8DrMD,DrObSVDr& oe! Home~LT~Titel oecxV4B1NA New Approach Home~LT~Titel<( (@' DrObSVDr& oe|J( Home~LT~Gliederung 1 oe|JxV4B1n-create Infrastructure Framework Library (IFL)Home~LT~Gliederung 1g*<( (@'!3tools use abstracted interface to common componentsHome~LT~Gliederung 1g*<( (@'!?beneath abstraction, components implemented as loadable modulesHome~LT~Gliederung 1g*<( (@'!DrXXgg NHome~LT~GliederungDrPgJoeMVTlDrLyLayoutDrLy BackgroundDrLy!Background objectsDrLyControlsDrLyDimension LinesDrML8DrMD,DrOb<SVDr&T C(0 DrObSVDr& 3G#]# Home~LT~Notizen 3G#]axV4B1LClick to add notesHome~LT~Notizen<( (@' DrXXgg NHome~LT~GliederungDrPgaJoeM`mRDrLyLayoutDrLy BackgroundDrLy!Background objectsDrLyControlsDrLyDimension LinesDrML8DrMD,DrObSVDr& oe! Home~LT~Titel oefxV4B1QAdvantages of IFL Home~LT~Titel<( (@' DrObSVDr& oe|J( Home~LT~Gliederung 18 oe|JxV4B10can choose paradigm and components independentlyHome~LT~Gliederung 1g*<( (@'!Eparadigm is still tied to tool, but can choose tool based on paradigmHome~LT~Gliederung 1g*<( ()@'!DrXXgg NHome~LT~GliederungDrPgJoeMVTlDrLyLayoutDrLy BackgroundDrLy!Background objectsDrLyControlsDrLyDimension LinesDrML8DrMD,DrOb<SVDr&T C(0 DrObSVDr& 3G#]# Home~LT~Notizen 3G#]axV4B1LClick to add notesHome~LT~Notizen<( (@' DrXXgg NHome~LT~GliederungDrPgwJoeM`mRDrLyLayoutDrLy BackgroundDrLy!Background objectsDrLyControlsDrLyDimension LinesDrML8DrMD,DrObSVDr& oe! Home~LT~Titel oemxV4B1XIFL Implementation Steps Home~LT~Titel<( (@' DrOb'SVDr& oe|J( Home~LT~Gliederung 1 oe|JxV4B1identify all common componentsHome~LT~Gliederung 1g*<( (!@'!'identify API methods for each componentHome~LT~Gliederung 1g*<( (&@'!$define module API for each componentHome~LT~Gliederung 1g*<( ('@'!write the code :)Home~LT~Gliederung 1g*<( ((@'!DrXXgg NHome~LT~GliederungDrPgJoeMVTlDrLyLayoutDrLy BackgroundDrLy!Background objectsDrLyControlsDrLyDimension LinesDrML8DrMD,DrOb<SVDr&T C(0 DrObSVDr& 3G#]# Home~LT~Notizen 3G#]axV4B1LClick to add notesHome~LT~Notizen<( (@' DrXXgg NHome~LT~GliederungDrPg.JoeM`mRDrLyLayoutDrLy BackgroundDrLy!Background objectsDrLyControlsDrLyDimension LinesDrML8DrMD,DrObSVDr& oe! Home~LT~Titel oenxV4B1YSociological Observations Home~LT~Titel<( (@' DrObSVDr& oe|J( Home~LT~Gliederung 1{ oe|J\xV4B1ETbest way to convince tool developers to use IFL is to make it very convenient to useHome~LT~Gliederung 1g*<( (@'!donce we have many component modules implemented, we'll have momentum on our side ("CPAN phenomenon")Home~LT~Gliederung 1g*<( (@'!DrXXgg NHome~LT~GliederungDrPgJoeMVTlDrLyLayoutDrLy BackgroundDrLy!Background objectsDrLyControlsDrLyDimension LinesDrML8DrMD,DrOb<SVDr&T C(0DrObSVDr& 3G#]# Home~LT~Notizen 3G#]axV4B1LClick to add notesHome~LT~Notizen<( (@' DrXXgg NHome~LT~GliederungDrPgJoeM`mRDrLyLayoutDrLy BackgroundDrLy!Background objectsDrLyControlsDrLyDimension LinesDrML8DrMD,DrObSVDr& oe! Home~LT~Titel oefxV4B1QFuture Directions Home~LT~Titel<( (@' DrObSVDr& oe|J( Home~LT~Gliederung 1h oe|JIxV4B10what if a tool needs a completely new type of component? what if we can't agree on a common set of components or how they work?Home~LT~Gliederung 1g*<( (@'qmaybe we can provide some sort of "abstraction engine" to allow new types of components to be defined dynamicallyHome~LT~Gliederung 1g*<( (@'pif this is a worthwhile concept, maybe we should focus on the abstraction engine and use it to implement the IFLHome~LT~Gliederung 1g*<( (@'DrXXgg NHome~LT~GliederungDrPgJoeMVTlDrLyLayoutDrLy BackgroundDrLy!Background objectsDrLyControlsDrLyDimension LinesDrML8DrMD,DrOb<SVDr&T C(0DrObSVDr& 3G#]# Home~LT~Notizen 3G#]axV4B1LClick to add notesHome~LT~Notizen<( (@' DrXXgg NHome~LT~GliederungDrPg"JoeM`mRDrLyLayoutDrLy BackgroundDrLy!Background objectsDrLyControlsDrLyDimension LinesDrML8DrMD,DrObSVDr& oe! Home~LT~Titel| oe]xV4B1HFeedback Home~LT~Titel<( (@' DrObSVDr& oe|J( Home~LT~Gliederung 1 oe|JaxV4B1H'does this sound like a reasonable idea?Home~LT~Gliederung 1g*<( (@'!would you use it if it existed?Home~LT~Gliederung 1g*<( (@'!3would you be interested in working on designing it?Home~LT~Gliederung 1g*<( (@'!DrXXgg NHome~LT~GliederungDrPgJoeMVTlDrLyLayoutDrLy BackgroundDrLy!Background objectsDrLyControlsDrLyDimension LinesDrML8DrMD,DrOb<SVDr&T C(0DrObSVDr& 3G#]# Home~LT~Notizen 3G#]axV4B1LClick to add notesHome~LT~Notizen<( (@' DrXXgg NHome~LT~GliederungDrPg+JoeM`mRDrLyLayoutDrLy BackgroundDrLy!Background objectsDrLyControlsDrLyDimension LinesDrML8DrMD,DrObSVDr& $e ! Home~LT~Titel $e xV4B1>Preventing Wheel Reinvention: Infrastructure Framework Library Home~LT~Titel<( ( @'> >DrObSVDr&R i}J& Home~LT~UntertitelUR i}J6xV4B1 Mark D. RothHome~LT~Untertitel<( (@' Production Systems GroupHome~LT~Untertitel<( (@' 2Campus Information Technologies and Educ. ServicesHome~LT~Untertitel<( (@' *University of Illinois at Urbana-ChampaignHome~LT~Untertitel<( (@' Home~LT~Untertitel<( (@' Email: <>Home~LT~Untertitel<( (@'  WWW: Home~LT~Untertitel<( (@' DrXXgg FHome~LT~GliederungDrPgJoeMVTlDrLyLayoutDrLy BackgroundDrLy!Background objectsDrLyControlsDrLyDimension LinesDrML8DrMD,DrOb<SVDr&T C(0DrObSVDr& 3G#]# Home~LT~Notizen 3G#]axV4B1LClick to add notesHome~LT~Notizen<( (@' DrXXgg NHome~LT~GliederungDrXXFGeneric PrinterSGENPRT PostScriptH`Tl`Tld,,lprdefault_queueSGENPRT DrVwP SVDr SVDr:SVDr{{SVDrALayout:SVDr{{SVDr#SVDr SVDr# SVDr0 SVDr1 SVDr3 SVDr4SVDr@SVDr SVDrD SVDrP SVDrQ DrHL DrHL DrHL 5@OS KXOutdevItemPool 1   )     &'()*+,-./06789:;UVWXYZ[\]c !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstt      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefd0\'@qXX',@X':@2fXXXX&' @X'@Arrow ArrowddXXXS'@uArrowddRounded large arrowgHrH!^8 !HrHU^ "Hr#Ick^kUgHXXX_'.@,XXX':@,2XXXX&'@!XX'@DX @^ @t @ @ @ @ @'@XX'b@j̙XX X2XD'6@22ddX'(@X'"@ BMvv(@@SD@x^SI 0 s\ z 46ZBn8x)1̔.<觔B+̄ ޢ40:prf |q]~+H~|WFMbP@aoCē[ȡz6~U{߃NN @TOO @jPP @QQ@XRR @SS@XTT @UU@ XVV@/XXWW @MXX @cYY @yZZ @[[ @\\ @]] @__ @`` @aa @bb @)cc @?dd @Uee @k @''''''''''XXXX X,XDX\Z@U'''''XXX X,X8**2@XXXX 772@XXXX HH8@+'XXX X&ff @JJJJKKJJKKQQVVJJKKQQVVJJKKSSUUVVXXX,XJX\Xn8p@z3I_u9{ 5Kaw'=Si A o ! 7 M c  ) ? _ u " 8 N d z  * (f PY&%EditEngineItemPool 6f0h4g*|@- ",StarBatsN -",StarBatsN -",StarBatsN -"` ` ,StarBatsN -" ,StarBatsN -",StarBatsN -"hh,StarBatsN -",StarBatsN -",StarBatsN -"pp,StarBatsN - "X,StarBatsN -",StarBatsN -",StarBatsN -"` ` ,StarBatsN -" ,StarBatsN -",StarBatsN -"hh,StarBatsN -",StarBatsN -",StarBatsN -"pp,StarBatsN - ",StarBatsN -",StarBatsN -",StarBatsN -"` ` ,StarBatsN -" ,StarBatsN -",StarBatsN -"hh,StarBatsN -",StarBatsN -",StarBatsN -"pp,StarBatsN - Z"|,StarBatsN -"|,StarBatsN -` ` ,StarBatsN K",StarBatsN -,StarBatsN K"pp,StarBatsN -"  ,StarBatsN -" ,StarBatsN -"%%,StarBatsN -"0*0*,StarBatsN -Z r,StarBats -r,StarBats -r,StarBats -r ,StarBats -r,StarBats -r,StarBats -rpp,StarBats -rXX,StarBats -r@@,StarBats -r(#(#,StarBats - "XX,StarBatsi -",StarBatsi -",StarBatsi -"` ` ,StarBatsi -" ,StarBatsi -",StarBatsi -"hh,StarBatsi -",StarBatsi -",StarBatsi -XX.XNXn XX @-@- XXU@J.ddddddxxdddxYXX!X4<(@r.X (;@/ StarBats!"- StarBats!"-  StarBats!"- StarBats!r- StarBatsX!"-XXGXXX@'R@0dddddXdddd,dd|d@ddd`  dddhddddddpddd  xddd (#ddd% 'ddd0* dddXdddYXX!X4XGXZXmXXXXXXXXA'@1ddddddddddddd,ddddddXXX&X2X>XJXVXb1'@1dX+'(@1XXX' @ 2!'@B2 X'@l2 TimesX' @ 2Nd 4d d d {d d d hd d d d id XXX"X,X6X@XJXTX^XhXrX|?( @D3'@d3 XX'@3 X'@3 X'@3 XX'@3 X'@ 4 X%' @&4S' @<4"' @R4' @h47W'Q%Ml3Pk9g* "XX,StarBatsN -",StarBatsN -",StarBatsN -"` ` ,StarBatsN -" ,StarBatsN -",StarBatsN -"hh,StarBatsN -",StarBatsN -",StarBatsN -"pp,StarBatsN - ( StarBats!"-!''Times'Od 08s2 +GStandardStandard#'''''''''''''''+;(,,--..g* (@'A'1'+'!'''''''''Object with arrowStandardObject with arrow'''''''Object with shadowStandardObject with shadow+;(,,--..Object without fillStandardObject without fill'TextStandardText'' Text bodyStandard Text body'''Text body justfiedStandardText body justfied''+'First line indentStandardFirst line indent''g*@'TitleStandardTitle'''Title1StandardTitle1 '''+;(,,--..+''Title2StandardTitle2 ''+;(,,--..g*@'A'+''HeadingStandardHeading''A''Heading1StandardHeading1''A'''Heading2StandardHeading2''A''''Dimension LineStandardDimension Line'''''''Home~LT~Gliederung 1Home~LT~Gliederung 1''g*@'A'+'!'''''''''Home~LT~Gliederung 2Home~LT~Gliederung 1Home~LT~Gliederung 2@'A'' Home~LT~Gliederung 3Home~LT~Gliederung 2Home~LT~Gliederung 3@'A''Home~LT~Gliederung 4Home~LT~Gliederung 3Home~LT~Gliederung 4@'A'' Home~LT~Gliederung 5Home~LT~Gliederung 4Home~LT~Gliederung 5@'A'' Home~LT~Gliederung 6Home~LT~Gliederung 5Home~LT~Gliederung 6@'A'' Home~LT~Gliederung 7Home~LT~Gliederung 6Home~LT~Gliederung 7@' A'' Home~LT~Gliederung 8Home~LT~Gliederung 7Home~LT~Gliederung 8@' A'' Home~LT~Gliederung 9Home~LT~Gliederung 8Home~LT~Gliederung 9@' A'' Home~LT~Titel Home~LT~Titel''QQg*+'!''' ''''''Home~LT~UntertitelHome~LT~Untertitel''QQg*@' +'!''' ''''''Home~LT~NotizenHome~LT~Notizen ''!'''''''''Home~LT~HintergrundobjekteHome~LT~Hintergrundobjekte+;(,,--..Home~LT~HintergrundHome~LT~Hintergrund''TitleTitle@SubtitleSubtitle@Background objectsBackground objects@ Background Background@NotesNotes@ Outline 1 Outline 1@ Outline 2 Outline 1 Outline 2@ Outline 3 Outline 2 Outline 3@ Outline 4 Outline 3 Outline 4@ Outline 5 Outline 4 Outline 5@ Outline 6 Outline 5 Outline 6@ Outline 7 Outline 6 Outline 7@ Outline 8 Outline 7 Outline 8@ Outline 9 Outline 8 Outline 9@tPDP8> p< n  x H t & Y % Info 0 Info 1 Info 2 Info 3 gX15<`Y>ROh+'0 h t 7@@pJ2@ȓt@"k Mark Roth Mark RothDrMdJoeMn0gX15sX1nBsX1 9ODrLy LAYER_LAYOUTDrLy LAYER_BCKGRNDDrLy LAYER_BACKGRNDOBJDrLyLAYER_CONTROLSDrLy!LAYER_MEASURELINESDrMP'JoeMlVTDrML DrOb<SVDr&(A&DrOb<SVDr&3D[A&DrOb<SVDr&.(LDrOb<SVDr&3D.[LDrXXgg fHome~LT~GliederungDrMP9JoeMVTl{yDrML DrObSVDr&{yQ0j'Home~LT~Hintergrund{yQ0jDrXXgg NHome~LT~GliederungDrMPJoeMVTlDrML DrObSVDr& 8'0! Home~LT~Titel 8'0dxV4B1OClick to move the slide Home~LT~Titel<( (@'DrObSVDr& 3G"]#Home~LT~Notizen 3G"]mxV4B1XClick to edit the notes formatHome~LT~Notizen<( (@' DrXXgg VHome~LT~GliederungDrPgcJoeMlVTDrML8DrMD,DrXX Handoutsgg FHome~LT~GliederungDrPgd JoeMaAL{yDrML8DrMD,DrObuSVDr& Standard` DrObSVDr&n Standardn xV4B1jSystemStandard<( (@'ManagerStandard<( (@'DrObuSVDr&G)| Standardz(I DrObSVDr&mW& StandardmW& xV4B1m OperationsStandard<( (@'CenterStandard<( (@'DrObuSVDr&/A| Standard/`AI DrObSVDr&1W? Standard1W? xV4B1nSoftwareStandard<( (@' DeveloperStandard<( (@'DrObSVDr&#Standard tzyzDrObSVDr&HStandard .< .=..DrObuSVDr&r@r'!Standards?'!DrObSVDr&O%;StandardO%;xV4B1kServiceStandard<( (@'ManagerStandard<( (@'DrObSVDr&~# ,!Standardb7`c7az DrObSVDr&g, ?Standard3 DrObSVDr&PXStandard DrObSVDr&&R8StandardGGf7i'DrObSVDr&6 7IStandard' d7@ o7DrObSVDr&Q u ),Standard66!*DrObuSVDr&*'X7Standard*X'%7DrObSVDr&e-o"4Standarde-o"4|xV4B1eHelpStandard<( (@'DeskStandard<( (@'DrObSVDr&$5 AStandard70 70{7{?@DrObuSVDr&@'LStandardQ@Y'LDrObSVDr&B*#KJStandardB*#KJ|xV4B1eEndStandard<( (@'UsersStandard<( (@'DrXXgg FHome~LT~GliederungDrPg|JoeMVTlDrML8DrMD,DrOb<SVDr& 8'0DrObSVDr& 3G#]#Home~LT~Notizen 3G#]axV4B1LClick to add notesHome~LT~Notizen<( (@' DrXXgg VHome~LT~GliederungDrXX4Generic PrinterSGENPRT PostScriptH`Tl`Tld,,lprdefault_queueSGENPRT   .)䰱Drawing StarDraw 5.0SfxDocumentInfo  Mark Roth gX15 Mark Roth hX1 uK KXOutdevItemPool 1   )     &'()*+,-./06789:;UVWXYZ[\]c !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstt      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefd0\'@qXX',@X':@2fXXXX&' @X'@Arrow ArrowddXXXS'@uArrowddRounded large arrowgHrH!^8 !HrHU^ "Hr#Ick^kUgHXXX_'.@,XXX':@,2XXXX&'@!XX'@DX @^ @t @ @ @ @ @'@XX'b@j̙XX X2XD'6@22ddX'(@X'"@ BMvv(@@SD@x^SI 0 s\ z 46ZBn8x)1̔.<觔B+̄ ޢ40:prf |q]~+H~|WFMbP@aoCē[ȡz6~U{߃NN @TOO @jPP @QQ@XRR @SS@XTT @UU@ XVV@/XXWW @MXX @cYY @yZZ @[[ @\\ @]] @__ @`` @aa @bb @)cc @?dd @Uee @k @''''''''''XXXX X,XDX\Z@U'''''XXX X,X8**2@XXXX 772@XXXX HH8@+'XXX X&ff @JJJJKKJJKKQQVVJJKKQQVVJJKKSSUUVVXXX,XJX\Xn8p@z3I_u9{ 5Kaw'=Si A o ! 7 M c  ) ? _ u " 8 N d z  * (f PY&%EditEngineItemPool 6f0h4g*|@- ",StarBatsN -",StarBatsN -",StarBatsN -"` ` ,StarBatsN -" ,StarBatsN -",StarBatsN -"hh,StarBatsN -",StarBatsN -",StarBatsN -"pp,StarBatsN - "X,StarBatsN -",StarBatsN -",StarBatsN -"` ` ,StarBatsN -" ,StarBatsN -",StarBatsN -"hh,StarBatsN -",StarBatsN -",StarBatsN -"pp,StarBatsN - ",StarBatsN -",StarBatsN -",StarBatsN -"` ` ,StarBatsN -" ,StarBatsN -",StarBatsN -"hh,StarBatsN -",StarBatsN -",StarBatsN -"pp,StarBatsN - Z"|,StarBatsN -"|,StarBatsN -` ` ,StarBatsN K",StarBatsN -,StarBatsN K"pp,StarBatsN -"  ,StarBatsN -" ,StarBatsN -"%%,StarBatsN -"0*0*,StarBatsN -Z r,StarBats -r,StarBats -r,StarBats -r ,StarBats -r,StarBats -r,StarBats -rpp,StarBats -rXX,StarBats -r@@,StarBats -r(#(#,StarBats - "XX,StarBatsi -",StarBatsi -",StarBatsi -"` ` ,StarBatsi -" ,StarBatsi -",StarBatsi -"hh,StarBatsi -",StarBatsi -",StarBatsi -XX.XNXn XX @-@- XXU@J.ddddddxxdddxYXX!X4<(@r.X (;@/ StarBats!"- StarBats!"-  StarBats!"- StarBats!r- StarBatsX!"-XXGXXX@'R@0dddddXdddd,dd|d@ddd`  dddhddddddpddd  xddd (#ddd% 'ddd0* dddXdddYXX!X4XGXZXmXXXXXXXXA'@1ddddddddddddd,ddddddXXX&X2X>XJXVXb1'@1dX+'(@1XXX' @ 2!'@B2 X'@l2 TimesX' @ 2Nd 4d d d {d d d hd d d d id XXX"X,X6X@XJXTX^XhXrX|?( @D3'@d3 XX'@3 X'@3 X'@3 XX'@3 X'@ 4 X%' @&4S' @<4"' @R4' @h47W'Q%Ml3Pk9g* "XX,StarBatsN -",StarBatsN -",StarBatsN -"` ` ,StarBatsN -" ,StarBatsN -",StarBatsN -"hh,StarBatsN -",StarBatsN -",StarBatsN -"pp,StarBatsN - ( StarBats!"-!''Times'Od 08s2 +GStandardStandard#'''''''''''''''+;(,,--..g* (@'A'1'+'!'''''''''Object with arrowStandardObject with arrow'''''''Object with shadowStandardObject with shadow+;(,,--..Object without fillStandardObject without fill'TextStandardText'' Text bodyStandard Text body'''Text body justfiedStandardText body justfied''+'First line indentStandardFirst line indent''g*@'TitleStandardTitle'''Title1StandardTitle1 '''+;(,,--..+''Title2StandardTitle2 ''+;(,,--..g*@'A'+''HeadingStandardHeading''A''Heading1StandardHeading1''A'''Heading2StandardHeading2''A''''Dimension LineStandardDimension Line'''''''Home~LT~Gliederung 1Home~LT~Gliederung 1''g*@'A'+'!'''''''''Home~LT~Gliederung 2Home~LT~Gliederung 1Home~LT~Gliederung 2@'A'' Home~LT~Gliederung 3Home~LT~Gliederung 2Home~LT~Gliederung 3@'A''Home~LT~Gliederung 4Home~LT~Gliederung 3Home~LT~Gliederung 4@'A'' Home~LT~Gliederung 5Home~LT~Gliederung 4Home~LT~Gliederung 5@'A'' Home~LT~Gliederung 6Home~LT~Gliederung 5Home~LT~Gliederung 6@'A'' Home~LT~Gliederung 7Home~LT~Gliederung 6Home~LT~Gliederung 7@' A'' Home~LT~Gliederung 8Home~LT~Gliederung 7Home~LT~Gliederung 8@' A'' Home~LT~Gliederung 9Home~LT~Gliederung 8Home~LT~Gliederung 9@' A'' Home~LT~Titel Home~LT~Titel''QQg*+'!''' ''''''Home~LT~UntertitelHome~LT~Untertitel''QQg*@' +'!''' ''''''Home~LT~NotizenHome~LT~Notizen ''!'''''''''Home~LT~HintergrundobjekteHome~LT~Hintergrundobjekte+;(,,--..Home~LT~HintergrundHome~LT~Hintergrund''TitleTitle@SubtitleSubtitle@Background objectsBackground objects@ Background Background@NotesNotes@ Outline 1 Outline 1@ Outline 2 Outline 1 Outline 2@ Outline 3 Outline 2 Outline 3@ Outline 4 Outline 3 Outline 4@ Outline 5 Outline 4 Outline 5@ Outline 6 Outline 5 Outline 6@ Outline 7 Outline 6 Outline 7@ Outline 8 Outline 7 Outline 8@ Outline 9 Outline 8 Outline 9@tPDP8> p< n  x H t & Y % Info 0 Info 1 Info 2 Info 3 gX15<`Y>ROh+'0 h t 7@@pJ2@k@"k Mark Roth Mark RothDrMdJoeMn0gX15X1AX1T9ODrLy LAYER_LAYOUTDrLy LAYER_BCKGRNDDrLy LAYER_BACKGRNDOBJDrLyLAYER_CONTROLSDrLy!LAYER_MEASURELINESDrMP'JoeMlVTDrML DrOb<SVDr&(A&DrOb<SVDr&3D[A&DrOb<SVDr&.(LDrOb<SVDr&3D.[LDrXXgg fHome~LT~GliederungDrMP9JoeMVTl{yDrML DrObSVDr&{yQ0j'Home~LT~Hintergrund{yQ0jDrXXgg NHome~LT~GliederungDrMPJoeMVTlDrML DrObSVDr& 8'0! Home~LT~Titel 8'0dxV4B1OClick to move the slide Home~LT~Titel<( (@'DrObSVDr& 3G"]#Home~LT~Notizen 3G"]mxV4B1XClick to edit the notes formatHome~LT~Notizen<( (@' DrXXgg VHome~LT~GliederungDrPgcJoeMlVTDrML8DrMD,DrXX Handoutsgg FHome~LT~GliederungDrPgd JoeMVTl{yDrML8DrMD,DrObuSVDr&\ StandardDrObSVDr& WStandard WxV4B1jSystemStandard<( (@'ManagerStandard<( (@'DrObuSVDr&:E0Standardmx0DrObSVDr&` .@Standard` .@xV4B1m OperationsStandard<( (@'CenterStandard<( (@'DrObuSVDr&7EIStandard7xSIDrObSVDr&9vG@Standard9vG@xV4B1nSoftwareStandard<( (@' DeveloperStandard<( (@'DrObSVDr&I Standardg l DrObSVDr&;O  Standard55  DrObuSVDr&ee/g'Standard2/4'DrObSVDr&!BB-$Standard!BB-$xV4B1kServiceStandard<( (@'ManagerStandard<( (@'DrObSVDr&q&)sStandardU? V? ''DrObSVDr&Z2y!Standard&K !DrObSVDr&C ~"Standard'!'!DrObSVDr&.@x"StandardNNY?!!\/!!DrObSVDr&>R?!Standard/W?b?[!DrObSVDr&%%h(1Standard>!>!' ''J0DrObuSVDr&~!0~/<StandardT0K/<DrObSVDr&#2b*N:Standard#2b*N:|xV4B1eHelpStandard<( (@'DeskStandard<( (@'DrObSVDr&&6;(GStandard>s6>t6n'<n'EDrObuSVDr&E/ERStandardEL/RDrObSVDr&#RH+OStandard#RH+O|xV4B1eEndStandard<( (@'UsersStandard<( (@'DrXXgg FHome~LT~GliederungDrPg|JoeMVTlDrML8DrMD,DrOb<SVDr& 8'0DrObSVDr& 3G#]#Home~LT~Notizen 3G#]axV4B1LClick to add notesHome~LT~Notizen<( (@' DrXXgg VHome~LT~GliederungDrXX4Generic PrinterSGENPRT PostScriptH`Tl`Tld,,lprdefault_queueSGENPRT  Root Entry!r\V)䰱Object 1.)䰱CompObjEOle Object 2 .)䰱persist elements" SfxDocumentInfo uSfxWindowsSfxStyleSheetsySummaryInformation( 0StarDrawDocument3$M_Ole  CompObj =SfxWindowsSfxStyleSheets}HSfxDocumentInfo upersist elements"+StarDrawDocument3$#SummaryInformation(,8Ole 1CompObj2=SfxWindows3SfxStyleSheetsHSfxDocumentInfo 4upersist elements"BStarDrawDocument3$#SummaryInformation(C8