Thursday, November 16, 2006

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".
Comments: Post a Comment

<< Home

back to

This is Markus Voelter's Blog. It is not intended as a replacement for my regular web site, but rather as a companion that contains ideas, thoughts and loose ends.

December 2005 / January 2006 / February 2006 / March 2006 / April 2006 / May 2006 / June 2006 / July 2006 / August 2006 / September 2006 / October 2006 / November 2006 / December 2006 / February 2007 / March 2007 / April 2007 / May 2007 / June 2007 / July 2007 / September 2007 / October 2007 / November 2007 / December 2007 / January 2008 / February 2008 / March 2008 / April 2008 / May 2008 / June 2008 / July 2008 / August 2008 / September 2008 / October 2008 / November 2008 / December 2008 / January 2009 / February 2009 / March 2009 / April 2009 / May 2009 / June 2009 / July 2009 / August 2009 / September 2009 / October 2009 / November 2009 / December 2009 / January 2010 / February 2010 / April 2010 / May 2010 / June 2010 / July 2010 / August 2010 / September 2010 / October 2010 / November 2010 / December 2010 / January 2011 / March 2011 / April 2011 / May 2011 / June 2011 / July 2011 / October 2011 / November 2011 / December 2011 / January 2012 / February 2012 / October 2012 / January 2013 /

You can get an atom feed for this blog.