OOPSLA ’99 Trip Report

OOPSLA '99, "Object-Oriented Programming, Systems, Languages, and Applications", Nov. 1-5, 1999, Denver, CO.
This was an excellent conference with good tutorials and interesting exhibits.

Summary

  • The tutorials were good; I took "Responsibility-Driven Design", "Usage-Centered Design with Essential Use Cases", "Subject-Oriented Programming…", and "Building and Reusing Highly Re-Useable and Configurable Frameworks".
  • The conference had a number of interesting talks, including a particularly good keynote, "Analyzing Object-Oriented Software Architectures", by Rick Kazman.
  • There was a vendor exhibit as well.

Tutorials

"Responsibility-Driven Design" by Wirfs-Brock & McKean. In their approach, you classify objects by their roles, such as "info-holder" or "controller". Then you balance behavior between objects in way that objects are approximately of equal intelligence, and collaborations are simplified.

"Usage-Centered Design with Essential Use Cases" by Noble and Constantine. Their approach focuses on simplifying and generalizing use case descriptions. They recognize new relationships between use cases (e.g., "resembles"). They focus on showing accurate relationships between use cases (such as showing where things can proceed in parallel or what absolutely must precede what). They also have a method to help in moving from use cases to user interfaces.

"Subject-Oriented Programming…" by Ossher and Tarr. Subject-oriented programming extends the OO approach with "subjects" that describe independent parts of a program. For example, a calculator might have checking, display, and evaluation features, as well as logging and caching. A subject-oriented program for this would have separate pieces that focus on the individual areas, and use composition rules to produce the final (merged) program. Their approach attempts to make changes "additive" instead of affecting existing code.

"Building and Reusing Highly Re-useable and Configurable Frameworks" by Devos and Tilman. This tutorial was a disappointment. They used a reflective approach to build a framework. The framework was a technical success but it required a lot of tuning to be used with a relatively small databases of ~150K items. Some parts of this talk were more useful, looking at frameworks from the view of domain analysis, amortizing development, and generating support.

Conference

My favorite two talks: "Fun with Squeak and Other Smalltalks" by Dan Ingalls. Squeak is a fairly new version of Smalltalk, with impressive support for multimedia).

"Analyzing Object-Oriented Software Architectures", by Rick Kazman. Kazman's group at CMU's Software Engineering Institute is building a conceptual framework where you can take non-functional requirements ("ilities" such as scalability, performance, etc.) and map them back against candidate architectures. See http://www.sei.cmu.edu/ata/ata_init2.html for more information.

I went to panels on "Is UML an ADL?" ("not really"), "Product Development at Net Speed" ("nobody knows what it takes to do it in the corporate environment"), and "The Show Trial of the Gang of Four" ("fairly funny"). I went to a standup talk on XP (and I hope to follow up on this area); the poster sessions; miscellaneous paper reports; an e-commerce talk; and a keynote by James Burke ("entertaining but not convincing").

I saw three themes in the conference:

  • Patterns are through the "hype cycle": the GOF design patterns are no longer blindly touted as useful everywhere, but instead are seen as part of the designer's toolbox, to be understood and used where appropriate.
  • "Architecture" is a new focus. There is a realization that there's still no consensus on exactly what "architecture" means.
  • RUP ("Rational Unified Process") has problems; people are exploring OPEN and XP.

Exhibit

Exhibitors included Addison-Wesley, Advanced Software Techngologies, Instantiations, Princeton Softech, QSS, Sterling Software, Silvermark, Unity Software, and many others.