OOPSLA Day 0

Day 0 is almost done. Like yesterday, it’s been quiet, but the foot traffic by the booth is improving. I missed the afternoon of the DSL Tutorial tracking down a shipment of JOURNALs that we are handing out at the conference. Martin Fowler stopped by to say hi and we chatted a while about the Architecture Advisory Board. He missed the meeting a couple weeks ago because of a communication screwup (i.e. I didn’t call him) but he’s looking forward to working with us going forward. Some one ribbed him for sitting in the Microsoft booth, so he pulled out his PowerBook (or maybe it was an iBook). I told him that since he like UNIX so much, we should install Services for UNIX on his Windows laptop. 😄

This is a very different crowd from TechEd – not better or worse, just different. Very heavy academic presence. I got a very interesting code visualization demo from an MIT grad student. Flipping thru the conference program, the vast majority of the speakers are from universities. The majority of the remaining speakers are from IBM and to a lesser extent Sun. There’s a small Microsoft presence among the speakers – primarily related to Software Factories. It’s interesting, however, that three of the six of the invited speakers this year are from Microsoft.

By Request: My Response To Booch’s Doubts

Mac asked me to respond to Booch’s doubts about DSLs in his blog. This is at least the second time Booch expressed his skepticism about DSLs, having also done so back in May. The upshot of Booch’s argument is that the semantics across all stakeholder viewpoints must be common.

“There is no doubt that different domains and different stakeholders are best served by visualizations that best speak their language…but there is tremendous value in having a common underlying semantic model for all such stakeholders. Additionally, the UML standard permits different visualizations, so if one follows the path of pure DSLs, you essentially end up having to recreate the UML itself again, which seems a bit silly given the tens of thousand of person-hours already invested in creating the UML as an open, public standard.” (Grady Booch, Expansion of the UML, May 21st 2004)

“[W]hile I agree that development is a team sport and that multiple stakeholders must collaborate in weaving together their diverse, interdependent views, one still needs to have a common semantic basis for all those languages. If you accept that not unreasonable position, you will end up covering the identical semantic ground as has the UML – albeit in an open manner, quite unlike Microsoft’s historical record.” (Grady Booch, Domain-specific Languages, Oct 25th, 2004)

Stuart responded to this argument back in May:

“[Booch] seems to imply that a domain specific-language is just about having a different graphical notation – that the semantics that underpin different DSLs is in fact the same – only the notation changes…[W]hat if the semantic model excludes the concepts that the stakeholders actually want to express?…Surprise, surprise, there are differences from one domain to another, from one organization to another. Far from there being a common semantics, there are significant and actual differences between the interpretations of models being taken.” (Stuart Kent, Domain Specific Modelling. Is UML really the best tool for the job?, May 26th, 2004)

In other words, Booch’s argument against DSL’s falls apart if we don’t have common semantics across all phases of the system’s lifecycle. And frankly, we don’t. Furthermore, Booch offers no explanation as to why you need a common semantic model across all the stakeholders, instead choosing to call it a “not unreasonable position”. Sorry, but I’m not ready to accept the need for a common semantic model as an axiom. I will accept that you need traceability between viewpoints, but I think that is more readily achievable by precise transformations between viewpoints than by a common semantic model of all stakeholder viewpoints.

Common semantic model starts to sound too much like “monolith” as far as I’m concerned. UML 2 addresses a subset of the stakeholder’s viewpoints and many people consider it unusable. After last year’s OOPSLA, Fowler commented “Even on the MDA panel at OOPSLA, the pro-MDA speakers based their assumptions on the fact that they would be using a simplified subset of UML”. If we can’t get a single usable semantic model across UML 2, how are we going to have a single usable semantic model across all the stakeholder viewpoints? Booch paints a pretty rosy picture of UML , but I think the reality of UML is much less attractive, certainly according to the customers I’ve spoken to.

OOPSLA DSL Tutorial

I’m sitting in the back of the room listening to Jack present the Factories overview for the DSL Tutorial. I’ve seen most of the content for this session before, but not brought together like this. Currently, he’s talking about mapping business capabilities to system requirements. I’ve started to see quite a bit of discussion of mapping business capabilities recently. Gurpreet talked about it in his EA session n Malaysia. Jack Calhoun also talked about it at SAF. Memo to self – more transparency around business capability mapping.

BTW, check out Michael Lehman’s blog. Michael has been building (it’s not really done) the factories demo for the tutorial. He’s got some great points about DSL’s, abstraction and product lines. As I type this, he’s demoing expanding an e-commerce factory template inside of VS.NET. Cool stuff. I expect him to be blogging a lot more about building factories after this week.

OOPSLA Day -1

When I blogged TechEd, I started on Day Zero, the day before TechEd officially opened. At TechEd, that day is used for preconfernce sessions as well as other meetings. At OOPSLA, there are two days of preconfernces – I arrived today but the conference doesn’t officially open until Tuesday with Rick Rashid’s keynote. I guess that makes today “-1″. So far, it’s very quiet around here. I’ve got booth duty until 5pm, but I doubt I’ll spend much time with attendees. There’s only about 15 attendees in the exhibit hall right now. All the booth staff are chit-chatting with each other or are working on their computers. I’m sitting with Ajay, a product manager from VSTS emailing, chatting and deailing with some last minute shipping issues. (My group has just had really bad luck sending stuff recently). Of course, I’m guessing most people are in their precon sessions. I stuck my head in Jack’s session on Generative Software Development and it was full. Tomorrow is the DSL Tutorial that Keith blogged about. By then, I’m thinking things will be in full swing.

Two Down, One To Go

It’s been quiet around here as the last three weeks of October are insane for me this year. Two weeks ago was Strategic Architect Forum as well as the second face-to-face meeting of the Microsoft Architecture Advisory Board this year (the first was reported in the February Architecture Center Update newsletter). I’ll have much more to say on the MAAB later, but having SAF and MAAB the same week is tough – I worked seven days in a row including four 12+ hour days.

This past week, I was in leadership training with a bunch of teammates and p&p folks. Spent quite a bit of time “in the circle“ with EdWard and Jim from p&p plus David, Chris and Javed from my team (note to self – lean on Javed to get a blog). The sessions were intense and I learned quite a bit. I agree with Norman (who was also in the training but not in my group) that we’re very fortunate to work for a company willing to invest so much in it’s employees. However, it was two more 12+ hour days and a total of six over nine days. That’s now I’ve started re-reading Software for Your Head, which seems to share many of the same learnings from the leadership training course. Maybe we can start using SFYH in practice in my team – last time I read it I was part of a distributed team working more as a collections of lone wolves.

Next week, of course, is OOPSLA in Vancouver. I’m driving up Sunday morning and working the booth in the afternoon. I’ll be there all week and in the MSFT booth off and on during the conference, so stop by and say hi. I hear you can get flu shots in Canada, so I’m worried traffic going across the border will stink. It’ll be a long week, but at least I get next Friday off.