The fact that Java source and comment is used in UML - Java roundtrip tools as more or less interchangeable things is completely in line with the OMG MOF model whre UML and Java are both a M2 level definition. This means, if I'm not mistaken that one could use Java as a basis for code generation instead of UML.
This would be good news since UML is still very bothersome when entering large amounts of information. At least I have found very few UML modelling tools if any at all where one could enter information as effectively as in an IDE. I had good hopes for HUTN (Human Usable UML) but I agree with my neighbour that it probaby is easier to use a syntaxt one is familiar with.
Mapping Java to UML instead of the other way around seems a problem, but one probably doesn't need to be able to express all UML features using Java to end up with a powerfull basis for codegeneration based on MDA principles.
These are exciting times indeed.
Showing posts with label DSL. Show all posts
Showing posts with label DSL. Show all posts
Tuesday, November 25, 2008
Thursday, November 20, 2008
Won't choose [posted July 15th 2005 01:27]
I don't know why but I really don't like conflict. It's not that I can't fend for myself as some of my friends and collegues will confirm. I just don't like the idea of trying to argue a point knowing that winning an argument doesn't mean you're right. And usually taking a side on subjects in IT means that you'll end up in numerous arguments about the merrits of things that are probably only distantly related to the hard of the matter. Particularly when the subject has taken on religious proportions. Take MDA vs DSL or rather Java vs .Net.
I see or think I see a difference between how a number of Java people I know seem to think and work differently than a number of .Net people I know. I feel comfortable or seem to support one of those groups most of the time but the number of times that the other groups seems to have the better ideas is large enough for me not to want to choose sides. It's like I really think slashdot is a cool site but when it turns out sometimes how incredibly dumb and unmannered the average slashdotter seems to be I turn to tweakers with ease. Or even though I admire what Apple does when I see how important the persona of its CEO is and how some of Apples consumers follow him like sheep I cannot decide to buy one of their products.
Maybe I like to think that I don't choose sides because I see the good and bad of both of them. One could say that great men changed the world because they chose something, believed in it and stuck with it. That probably makes me not a great man. That probably is why, when I get home, I change into the non conformist uniform; black. Amongst other reasons because it makes me less visible. If your not a great man you can only aspire to have a great mind. So I avoid light t-shirts to start with.
I see or think I see a difference between how a number of Java people I know seem to think and work differently than a number of .Net people I know. I feel comfortable or seem to support one of those groups most of the time but the number of times that the other groups seems to have the better ideas is large enough for me not to want to choose sides. It's like I really think slashdot is a cool site but when it turns out sometimes how incredibly dumb and unmannered the average slashdotter seems to be I turn to tweakers with ease. Or even though I admire what Apple does when I see how important the persona of its CEO is and how some of Apples consumers follow him like sheep I cannot decide to buy one of their products.
Maybe I like to think that I don't choose sides because I see the good and bad of both of them. One could say that great men changed the world because they chose something, believed in it and stuck with it. That probably makes me not a great man. That probably is why, when I get home, I change into the non conformist uniform; black. Amongst other reasons because it makes me less visible. If your not a great man you can only aspire to have a great mind. So I avoid light t-shirts to start with.
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 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 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.
Holy war [posted July 5th 2005 23:28]
For the first months after MDA came into my life I was completely content to know that I had seen the future and it will be. Recently I realised that one of the reasons that I felt so good about MDA was that it seemed so undisputed. Something you have just gotten to know usually is because you simply haven't gotten to that part of the complete picture. With MDA I had a naive feeling though that this was so new and improved it would be years before anything would touch it.
Well alas, it did not take long before terms like generative programming and DSL started to apear on my horizon. It probably was just pure coincidence that I bumped into MDA first since all of these techniques have been around for quite some years. And they have lived along side each other peacefully for about the same amount of time. However, I'm getting the feeling that just as with Java and .NET as one of the most recent examples MDA and DSL will be getting into a religious battle before long.
This usually soils the joy this kind of great technologies have for me. But maybe it is one of the reasons why both MDA and DSL will evolve faster than expected in the coming years. As the great warriors of holy wars of the past IBM and Microsoft again seem to be taking oposing sides this battle is not going to be over soon.
Well alas, it did not take long before terms like generative programming and DSL started to apear on my horizon. It probably was just pure coincidence that I bumped into MDA first since all of these techniques have been around for quite some years. And they have lived along side each other peacefully for about the same amount of time. However, I'm getting the feeling that just as with Java and .NET as one of the most recent examples MDA and DSL will be getting into a religious battle before long.
This usually soils the joy this kind of great technologies have for me. But maybe it is one of the reasons why both MDA and DSL will evolve faster than expected in the coming years. As the great warriors of holy wars of the past IBM and Microsoft again seem to be taking oposing sides this battle is not going to be over soon.
Saturday, November 15, 2008
What good is UML [posted June 8th 2005 22:30]
One of the things I want to get into in this blog is the quality/usefullness of UML for (certain) modelling purposes.
One of the things that we all seem to discover when working with UML is that it has so little semantics that you end up defining a lot of it for each project you do. One could argue this is a powerfull feature, I think it is a weakness. It makes an argument for DSL. This could lead us straight to a discussion of Generative Programming vs MDA, it is way too early for that, first I need to get some other stuff of my chest.
One of the things that strikes me is the similarity between Java and UML. It probably isn't a coincidence that they grew up together in the mid nineties. The fact that a lot of tools that offer UML combined with coding facilities offer at least Java as a coding/generated language makes for a bias of course. The fact that both have interfaces and classes, and the same basic types (more about that in a later blog entry) might be an indication. OK UML supports multiple inheritence and C++ also has these basic types. So maybe it's more accurate to state that C++ and Java together fathered the UML syntax. Not surprising because in the mid eighties the race wasn't run. It could have been won by C++ just as easily (at least that was the general opinion then, which noone will now admit to ever having of course...). However the point I'm trying to make is not so much where UML came from but that it seems to be lagging behind on even Java and C++ today, never mind other developments (Ruby, AOP, metaprogramming, ... interestingly these have been around longer or about as long as Java and UML).
Is it wise to specify in a language that seems to have missed a great deal of the important inovations that happen around us today in the wold of software devolpment?
One of the things that we all seem to discover when working with UML is that it has so little semantics that you end up defining a lot of it for each project you do. One could argue this is a powerfull feature, I think it is a weakness. It makes an argument for DSL. This could lead us straight to a discussion of Generative Programming vs MDA, it is way too early for that, first I need to get some other stuff of my chest.
One of the things that strikes me is the similarity between Java and UML. It probably isn't a coincidence that they grew up together in the mid nineties. The fact that a lot of tools that offer UML combined with coding facilities offer at least Java as a coding/generated language makes for a bias of course. The fact that both have interfaces and classes, and the same basic types (more about that in a later blog entry) might be an indication. OK UML supports multiple inheritence and C++ also has these basic types. So maybe it's more accurate to state that C++ and Java together fathered the UML syntax. Not surprising because in the mid eighties the race wasn't run. It could have been won by C++ just as easily (at least that was the general opinion then, which noone will now admit to ever having of course...). However the point I'm trying to make is not so much where UML came from but that it seems to be lagging behind on even Java and C++ today, never mind other developments (Ruby, AOP, metaprogramming, ... interestingly these have been around longer or about as long as Java and UML).
Is it wise to specify in a language that seems to have missed a great deal of the important inovations that happen around us today in the wold of software devolpment?
Subscribe to:
Comments (Atom)