conference reports

This issue’s reports are on the 6th 6th USENIX Conference on (OO) technologies and middleware will USENIX Conference on Object-Oriented Object-Oriented Technologies be required to integrate pieces of soft- Technologies and Systems (COOTS ’01) and Systems (COOTS ’01) ware. OUR THANKS TO THE SUMMARIZER: SAN ANTONIO, TEXAS Feldman went on to point out that qual- ity of service and immediacy will be Nanbor Wang JANUARY 29-FEBRUARY 2, 2001 important for next-generation mobile Summarized by Nanbor Wang applications providing networked serv- BEST STUDENT PAPER AWARDS ices, such as market monitoring, financial Yi-Min Wang of Microsoft Research, Co- transactions, and real-time information Chair of the Conference, announced the broadcasting. The heterogeneity of the best student award. Many of the accepted environment these applications must run papers were written by students this year. on presents many challenges to develop- Of them, two received identical scores, ing these applications. The diversities in and both of them were awarded the best user demographics, device-specific user student paper award. They are: interfaces and business models processes of service providers further complicate “Content-Based Publish/Subscribe the issue. with Structural Reflection” by Patrick Th. Eugster and Rachid Guerraoui of In conclusion, Feldman envisions a world the Swiss Federal Institute of Technol- of pervasive devices that are helpful, ogy, Switzerland and always on, always available, personal, friendly to use, easily authored, managed, “Multi-Dispatch in the Virtual secure, and reliable. It’s up to the applica- Machine: Design and Implementa- tion and middleware developers to meet tion” by Christopher Dutchyn, Paul these challenges. Lu, Duane Szafron, and Steve Brom- ling of University of Alberta, Canada; SESSION: DISTRIBUTED OBJECTS and Wade Holst of the University of TORBA: TRADING CONTRACTS FOR CORBA Western Ontario, Canada Raphaël Marvie, Philippe Merle, Jean- Marc Geib, and Sylvain Leblanc, Labora- KEYNOTE ADDRESS toire d’Informatique Fondamentale de Lille, France THE BRAVE NEW WORLD OF PERVASIVE, INVISIBLE COMPUTING Raphaël Marvie presented their work on Stu Feldman, Institute for Advanced the Trader-Oriented Request Broker Commerce, IBM T.J. Watson Research Architecture (TORBA), which is a frame- Center work and a collection of tools to auto- In this talk, Feldman pointed out that, mate the use of the CORBA Trading with their increasing popularity, portable Service. Marvie pointed out that locating computing devices have become perva- a service is the essential part of distrib- sive in our daily lives. Nevertheless, uted applications. Although the Object unlike desktop computers, there is still Management Group (OMG) already no single computing model that domi- defined the CosTrading Service, it is nates the mobile world nor should there complicated to use and does not support be one since mobile devices have very type safety. The proposed solution is to different hardware interface designs. make the Trading Service an integral part With the current trend, the number of of objects and provide tools to integrate mobile devices accessing the Web will the Trading Service into applications shortly exceed that of desktops. There are automatically. plenty of opportunities to develop TORBA defines the concept of trading mobile devices, and Object-oriented contracts in TORBA Definition Language

