openArchitectureWare 4.1.1 released
openArchitectureWare 4.1.1 has been released today. This version contains no major new features; it is a maintenance release with a number of bug fixes and small improvements as can be seen from the
release notes.
Labels: eclipse
UML Tools, again
Today I worked with MagicDraw 11.5 to build a formal model of a glossary. I had to define my own stereotypes and apply them to model elements... remember my rants about this stuff in my post yesterday?
Well, I have to say MagicDraw does a decent job there. Directly in the context menu of a model element, you'll find a
stereotype menu item, which, once you select it, lets you select the stereotypes applicable to the respective model element. Here's a screen shot.
Hey, IBM Rational, read this!
Today while at a customer we were working on integrating openArchitectureWare with the upcoming version of RSA. "Upcoming", because we needed Eclipse 3.2 and the corresponding versions of EMF and UML2. Here's what we needed to do: a) define a profile, b) apply the profile's stereotypes to the elements in certain packages and c) export the model in Eclipse UML2 format. That is - I suppose - a rather typical use case. In fact, it's the most typical use case in model-driven development. However, executing this use case is a pain in this brand-new, Eclipse based UML tool. Here's why.
So you start by defining a profile. So far, so good, no issues here. Defining the stereotypes in the profile is also reasonably straight forward. Now you apply the profile to a given package. Also no problem. Here is where the fun begins. To actually apply a stereotype to a class, for example, you have to open the UML properties, go to the stereotypes tab, press the Add Stereotype button and then select the stereotype you want to apply. These are a lof of mouse gestures. Why no simply put the stereotypes from the profile you've applied to the package directly into the menu? That would allow you to add stereotypes with one mouse gesture. After all, the whole point of applying a profile to a package is that you'll typically add some of the stereotypes in the profile to some of the classes (or whatever) in the package.
The next thing you want to do is to export the model in Eclipse UML2 format. So you go to the Export dialog, select the export format, select the model package you want to export, define the output folder, click one or two option check boxes and then press Finish to run the export. Ok, that's a huge number of mouse gestures. Now, once you exported it you'll run the generator. Most likely, during generator development, you'll find a problem, either in the generator, or in the model. So, let's say you change the model. What'll you do next? Right. Export it again. Same model, same location, same preferences. You have to go through all the same many steps again. It even forgets the directory to which you've exported stuff before! What we need is a button, directly in the top button panel in Eclipse that simply reexports the last export; same location, same preferences. Just "do it again".
Both of these features are very easy to implement. However, having these features would make a *huge* difference in productivity. Missing features like these (in addition to some conceptual problems with UML) is what keeps people from adopting UML tools for MDSD.
And by they way: Several of the other UML tools I've worked with recently had the same problem. So it's not just RSA. However, since the version of RSA I worked with today is still in beta, I have the hope that somebody from IBM Rational will actually read this blog and add the features to this upcoming version of RSA. Apart from these issues, RSA looked *really* nice - so I think I'd be able to recommend RSA as a UML tool for MDSD if these features were in! And my customer, who's got a support contract with IBM, will also inform them about these missing feaures on the "official way".
MDSD Tutorial Updated
After a long time of doing nothing, I have finally substantially upgraded my
multi-part MDSD tutorial to reflect new developments in the field of MDSD and DSLs. You may want to take a look at it... or better even, buy
the book :-)
Old Stuff Reappearing!?
Just a comment: seems like old entries reappear as new ones over and over again on my blog. I don't know why this is; I suspect it has something to do with the fact that I moved over to the new version of the Blogger software. So, sorry for that, but I don't know what to do about it.
More University Podcasting
Ok, since we mentioned Stanford in the previous post, we have to mention
Berkeley, too :-) And indeed, they have a number of
interesting podcasts available, mostly based on lectures.
Stanford iTunes U
Stanford University has started to put a number of interesting talks online as a podcast.
Here are the feeds.
New Slides online!
I have uploaded the slides from the recent W-JAX conference. These incude the presentation on
Textual DSLs as well as the
Model Transformation stuff. The latter is especially interesting, since it contains a nice comparison between various M2M languages.
Even though the abstracts are german, the slides are English, of course :-)