Thursday, November 20, 2008

It's a thin line between... [posted June 10th 2005 15:35]

Ok Ok, so I was a bit unfair to UML earlier. UML2.0 does have the concept of template classes (actually I noticed it in a UML2.0 book, was it part of earlier UML versions ;-) ), hey how modern do you want to get ;-). Maybe I'm a bit harsh on UML, I've been using it for years and also don't realy have a better alternative that I can present to you here. I wich I had though because I'm quite certain it's very well possible. The idea of DSL's is one that strikes me as being a good one,

Come to speak of the improvements that UML 2.0 brings, apart form such great things like the closer union between MOF and UML. What to think of multiplicity on parameters and variables. If I may cite UML distilled by M. Fowler, for attributes the syntax is;
visibility name : type multiplicity = default {property-string} For multiplicity he states "I'll explain multiplicity on page 38" (may I just say I do not like the first person style in technical books...). When we look on page 38 we find a text about multiplicity that only fully seems to complie to associations and not attibutes. However when I take a look in Enterprise Architect by Sparx Systems (tool evaluation will folow), a great UML modelling tool for very little money (hey I'm Dutch, sorry) it turns out all multiplicity properties of associations are also available for attributes. Great! Now we do have a feature that to me everybody that used UML for something more than UML 101 has been waiting for for years. What worries me a bit is that it seems that multiplicity is further only supported in the return value of a method. And that has to take the shape of an array. Ehm. And what about parameters? Fowler seems nothing to say about that alas. Neither about the mening of aggregations. Alas agian. Maybe a little less distilled would be better next time. Does one really have to read OMG's UML superstructure document to get to know the answers to these questions? Are they that detailed/irrelevant?

When I find out the answers you can guess where I will let you known ;-)

No comments: