This morning, the first of two keynotes by the dynamic duo Blondie and Tuco, a.k.a. Markus Völter and Steven Kelly (you figure out who is who – in the movie Blondie is the good, Tuco the ugly). They took us on a lightning right through the essence of model driven development: the process, the people, the organization and the technology. The best practises, or best intentions were interleave with the things you should be aware of – on slides marked with a red border. Nice touch was the featuring of a certain guru as ‘The Bad’ on the first of these. A nice talk, let’s see what tomorrow brings in part 2.
After that, I joined two talks about Microsoft outlooks – one on Oslo, which is still pre-alpha (by Felienne Hermans and Gerben van Loon), one on VS2010, DSL Tools and T4 by Jean-Marie Prieur. Both talks summarized things to come, and clearly showed that Mickeysoft has a different view on what model driven development means than some others amongst us do. The Oslo philosphy calls anything related to code generation ‘model assisted’, while ‘model driven’ seems to mean interpreted. That idea slightly shows through in the new DSL Tools and T4 ideas presented as well – but let’s see what the final version of Oslo brings. As said, it’s considered pre-alpha, and knowing Microsoft that means it can be released anytime between 6 and 60 months from now.
Halfway through the Oslo presentation I switchted to the mod4j session by Jos Warmer and Johan Vogelzang (who put those two sessions in parallel just to bug me?). A bad choice, on my part, because the session was hard to get into after missing the first half. I’ll have to catch up on that later.
Then it was time to, as someone remarked, meet the enemy. This time in the person of Chris Raistrick, who had exactaly one hour to present what his experiences with xUML are. And surprisingly, he told a different story on UML than what we’re used to – one that comes very close to DSL approaches, and omits model-to-model transformations almost completely. Almost – and in the case where they are used, the target models are only intermediate material that is not modified manually.
One point made by Chris that I have to agree to whole heartedly, and which model driven development may help solving: software is not engineered, unlike other products. Or, as he put it when talking about models as a visualisation tool: “how can you reverse engineer something that wasn’t engineered in the first place”? He should talk to his countrymen Robert How and Guy Broadfoot sometime, the founders of Dutch company Verum. Come to think of it, those two could be a nice addition for Code Generation 2010, with their mathematically correct modeling approach.
Closing session, as far as the planned speakers are concerned, was a presentation about MPS, by Markus Voelter and MPS developer Konstantin Solomatov. We have text driven and graph driven modeling, but what they presented here was a fully operation environment for programming language extension, that can almost be extended to ‘language replacement’. The demo’s weren’t flashy at all – they simply worked (which is about as flashy as I think a demo should get). A great presentation of an interesting alternative to what ever other solutions were presented so far, and I kept wondering until the end if there was going to be a question that Konstanin had no answer to. I’m definitely going to check out the JetBrains web site and have a go with the beta release.
To top off the day, or at least the day part before the conference diner, I checked out four Lightning Talks. Didn’t record all the last names, but the presentations will end up on the conference site for those interested.
Karsten told us about his integration of test driven development and model driven development, by integrating openArchitetureWare with Fitnesse. I have to admit I had thought of something similar a while ago, but never got around to implementing it. Great job!
Vitalli told us about MBase, a Lisp based language definition environment for .NET, so more in the textual DSL domain. I’m going to need a better look at that one, but the extensibility options of Lisp can be a good addition to the toolset for sure.
Christophe and Koen, from Belgium, then told us about their efforts to put together a wiki based collaborative UML environment that people can use to share and collaboratively modify diagrams. Not really code generation related, as they said, but if the dependency on UML can be made ‘optional’ it could be useful in customer oriented DSL definition as well.
Off to diner now, and tomorrow I’ll be getting some hands on experience with Xtext. The blogging will have to wait until Friday though, because I’ll have to leave and fly home before the panel discussion.