Richard Paige and Louis Rose just published in the JOT journal the article/post Lies, Damned Lies and UML2Java where they summarize the 10 most dangerous misconceptions about model-driven engineering. For those with no time, this is the list headlines (you´ll need to go to the journal page to read the full details, no paywall!):
- MDE = UML
- MDE = UML2Java
- MDE ⇒ code generation
- MDE ⇒ transformation.
- “The MDE process is inflexible.”
- MDE = MOF/Ecore/EMF
- Model transformation = Refinement
- MDE can’t possibly work for real systems engineering because it doesn’t work well in complex domains where there is domain uncertainty.
- Metamodels never change
- Modelling ≠ Programming
- MDE = MDA
I really agree their list is a very accurate representation of what MDE is NOT about (and of course, if you want to know what MDE IS about, take a look at our MDE introductory book!).
FNR Pearl Chair. Head of the Software Engineering RDI Unit at LIST. Affiliate Professor at University of Luxembourg. More about me.
New lie (contribution from Juan Manuel Vara): MDE = graphical modeling
Another lie: Model is a instance of its Metamodel
@sashir,
I’m a beginner in this field and would like to get your points how the statement “model is an instance of it’s meta-model” qualifies to make the list of lies.
Many of the materials I have read would use “instance of” and “conform to” almost interchangeably as the relationship between a model and it’s meta-model.