Monday, January 23, 2006

UML profiles vs. DSL

Some people when they see a DSL for the first time and code being generated from it they respond that they "can do the same with UML and profiles". OK maybe they do not generate all the code but they probably could if they would add action language and use OCL. People often miss the point when seeing a DSL, using concepts from the problem domain it covers directly as modeling concepts. Not only do DSLs use these domain-concepts, the language is also based on the unique rules that are valid in that domain instead of UML's rules that govern object oriented programming in general. The point here, is abstraction.

The level of abstraction on which you specify solutions is directly related to productivity, the higher you can raise it, the more productive you'll become. To those people that keep on hammering that they can do the same thing as a DSL with UML profiles I would ask: Why then is the OMG promoting DSL's based on MOF?

No comments: