Juha-Pekka will be providing a conference session on defining Domain-Specific Languages and code generators at the DevWeek 2007 conference in London at the end of this month.
I know I keep on hammering on the significance of this topic :)
Anyone who has heard by now about how DSL's are replacing UML there where UML is proving to make no sense (most cases where you wish to generate usable code from models), also needs to realize that if you are going to walk the DSM-walk, you need to learn how to create your own modeling language.
Of course, having a vendor-supplied modeling language "can" make sense as well - at least, that is my opinion - especially in cases where you do not expect to be able to generate all code anyway. This mostly holds true for cases where the problem domain is difficult to define and changes very regulary, for example web-services as a horizontal domain. In many vertical domains however (e.g. vendor-specific car infotainment, navigation, operator-specific telecom services, building automation, industrial automation, robotics, mobile phone apps, medical device electronics and so on) the problem domain is clearly and cleanly narrowed down, for example by an intensively reused underlying software platform. In this case: DO expect to generate 100% of the code you now write manually, at least if you have defined a modeling language that fits completely (i.e. you have to define it yourself).
I have not seen any other speakers touching this subject at conferences - most just tackle the MDD topic on a conceptual level, merely introducing those interested in "what's out there". I do hope to see more recognized experts pick up on the "how to" topic.
I know I keep on hammering on the significance of this topic :)
Anyone who has heard by now about how DSL's are replacing UML there where UML is proving to make no sense (most cases where you wish to generate usable code from models), also needs to realize that if you are going to walk the DSM-walk, you need to learn how to create your own modeling language.
Of course, having a vendor-supplied modeling language "can" make sense as well - at least, that is my opinion - especially in cases where you do not expect to be able to generate all code anyway. This mostly holds true for cases where the problem domain is difficult to define and changes very regulary, for example web-services as a horizontal domain. In many vertical domains however (e.g. vendor-specific car infotainment, navigation, operator-specific telecom services, building automation, industrial automation, robotics, mobile phone apps, medical device electronics and so on) the problem domain is clearly and cleanly narrowed down, for example by an intensively reused underlying software platform. In this case: DO expect to generate 100% of the code you now write manually, at least if you have defined a modeling language that fits completely (i.e. you have to define it yourself).
I have not seen any other speakers touching this subject at conferences - most just tackle the MDD topic on a conceptual level, merely introducing those interested in "what's out there". I do hope to see more recognized experts pick up on the "how to" topic.
1 comment:
Good point - there's little presented on creating languages and code generators, let alone the full set. I tried to set up an online workshop to collectively create an example, but my blog doesn't attract enough traffic yet to gather the crowd. I'll try again in a short while.
Post a Comment