Recently in Model Driven Engineering Category
In addition, it is not very often that you can be part of a team that aspires to radically change the dynamics of building a new language, to the extent that a developer can write their own model-driven language in a straightforward way while getting all the language services (Intellisense, colorization, etc.) for “free”.
Sounds a lot like Xtext to me …
My colleague Phillip Ghadir blogs about upgrading an MDE-based project from EJB 2.x to EJB3. It’s sure going to be interesting to see how much effort will be required.
Tefkat is the transformation engine for the Eclipse Modeling Framework (EMF). It implements a state-of-the-art declarative model-to-model transformation language, including a source-level debugger and support for UML2, MOF2, and XML Schema-based models.
(via Jim Steel, who is one of the developers.)
A great article about the (lack of a need for) refactoring. (Thanks, Jerry.)
I’ll also admit to one thing: As regular readers know, I’m a fan of model-driven engineering, MDA, MDSD, and related technologies. Even so, I’ll be the first to admit that a major part of the use-cases for MDSD/MDA apply to problems that simply don’t exist when you use a more powerful programming language.
Ah, not that again. I don’t know whether it’s really worth fighting that battle anymore, but there is a fourth camp in the MDA space: Those who simply apply it to existing projects, without waiting for academic long-term benefits, while realizing a significant ROI in the first project and within the first few months.
If you want to find out more, check out this old entry or check out the design considerations section of our product’s documentation.
Yesterday I gave a talk at SOA-Forum, a German conference, on the topic of SOA and MDA (or MDE, as I’m starting to call the generic concept). I think my presentation was a little too theoretical for the audience, but I’m putting up the slides — as usual probably not very useful without the accompanying talk — anyway.
Technorati Tags: governance, mda, soa, webservices
Jim Steel has published RMOF: Model-driven development in Ruby:
RMOF is an implementation of EMOF (Essential MOF), from the OMG’s Meta-Object Specification v2.0, in Ruby. Includes a parser/printer for models and metamodels in XMI, an API generator, and a reflective editor built on GTK.
One of the (very few) sessions I attended at JAOO was the one recommend to me by Steven Kelly: Juha-Pekka Tolvanen from MetaCase introduced Domain Specific Modeling based on some case studies where MetaCase’s tooling is used. It was a good presentation; I found myself nodding in agreement most of the time.
One of the things I disagreed with, though, was the predictable UML bashing. Interestingly, Juha-Pekka used one of the arguments I use all of the time as well, only with a slightly different pitch: We agree that when you use UML to visualize low-level language constructs, for example create a UML class diagram containing all of your low-level technical J2EE artifacts, there’s little benefit and nothing domain-specific. You essentially provide a different view on your source code, at exactly the same level of abstraction.
The difference is that — at least in his talk — Juha-Pekka’s generalized this to UML in general, while I use this to criticize tools such as Together. We use UML in a number of projects in a way very, very similar to the way DSM is used in his examples. I’m the first to admit that UML is far from perfect, and I concede that using a “real” DSM approach such as MetaCase’s may often be superior to the poor man’s DSL available in UML (UML profiles). The benefit, of course, is the increased level of interoperability, both when communicating with humans as well as when exchanging information between tools.
In any case, it was funny to see that the MDA track at JAOO drew very little attention while the DSL track was packed, when in fact the presentations’ contents were very similar. It seems that MDA has now entered a massive anti-hype cycle.
It’s taken me ages, relatively speaking, to link to Steve Cook’s post on getting rid of meta. In the meantime, though, he’s written my comment for me:
A metamodel specifies the concepts of the language in which the model is defined.
That seems to be about as clear as it gets, as opposed to this:
[…] we decided to call the models of the concepts in our DSLs Domain Models; which contain Domain Classes, Domain Relationships, Domain Properties, Domain Roles and so on. These models are used to generate tools, and serialized in files. We also have a model which we use to generate the tool and formats that we use to manipulate Domain Models – we call this the Domain Model Domain Model, or DMDM
I’m on my way to Aarhus for the JAOO, currently putting the finishing touches to my slides for tomorrow’s talk. I guess there’s a slight chance that someone who is visiting JAOO might even plan to attend; if so, drop me line or leave a comment here with your most pressing MDA/MDD-related question … or meet me at the conference party in about two hours :-)