4 Vol. 26, No. 4 ;login: July 2001 work thatprovides mechanisms to help: on acomponent configuration frame- HessChristopher presented theirwork ongrows. canrun they platforms hardware nents andthenumber of plicated asdependenciesamongcompo- software components isbecoming com- Managing hardware on. run thatthey arethey configured often dependsonthe andhow eachcollaborate other, with Software components increasingly ments. intoday’slarity computation environ- Component isgainingpopu- technology Champaign University ofIllinoisatUrbana- H. Campbell,andM.DennisMickunas, Electric Corp.;ChristopherK.Hess,Roy Brazil; Tomonori Yamane, Mitsubishi Fabio Kon,UniversityofSãoPaulo, A D [email protected] contact For more information, to improve theperformance further. ORB-specific optimizationscanbeused andother optimize itsperformance, isusedto locallibrary a server, trading tions whenconnecting andusingthe TORBA introduces opera- someextra Although forby itsclients. queried beofferedhow to theobjectwill and anobjectand to of specifytheproperties TDLallows applicationdevelopers nisms. mecha- type-checking thenecessary vide using theOMGTrading andpro- Service proxies TORBA thecode generates for aTDLcompiler, With thehelpof (TDL). OMPONENT UTOMATIC YNAMIC either pushorpullmodels Component-code using distribution ments heterogeneousdistributed environ- Dynamic resource management for systems applications indistributed dynamic placement of Intelligent, nent-based applications compo- Automatic configuration of which hidethecomplexity of , ;login: R C S ESOURCE NIUAINOF ONFIGURATION YSTEMS . M NGMN AND ANAGEMENT D trading ISTRIBUTED COOTS ’01 that exports andcoordinatesthat exports the which isan infrastructure Gaia system, the of ispart DOS and how to useit. knows objectis so adevice whataDOS objects, DOS of thecapability to describe are XMLdescriptions used dynamically. andcanbelinked-inCORBA service iscurrently implementedDOS as ers. ent ways to traverse thedataincontain- Iterators provide differ- adatastream. of to change theuser’s view GrepContainer, also beinstantiated with Containers can either beremote orlocal. Datacan tations from theapplication. Containers shieldtheactualfilerepresen- accessed through dataare represented and With DOS, (MVC) model. inspired by themodel-view-controller which is poses theadaptive DOS, Hess’s team pro- address theproblem, To decipher theraw data stored infiles. andCPUpower to software, memory, such asbandwidth, resources, sary lacktheneces-ing modelbecausethey many andtheircomput- mobiledevices are notsuitablefor however, anisms, mech- filesharing Thetraditional ments. computing inmodern environ-part remote dataaccess isthemostessential He firstpointed outthat (DOS). service their work ontheadaptive dataobject HessChristopher continued to describe of Madrid Ballesteros, ReyJuanCarlos,University Illinois atUrbana-Champaign;Francisco and M.DennisMickunas,Universityof Christopher K.Hess,RoyH.Campbell, VASIVE A [email protected] contact For more information, implementation. theircomponent configurator sis of Hess alsoprovided aperformance analy- N tributed componenttributed systems dis- Safe dynamic reconfiguration of A DAPTIVE C OMPUTING D ATA containers O E NVIRONMENTS . BJECT filters S RIEFOR ERVICE and .. a e.g., , iterators P ER . - applications. 10%formost actual GCtimewithin show thatHBench:JGC canpredict the Theexperiments marked application. aGCinthebench- the performance of tothen combines evaluate bothmetrics It the GCimplementationindependently. patterns and application memory-usage benchmarking suite thatcharacterizes which isavector-based HBench:JGC, Zhang presented theirwork on we are interested in. theapplication have thesamebehavior of may not however, These applications, applicationsusingdifferent GCs. set of afixed pare thetotal execution timesof usuallymeasurebecause they andcom- targeted applicationsaccurately ior of approaches may notmeasure thebehav- Traditional GCbenchmarking mance. cantly affectoverall applicationperfor- GCimplementationcansignifi- the right mance characteristics inorder to select Understanding GCperfor- applications. problematic forperformance sensitive canbecome collectiongarbage (GC), managementand dynamic memory such as Virtual aspects, Machine (JVM) that asJava several Java popularity gains Xiaolan Zhangpointed out In thispaper, Harvard University Xiaolan ZhangandMargo Seltzer, B HB S [email protected] contact For more information, devices. ronments forubiquitous computing computationaland definesgeneric envi- resources contained inaphysical space distributed garbage collection for garbage (DGC) distributed Alfonso Sánchez presented theirwork on Ferreira, INESC/IST, Portugal Alfonso Sánchez,LuisVeiga, andPaulo W D G ENCHMARK ARBAGE ESSION ISTRIBUTED IDE ENCH A REA JC A – :JGC C : I OLLECTOR R NFRASTRUCTURE EPLICATED S G IEFOR UITE ARBAGE N . P A ERFORMANCE M PPLICATION E EMORY C VALUATING LETO FOR OLLECTION -S PECIFIC JVM 5 CONFERENCE REPORTS wide area replicated memory (WARM). latency compared to functionally equiva- For more information, contact He first identified the deficiencies of two lent handcrafted code. [email protected]. traditional DGC schemes. DGC that uses For more information, contact the message-passing model fails to con- GUEST LECTURE [email protected]. sider the existence of replicated objects. EXTREME PROGRAMMING: A LIGHTWEIGHT Conversely, DGC that uses the shared- USING ACCESSORY FUNCTIONS TO GENERALIZE PROCESS memory model does not scale well, since DYNAMIC DISPATCH IN SINGLE-DISPATCH Robert Martin, Object Mentor, Inc. it depends on sending causal information OBJECT-ORIENTED LANGUAGES Robert Martin gave a speech on a popu- using the underlying communication David Wonnacott, Haverford College lar topic – extreme programming (XP) – channels. David Wonnacott presented another and on applying XP in software projects. The authors propose a DGC algorithm paper discussing the applicability of Ken Arnold defines XP as “a lightweight that adapts the classical reference count- dynamic dispatching using C++ as the methodology for small- to medium-sized ing and improves it to take into consider- programming language. He explained teams developing software in the face of ation replications. that the single-dispatching strategy used vague or rapidly changing requirements.’’ by most OO languages unnecessarily XP promotes writing test before code, For more information, contact restricts the extensibility of programs. pair programming, collective code own- [email protected]. Specifically, the dynamic-dispatch mech- ership, frequent integration of code base, anism (virtual functions) that C++ sup- clean and simple coding style, and fre- MULTI-DISPATCH IN THE JAVA VIRTUAL ports inhibits code reuse through quent communication with customers. MACHINE: DESIGN AND IMPLEMENTATION inheritance. The Accessory Functions Adapting XP practice into your environ- Christopher Dutchyn, Paul Lu, Duane Szafron, and Steve Bromling, University proposed in the paper allow dynamic- ment improves adaptability, predictabil- of Alberta, Canada; Wade Holst, Uni- dispatching a message to a group of func- ity, number of options, and humanity in versity of Western Ontario, Canada tions with similar signature but one the development process. virtual argument. This virtual argument Christopher Dutchyn presented this Martin explained that the basic princi- is used to determine which function in paper on extending the JVM to support ples of XP are: multi-dispatch. Mainstream OO lan- the group to dynamically dispatch the guages like C++ and Java only support invocation to, whereas current OO lan- Rapid feedback – This facilitates a uni-dispatch, such as function overload- guages use the receiver of the message to fast learning environment. You ing and virtual functions. Under these determine how the message should be should get immediate feedback for programming environments, program- dispatched. schedule, quality, process, and morale. mers often must implement double-dis- Accessory Functions work with a group Assume simplicity – Solve the prob- patch—which inspects the type or of classes without requiring the imple- lem at hand. Treat every problem as arguments of the event object—to decide mentation details of those classes or vio- if it can be solved with ridiculous how an event should be dispatched to the lating their encapsulation. The cost of simplicity. proper event handler. Supporting multi- dispatching to accessory functions Incremental change – Big changes dispatch greatly simplifies the structure should be no more expensive than exist- make things break all at once. Thus, of OO application programs. ing language constructs for dynamic-dis- problems should be solved via a patch. Like C++, the system must be able Dutchyn’s work extends the JVM support series of small changes. to produce errors related to dispatching for multi-dispatch without changing the Embracing change – The best strategy prior to program execution. The dis- language definition. His approach also for dealing with changes is the one patcher extension should dispatch the (1) maintains backward compatibility to that preserves the most options message based on the dynamic-dispatch and and (2) isolates while solving the most pressing semantics existing in the language. the semantic changes and performance problem. See volatility of require- penalty incurred by the extension within The alternative dynamic-dispatch mech- ments as an opportunity, not as a the places where it is used. Several other anism decouples the dispatch method problem. multi-dispatch designs are compared and from the class membership. This decou- Quality work: – Everybody likes contrasted with their design. Empirical pling lets achieve reuse doing a good job. The only accept- results show that supporting multi-dis- both by inheritance and reuse in a func- able quality levels are excellent and patch through JVM extension has lower tion. insanely excellent.

