Le DDM ne fonctionne pas parce qu'il est basé sur une vue du domaine et non sur l'ensemble du domaine. Je veux dire qu'habituellement les MDD prennent une entrée XMI provenant d'un diagramme UML. Le problème est que ce diagramme n'est qu'une vue du domaine et que, par conséquent, il existe de nombreuses alternatives, alors que le monde réel est beaucoup plus complexe, en particulier au stade du déploiement.
La seule société qui m'a apporté une réelle valeur ajoutée dans mon projet est Omondo avec EclipseUML. EclipseUML n'essaie pas de faire du MDD mais de créer de l'UML au niveau du diagramme en direct synchronisé avec le code. Le déploiement est fait en utilisant des stéréotypes qui sont ajoutés dans l'annotation java dans le code. Je peux donc modéliser et si j'ajoute des stéréotypes de déploiement, alors mon application peut être déployée immédiatement/ Si je modifie manuellement mon code, alors mon modèle est refactorisé et toutes mes vues mises à jour. Si je veux ajouter une documentation, il me suffit d'ajouter des notes dans le métamodèle. Ces notes sont disponibles en direct lorsque je clique sur chaque élément. Plus besoin de documentation imprimée car la navigation en direct, les créations de vues dynamiques etc...
Mon modèle EclipseUML est toujours à jour, et je peux le déployer immédiatement car les annotations Java sont synchronisées en permanence entre le modèle, le métamodèle, les diagrammes et le code. Vraiment cool :-) :-)