Thursday, July 31, 2008

UML Frustrations, Part 2

More news about the UML Frustrations. Together with my customer, we have created a sample model directly in MagicDraw (not converted from Rose) and exported it to Eclipse UML. This worked well.

So I guess the original problems are mostly not to blame on MagicDraw's XMI Export, it seems the Rose-to-MagicDraw converter does strange things. Seems like the converter creates a model with names that include <, > and & for which MagicDraw does not include an escape step before export.
Saturday, July 26, 2008

UML Frustrations

Today I had to work with UML models again - after a long time of working with domain specific meta models. I had to write a code generator to generate C++ code from a UML model (that was very C++-specific).

And although I was using a decent UML tool (MagicDraw 15), it didn't work. I couldn't even read the exported XMI into Eclipse/oAW, since the exported XMI contained <, > and & characters in model element names (C++ generic types, reference attributes, etc.). The Eclipse UML2 XMI Parser (actually, it was the underlying Xerces) failed.

Now, I am not yet sure who to blame (MagicDraw, Eclipse UML2, the Rose importer from which the MagicDraw model was built), but one thing is clear: as soon as you touch UML/XMI, you run into those damned tool integration problems!

It is really frustrating: you get up early in the morning, motivated to work on the stuff, and you can't even read the model exported by a (decent, I thought) UML tool.
Wednesday, July 16, 2008

Replying to Martin Fowler's recent posts

Martin Fowler, in the context of writing his book on DSLs, recently had two interesting blog posts (this one, and that one.

I agree with some parts (e.g. the MDA stuff), and strongly disagree with other parts.

Now, because I had to go flying for the last two days (yipieeh :-)) I did not immediately reply, and hence, Sven was faster :-). I agree with everything Sven says, and I don't repeat it here.

However, there's one interesting issue that pops up from time to time: repositories. From time to time, people (including me and Sven) point out that it is some kind of problem to store models in repositories. The arguments basically center around the fact that "we want to manage everything as files, in CVS or SVN".

Now, I agree to that, however:

What if you don't have any text at all, if you store everything in models and repositories, don't all the integration problems go away then? Of course you still need a diff/merge facility (based on the models' concrete syntax, not XML!) and a way to version things, but assuming your infrastructure provides that, wouldn't that be ok?

Also, what is a repository in the first place? A couple of text files in a file system clearly isn't a repository. A database storing an AST clearly is.

But what about a CVS/SVN? What about a bunch of text files arranged in a specific directory structure, with an index file rebuilt from time to time by an indexer?

My point is that a repository is not per se a bad thing, provided the following criteria: (1) you store all your relevant stuff in it (2) it provides versioning facilities (3) supports diff/merge on a meaningful abstraction level.

As it happens, CVS/SVN provides all of this for text files. Hence, it is the lowest common denominator "repository".

Any comments or thoughts? I would really like to get a somewhat better grasp on this repository thing, to find out what *really* is the problem.

Labels: ,

Friday, July 11, 2008

Software Engineering in Practice @ ICSE

At next year's ICSE in Vancouver there's a special track for practitioners. You might want to take a look at the CfP.
Monday, July 07, 2008

Podcasting considered Real Media!

Some people still doubt that podcasters are considered "real media" by the mainstream. Well, I guess here is impressive proof that this notion is wrong. Stephen Force, the guy behind the Airspeed podcast, has just won the first prize: a one-hour media ride with the US Air Force Thunderbirds.

Needless to say I am extremely jealous :-) Maybe I should give up podcasting about software, and rather do some aerospace stuff :-)
Wednesday, July 02, 2008

Video: Managing Variability in Product Lines

The JAOO folks have kindly recorded my 2007 presentation on managing variability in product lines (slides). Among other things, it showcases some of the PLE features available in openArchitectureWare.

Labels: ,


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.