6 Vol. 26, No. 4 ;login: July 2001 the projects optimally successful. could have been donedifferently to make hecould that seethings but inretrospect, set, cessfully mettheirgoalsas originally QuickSilver suc- All rather Technology. andQcompiler of front-end software, Amazon’s Rational, Rose+ of OTI, Age of projects These included Visual involved. four projects inwhich hehadbeen Freeman-Benson went onto review Dr. to introduction orienteering, After abrief have fourbasicvariables: andorienteering software engineering Both time. destination intheshortest to reach one tries the onthemap, shown points routes of to through aseries run usingmapandcompass to select which, navigation in of isasport Orienteering andorienteering. software engineering made aninteresting between analogy He successful largesoftware systems. fromlearned hisinvolvement inseveral lessonshehad software engineering Freeman-Benson Bjorn talked about Dr. Technology Bjorn Freeman-Benson, QuickSilver A R INVITED TALK http://www.objectmentor.com see For more information, teams canadaptXPpractice. tomers to how demonstrate software andcus- software developers, managers, examples through theperspectives of presented Martin somevivid Finally, UNNING BOUT their goals. theprogress inreaching of quality Quality progress. that may adversely affectthe over-complicatedtools with features Features tools. engineering mapvs of quality e.g., tent minimalcost, tools with Cost time. amountof in theshortest Time S – bothwantto deploy compe- OFTWARE – bothwantto reach thegoal ;login: T RUHTHE HROUGH – bothcare much aboutthe – bothshouldavoid using E NGINEERING . ult fsoftware of quality W OODS . — A S TORY T COOTS ’01 cations andprovide someguidelineson thesemechanisms into applying appli- of and compare thescope andimplications alsocontrast They implementing them. invocation pathandthechallenges of applied atdifferent levels intheORB mechanismsprogramming canbe theauthorsshow how themeta- paper, In this theapplication. of tainability intrusive way losingthemain- without asystem inanon- different aspectsof developers can modify and/or behavior, objects implementingdifferent strategies By usingmeta- replaceable meta-objects. behaviors into outcertain abstracting improve by applicationadaptability Meta-programming mechanisms thesemechanisms. between several of presentedmeswaran acomparison Para- Kirthika systems andapplications. DOC and improve of theadaptability opers from otheraccidental complexities shieldthedevel- CORBA thatcanfurther mechanismsprogramming available in There are many meta- programming. ers from many complex issuesinnetwork recent years shielddevelop- becausethey have in much gained popularity CORBA, such as middleware frameworks, Computing (DOC) Object Distributed Othman, UniversityofCalifornia,Irvine Louis; DouglasSchmidtandOssama meswaran, Washington University, St. Nanbor Wang andKirthikaPara- R D S justbuildingitquickly. instead of to buildsomethingright important ithasbecome even more changed, As thebusinessclimate has building it. you’re sloppy about andif get there, you don’t have aplanforhow to if goal, you don’t know theend thingif right you can’t buildthe software engineering, in orienteering, aswith pointed outthat, Freeman-Benson Dr. In conclusion, P ROGRAMMING HE EQUEST ESSION ISTRIBUTION D SG AND ESIGN B : R ROKER FETO IN EFLECTION M M P CAIM FOR ECHANISMS IDDLEWARE ROMNEOF ERFORMANCE O M BJECT ETA - cution ception following topics:following Work onKava revealed onthe insights ently. code transpar- intheoriginal operation tothese operations modifythetargeted Developers canuse bytecode. rewritten invoked automatically through the are inmeta-objects These operations into theassociated andobject. operations that provides like operations ameta-object associates each with object reflection addedby thecode rewriting Thebehavioral at code loading time. theJava byprograms rewriting bytecode reflectionioral to modifytheexisting sented anotherapproach to usebehav- Ian Welch In pre- thispaper, new needs. nal implementationsto adaptthemto toit isoften modifytheorigi- necessary When reusing code from outsidesources, Kingdom sity ofNewcastleuponTyne, United Ian Welch andRobertJ.Stroud, Univer- B K [email protected] contact For more information, ming mechanisms. how to theproper select meta-program- http://www.cs.ncl.ac.uk/research/dependability/reflection/ see For more information, a eI o e vok terIn f EHAVIORAL AVA lazy reification. protocolmeta-object andto allow by to themeta-object simplifythe Acontext isused object meta-object. be intercepted by theassociated handling Exception meta-object. theparent class’ with notworkfined inderived classeswill methods Inherited the base-object. boundtoto themeta-object bypass Strong encapsulation – U , a fterEx that developers canuseto reflect SING , R beforeEx FETO TO EFLECTION B ecution YTECODE ception – Operations rede-– Operations , – Exceptions can . e rI o e vok oreIn bef R – It isdifficult WIIGTO EWRITING J AVA and , beforeExe- a trx- fterEx , A DD . 7 CONFERENCE REPORTS CONTENT-BASED PUBLISH/SUBSCRIBE WITH Common Type System (CTS) –The permanent data storage through a con- STRUCTURAL REFLECTION single-type system CLR supports. tainer interface or query an existing Patrick Th. Eugster and Rachid Guer- CTS is designed to support multiple object with the allocator interface. Persis- raoui, Swiss Federal Institute of Technol- languages that .NET implements. tent containers are useful for managing ogy, Switzerland Metadata – Used to used to describe and accessing databases. It is necessary to Patrick Th. Eugster presented their work and reference the types defined by couple the container interface more on content-based publish/subscribe CTS. The format of metadata is lan- tightly with the allocator interface to sup- implementation. The classic topic-based guage independent. Using metadata port persistent containers. event service groups messages into topics allows applications written in differ- Gschwind described a design that added that are relatively static. Several other ent languages, programming tools, , deserialization, referencing, publish/subscribe services allow group- e.g., compilers and debuggers, and and locking capabilities into his Persis- ing the messages based on the contents virtual runtime to inter-operate. All tent STL (PSTL) containers. He also they carry. The content-based objects are strongly typed through examined the PSTL compatibility with publish/subscribe service described in the metadata. the existing STL containers and com- this paper utilizes Java’s reflection mech- The Common Language Specification pared the performance of PSTL contain- anism to acquire the type information of (CLS) – An agreement between lan- ers with Berkeley DB and gmdb.He a message. Condition objects are used as guage designers and framework found that with PSTL, it is possible to filters to define the subscription patterns. designers. As CTS is too broad for replace regular STL with PSTL with min- most languages to implement, CLS The paper also discusses several perfor- imal modification. defines a subset of CTS to guarantee mance optimizations, such as avoiding language integration. Exception han- For more information, contact redundant invocations and enforcing dling is part of the CLS. [email protected]. static filters. Benchmark results show sev-

