Showing posts with label MOF. Show all posts
Showing posts with label MOF. Show all posts

Thursday, November 20, 2008

It's not the labels [posted July 15th 2005 01:27]

When I mentioned the religious war that might break out about MDA vs DSL this actually gives the essence of these kinds of differences. The difference is not in those terms or the technical content they stand for but in the people that get behind them.

It is possible to create a DSL with MDA. There are a number of languages based on MOF the OMG keeps reminding us, like UML but also Corba and the CWM. These can be referred to as DSL's. If those examples seem to generic in nature to consider them as DSL I'm sure a short introduction into MDA wil convince anyone that contructing a DSL using MDA is possible. And of course it is possible and probably the most sensible choise to base DSL solutions on a metamodel that combines and relates the different DSL's. So the only difference between your avarage MDA or DSL solutions is whether the metamodel is MOF (open) or that of a vendor and thus perhaps proprietary. We'll probably see a lot of time being spend on these subjects without it resulting in anything that touches upon this subject.

Maybe its best to stick to the as for now still academic group of the generative programming people with Krzysztof Czarnecki as one of its exponents. They include almost every modern subject in IT on their stride towards generating software. And as long as they write great books about it that's just fine with me.

It's not the labels [posted July 15th 2005 01:27]

When I mentioned the religious war that might break out about MDA vs DSL this actually gives the essence of these kinds of differences. The difference is not in those terms or the technical content they stand for but in the people that get behind them.

It is possible to create a DSL with MDA. There are a number of languages based on MOF the OMG keeps reminding us, like UML but also Corba and the CWM. These can be referred to as DSL's. If those examples seem to generic in nature to consider them as DSL I'm sure a short introduction into MDA wil convince anyone that contructing a DSL using MDA is possible. And of course it is possible and probably the most sensible choise to base DSL solutions on a metamodel that combines and relates the different DSL's. So the only difference between your avarage MDA or DSL solutions is whether the metamodel is MOF (open) or that of a vendor and thus perhaps proprietary. We'll probably see a lot of time being spend on these subjects without it resulting in anything that touches upon this subject.

Maybe its best to stick to the as for now still academic group of the generative programming people with Krzysztof Czarnecki as one of its exponents. They include almost every modern subject in IT on their stride towards generating software. And as long as they write great books about it that's just fine with me.

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 ;-)