Sunday, December 23, 2007

Optimizing Distributed Objects

Influencing another researcher or company is about the best that can happen to a piece of academic research. The proposal in my paper on Safe Query Objects was implemented and shipped by db4objects as a key feature of their product, within 6 months of publishing my paper.
They are an amazing company, and they even gave me a little research grant to do more work. Thanks!

More recently, my paper on Web Services versus Distributed Objects:
A Case Study of Performance and Interface Design
involved some manual transformations that were hard to do. Eli Tilevich picked up the idea and implemented it as an extension of RMI. We started working together and the design evolved into a full paradigm for optimizing remote object systems. We wrote it up as a nice paper, called Explicit Batching for Distributed Objects. The idea is that client proxies don't perform remote communication; instead they just create a batch of operations. All the method results are futures, because the calls haven't been made yet. But it looks pretty much like an ordinary object-oriented program. When the client calls flush, the operations are performed and the futures filled in with results. We evolved the design by two more iterations, to handle batched operations on remote collections, exceptions, and chained batches, or a series of batches that share common state. Each client can optimize their own server access, without any custom server objects (as required by the Data Transfer Object pattern). Amazing!

The result is so obviously better than RMI, in terms of managing latency and optimizing communication, that it is hard to imagine why nobody has tried this before. I keep thinking somebody probably did (and there is some related work that is similar, but not complete). As far as we can tell its new.

It might actually make RMI be able to compete with Web Services :-)

Friday, December 01, 2006

Dynamic Languages Symposium

The second Dynamic Languages Symposium at OOPSLA 2006 was a great success. There were 193 registered participants. To put this into context, it's a little more than 15% of the overall OOPSLA audience, and is significantly larger than most other events that are part of OOPSLA.

DLS 2006 had three invited talks:

  • Ian Piumarta: Openness and simplicity in dynamic systems implementation
  • Audrey Tang: Perl 6
  • Avi Bryant: Data Refactoring for Amateurs

You can download the presentations and try to guess if Audrey really delivered 433 slides in an hour!

Six research papers were presented:

  • PyPy's Approach to Virtual Machine Construction
    Armin Rigo and Samuele Pedroni
  • Runtime Synthesis of High-Performance Code from Scripting Languages
    Christopher Mueller and Andrew Lumsdaine
  • Interlanguage Migration: From Scripts to Programs
    Sam Tobin-Hochstadt and Matthias Felleisen
  • Hop, a Language for Programming the Web 2.0
    Manuel Serrano, Erick Gallesio, and Florian Loitsch
  • Ambient References: Addressing Objects in Mobile Networks
    Tom Van Cutsem, Jessie Dedecker, Stijn Mostinckx, Elisa Gonzalez Boix, Theo D'Hondt, and Wolfgang De Meuter
  • Hardware Transactional Memory Support for Lightweight Dynamic Language Evolution
    Nicholas Riley and Craig Zilles

The full papers are published in the OOPSLA companion and available in the ACM digital library.

DLS facilitated lively discussion between the talks, during the question and answer sessions.
Of the feedback we received (which unfortunately was not a large sample), 75% rated the day "excellent" and 25% rated it "ok". Nobody gave it a negative rating. This makes DLS one of the most highly rated events at OOPSLA this year. Thanks to everyone for participating.

Preparations are under way for DLS 2007, to be held in Montreal, Quebec, Canada, October 22, 2007. The co-chairs are Pascal Costanza and Robert Hirschfeld. We look forward to seeing you again at OOPSLA/DLS next year.

Tuesday, October 31, 2006

Objects and Databases Panel PodCast

The panel on Objects and Databases: State of the Union in 2006 went pretty well. There was a lot of talk about who owns the data. The O/R crowd made a credible case continued interoperability with RDBMS, while the OODB people continued to paint a picture of a pure object-oriented future. But these are just two impressions from the panel. You can hear the whole thing, thinks to Stefan Edlic, at http://odbmsjournal.org/

OOPSLA

Well, OOPSLA was amazing this year! But I'm biased, since I was program chair. I had fun meeting everybody who came from around the world to share the OOPSLA experience. This year had some consolidation and regrouping, but also gave some glimpses of what's to come.

Guy Steele gave a great talk on Fortress, a high-productivity language for the Fortran crowd. It was also a great sequel to his 1998 talk on Growing a Language. And I had fun introducing him.

I also had fun dressing up as Luke Skywalker (complete with OOPSLA badge... hey, i should scan that in) and going to OMSI. I taked with Sam Kamin about my ideas for model-driven programming, but I'm not sure I made a lot of sense. Peri Tarr dressed as Darth Vader. We developed a little skit, but didn't use it. And we decided not to do battle... although now I think we should have. One line from the skit: Luke hears Obi wan saying "Luke, Use the Fortess"!

Thursday, September 28, 2006

Web Services versus Distributed Objects

My paper with Janel Barfield on Web Services versus Distributed Objects: A Case Study of Performance and Interface Design was selected as the Best Paper at IEEE International Conference on Web Services ( ICWS) 2006. This paper has caused a little controversy... the basic idea of the first part is well-known, but I don't know of any formal benchmark comparisons that demonstrate the idea in a simple way. The wrappers are variaton on the standard "value object" pattern, but the "value" being sent is a transcript of some actions, not a data value as is uaually the case for value objects. The slides from talk were designed as an advertisement for the paper, and they at least woke up the audience at ICWS.

Tuesday, September 05, 2006

OOPSLA in Portland

OOPSLA 2006 will be held October 22-26 in historic Portland, Oregon (USA).

You can learn all about OOPSLA at www.oopsla.org, and/or download the Advance Program PDF at http://www.oopsla.org/2006//program/oopsla_06_advance_program.pdf .

OOPSLA is the premier gathering of professionals from industry and academia, all sharing their experiences with today’s object technologies and its offshoots. OOPSLA appeals to practitioners, researchers, students, educators, and managers, all of whom discover a wealth of information and the chance to meet others with similar interests and varied experiences and knowledge.
You can mold your own OOPSLA experience, attending your choices of technical papers, practitioner reports, expert panels, demonstrations, essays, lightning talks, formal and informal educator symposia, workshops, and diverse tutorials and certificate courses from world-class experts. The popular Onward! track presents out-of-the-box thinking at the frontiers of computing. Posters discuss late-breaking results, culminating in the ACM Student Research Competition. Try your hand at solving the DesignFest® design challenge. And of course there are plenty of social opportunities for mingling and professional networking.

Go to the web (www.oopsla.org) today to reserve your place at OOPSLA ’06. See you in Portland!

Monday, August 14, 2006

Second Life

I told my brother that Second Life is going to replace the current web in 10 to 15 years. There are many potential problems on the way, but it is certainly possible. It is pretty clear that a single company like Linden Labs, cannot pull something like that off by itself. The exponential growth of the web -- remember it’s just been 15 years! -- requires a more open model. However, there are some benefits to control; having a more closed model allows Linden to support a market for virtual intellectual property within Second Life. I can sell you something, while placing restrictions on your use of it, and relying on Linden's infrastructure to enforce the contract. If I give you the virtual property as a download from my website, I lose control. Just as in the real world, basic property rights encourage creative production. Of course, you can debate whether copyright has gotten out of control, but I'm not talking about copyright here. I'm talking about control over virtual objects that works like control over physical objects in the real world: they basically overrule the principle that digital works can be copied freely. That is, they make the virtual act like the physical -- which makes sense in a 100% virtual model of the world. So check it out...

Monday, July 10, 2006

ECOOP

I just returned from ECOOP. It was great to reconnect with so many researchers from around the world. I saw Walter Olthoff for the first time in 10 years. I was invited to present at the special session on Summing up the Past and Trying to Outline the Future in honor of the 20th ECOOP. I used a Lessig style presentation. This is the first time I've ever gone so far as self-timing, with each slide between 5 and 20 seconds. My talk was called Peak Objects, but I'm not sure how many people got the reference. Here are the slides (minus transitions and black slides).