eral metrics, e.g., the number of methods Microsoft Intermediate Language (MSIL) MAKING JAVA APPLICATIONS MOBILE OR supported by messages, which affect the specification defines a type-neutral lan- PERSISTENT performance of this approach. These guage that other supporting languages Sara Bouchenak, SIRAC Laboratory, overheads are incurred by the use of Java can be translated into, similar to Java France reflection. They are working on a new bytecode. A unit of object deployment is Sara Bouchenak pointed out that while optimization that will generate code for called an assembly and contains self- Java provides code and object mobility static filters based on the execution describing metadata that record the and persistence, Java does not provide results from dynamic filters. modules and files it contains and the any support for mobility and persistence dependencies of containing modules For more information, contact for control flows and execution states. with external modules. The execution [email protected]. Her work in thread migration provides a model uses a “Class Loader’’ to link in an framework to stop the execution states of assembly. GUEST LECTURE a thread so the thread can be migrated to another machine, or checkpointed on LANGUAGE INTEGRATION IN THE COMMON For more information, see LANGUAGE RUNTIME http://www.microsoft.com/net/. disk for later recovery. Jennifer Hamilton, Microsoft Corp. She described the challenges in designing SESSION: PROGRAMMING .NET is Microsoft’s next-generation a thread-state capture/restoration service development platform that provides easy TECHNIQUES and its implementation. The perfor- integration within and across languages PSTL – A C++ PERSISTENT STANDARD TEM- mance of the service was also docu- and platforms. The Common Language PLATE LIBRARY mented and showed it to be rather Runtime (CLR) is the fundamental Thomas Gschwind, Technische competitive. The paper also discusses building block of the .NET framework. Universität Wien, Austria several application examples on thread Jennifer Hamilton gave an overview on Thomas Gschwind showed that it is migration. the design of CLR and how CLR helps impossible to use a Standard Template For more information, contact support inter-language object sharing. Library (STL) container to access persist- [email protected]. The major features in CLR include: ent data simply by implementing an allo- cator class because of certain inherent constraints, such as the inability to name

