Nearly everyone attending this workshop was from Europe. There was a guy from Israel, some folks from East Asia, and a couple of guys from US Air-force Research… but I was embarrassed at how few Americans were there seeing as we were in the US and all. Almost everyone in the room was there to deliver a paper of some kind. Most of the rest were students looking for PHD topics. While a couple of presenters happened to be project leads working on large applications that utilised DMS’s, there did not appear to be any “ordinary” full-time developer types represented. (I guess they were busy with the refactoring tutorials or something.)
Most of the tools demonstrated of discussed were Eclipse based. I saw very little DSL code, if any. Most of the conversation focused on meta-models, rules, grammars, syntax trees, transformations, visitors, ANTLR, and Petri Nets.
Presentations seemed very hit or miss with the crowd. Sometimes there would be almost no questions, other times someone in the crowd would get hung up on semantics or some pedantic correction. These would often end in an impasse with the presenter and questioner not having achieved any sort of consensus or meeting of the minds. Worse than that, it appeared that occasionally a presentation would get shot down as being basically pointless or so limited in scope as to be of no use. Some questions would delve more into practical development and maintenance issues, but there just wasn’t time to do more than scratch the surface of that sort of thing.
Arturo Sanchez gave the most animated talk of the morning sessions. While others appeared to get lost in a world of tools and abstractions, Sanchez emphasized that the point of DSM was “empowering users to solve problems without the assistance of software developers.” He appeared to delight in going against the grain of his peers– he was intentionally adapting his approach to the problem space instead of forcing things to flow the way “theory” dictates.
From the standpoint of a run-of-the-mill IT application developer, his project was to very easy to relate to: English teachers at his college would use his program to highlight text in a paper, right click, and then classify it as being one of a set of Patterns and Anti patterns. A comment would then be added to the section of text… and a grade summary at the end of the Word Document would summarize the final grade.
The hierarchy of patterns and anti-patterns were stored in an XML file that the user could modify via his GUI– he called this data an “Ontology”. The right-click-and drag maneuver the user used to highlight text he referred to as a “gesture”. Put the two together and you have Domain Specific Modeling! I may be in left field here, but by that definition, VB developers are doing DSM all the time– all they need is a GUI and a database! Still, he wanted to do everything he could to eliminate as much context switching on the part of the users as he could. I wish more application developers cared about that….
(Note: I am neither a computer scientist nor a journalist. These are just first-hand impressions of the workshop from someone that has no experience working with DSM. As always, YMMV. Please feel free to add any corrections or clarifications that you might feel these rough notes require.)