At college I've been around this group that works on "Model Driven" programming. I did cite Construct as an example to them.
"Model Driven" is when you use design software to.... well, design your software. I've always been the coding type, and never liked this approach, but I took a serious look at it in this workgroup.
What I found out is that Model Driven development only works when the model IS the software. That is, there's no in-between model (such as exported code, in this case).
WHY?
Well, if you export the code and then change something there, the modified code no longer conforms to the original model. Things are lost in translation. Semantics are lost when generating the code, code doesn't contain semantics so you can't have them when creating a model from code.
This happens always, everywhere! just try translating text from english to russian and back to english. Things are jumbled, meanings are lost. (Just in case: think of english and russian as two models for expressing human thought).
So I said, and this is my current official stance, Model Driven is only a good idea if there is no way to do these in-between changes. The model becomes the code.
This is my opinion, based on my own experience with tools like Bison, Flex, Antlrv3, Doxygen, PHPDoc, MySql Workbench, Power Designer, etc.