8 Vol. 26, No. 4 ;login: July 2001 class mannerforJavaBean components. component compositionports inafirst- which sup- Markup Language(BML), Francisco presented Curbera theBean forcomponent development. support do notprovide enough therefore, and, treat components asfirst-classcitizens do not however, languages, programming Most componentapplying technology. of part together dynamically isavital Being ableto compose components Watson Research Center Epstein, andJosephKesselman,IBMT.J. Curbera, MatthewJ.Duftler, DavidA. Sanjiva Weerawarana, Francisco L B NUG FOR ANGUAGE EAN M ARKUP ;login: J L AVA ANGUAGE B EANS : A C A : C OMPONENTS OMPOSITION COOTS ’01 [email protected] contact For more information, components. of compositionavailable visual to support GUIfront A endisalso description. aggregates basedonagiven BML toframework compose component have They implemented a together. event adapters components to bridge forscripting tation includessupport Curbera’s BMLimplemen- compositions. recursive of types certain constructing andallow macro expansion for nents, compo- aggregates construct of binding, inter-componentguage usedto describe BML isanXML-based descriptive lan- . [email protected] contact For more information, Visitor. andGeneric Decorator, Generic Method, Template Generic Abstract Factory, Generic Iterator, Generic Bridge, Generic presents patterns: paper thefollowing This classes. parameterized by theuseof efficiencyisachieved higher gramming, pro- In generic programming. generic Four patterns in someGandof applying presented Géraud theirwork on Thierry IN MING D Development Laboratory, France and AkimDemaille,EPITA Research and Alexandre Duret-Lutz, ThierryGéraud, ESIGN P C++ TEN FOR ATTERNS G ENERIC . P ROGRAM - 9 CONFERENCE REPORTS