Thursday, November 1, 2007

ooPSLA 2007 - part 1

ooPSLA 2007 in Montreal, Canada - Oct. 21 to Oct. 25, 2007

The 20+ year old conference on object-oriented programming languages systems and applications (OOPLSA) is easily one of the top computer science conference in the field. This is where key revolutionary, evolutionary, and influential ideas and technologies such as Java, Agile, Aspects, Patterns, UML, Eclipse, and DSL (just to name a few) were mostly first discussed in an academic and open industrial setting. The inventors of these ideas and technologies make ooPSLA a GOTO date on their calendars and typically give tutorial and take part in panels with colleagues on the subject.

Photo of Dick Gabriel and David Parnas during Parnas's keynote

That long history and the impact of the technologies and ideas that the conference has spawned make it a star conference to attend for anyone in the field. The fact that acceptance rate is usually extremely low (10% or so) also gives more value to any paper that is accepted there. However, unlike what the name suggests, ooPSLA is more than a conference on object-oriented technologies, hence why Dick Gabriel (IBM Research distinguished engineer and ooPSLA 2007 conference general chair) and other organizers have started to refer to the OO part in lower case, thereby correctly minimizing the importance of OO in the conference as a whole.

ooPSLA and me
In late 1997, during my first year of graduate school, I took Ed Gehringer's class on OO programming at NC State University, and Ed, as a long time OOPLSA participant, introduced us all to OOPLSA and the various technologies being discussed there at the time: Java, Smalltalk, Eiffel, Patterns, UML, and so on. I attended my first OOPSLA in 1999 (Denver, CO) and have attended them sporadically ever since (including 1999 in Dever, 2000 in Minneapolis, 2001 in Tampa Bay, 2002 in Seattle, and 2005 in San Diego). This year, after one year absence, I am back to ooPSLA and this year I also have a short paper and poster on my current research.

In a nutshell I created a domain-specific language (DSL) in the Ruby language for Web APIs mashups. Taking advantage of the Rails framework, the DSL allows a high-level representation of the various parts of what it takes to create a mashup. Using some Ruby metaprogramming magic, the DSL constructs are converted to a full RoR Web applications with necessary plumbing to connect to the Web APIs (i.e., REST, RSS, Atom, and APP) and to present views for user interactions as well as the back-end logic for service interactions. Ajith Ranabahu and I built the first implementation of the platform by the code name Swashup (Situational Web Applications Mashups). At ICSOC 2007, Hernan Wilkinson, Stefan Tai, Nirmit Desai, and I published a paper focusing on the DSL itself.

In a subsequent post, I'll outline some notes and highlights I have captured during this year's conference.

No comments: