The Model Driven Software Network

Raise your level of abstraction

Last week I visited Nantes to do an invited talk about Model Driven Development. I had a great time in France and met a lot of interesting people. The theme of my presentation was "Why there is no future for Model Driven Development", but I started my presentation by talking about the story of trying to fix a business agility problem using Model Driven Development. I also shared some lessons learned in building a Model Driven Software Factory and lessons learned in designing and growing Domain Specific Languages.


Here is the video of my talk: [apparantly the embed function doesn't work... follow this link for the video]


You can find an article about the talk and the slides in this blog article: "Why there is no future for Model Driven Development".


I'm curious to learn your opinion about this subject! What do you think about the future of software development? Is there a future for MDD? Join the discussion in the comments!

Views: 1776

Reply to This

Replies to This Discussion

Your conclusion was that "we need Agile Application Lifecycle Management", and it is assumed by your speech that MDD cannot deliver/support that.


However, I disagree. Application lifecycle management can be model-driven... But I'm biased, of course :).


I hope so :-)

We've seen lots of success stories at past Code Generation conferences. I think if we continue to learn from past projects and spread the word we will continue to gain traction.

> Model Driven Development is necessary, but not sufficient!


Very good - agreed. There is of course the whole business side of the game (management support, compentency, awareness and acceptance etc.etc.), the need to overcome the "business/IT gap" mentality, more technical means to solve several still open problems, not at last the whole infrastructure/deployment part you mention.


What I don't really get is, why you separate MDD from MD Evolution. MDE is the ultimate goal of MDD, isn't it? My model must be able to evolve, yes, but that's the whole purpose of the MDD idea. It's never been intended as a "one shoot" solution. Can you explain what you have in mind with this separation?

> Agile Application Lifecycle Management


smile :-)


Lately we introduced the technical term "Application and Process Management System" in analogy to "DBMS is for operating databases" -> "APMS is for operating applications & processes". Stick the today-obligatory "Agile" in front of it, and we're quite in sync...

Hi Andreas and Rui,

I mostly distinguish between software development and software engineering, the latter including elements like requirements gathering, maintenance, and evolution. However, that’s just semantics…

I’m not saying model-driven techniques are only valuable for creating new systems. I think MDD is (in most cases) too much focused on creating new system, focused on the development part only. But… I think we’re on a turning point. As MDD is becoming mature it’s time to look at other aspects of software engineering. We should use model-driven techniques to support all phases of an application lifecycle.

Cloud deployment, models at runtime, and the combination with agile project approaches will help a lot to reach the full potential of Model Driven Development (or Engineering if you want ;) ).

I do agree that "use model-driven techniques to support all phases of an application lifecycle" and I think it is necessary to define what the model-driven mean? The relationships amongst the model-driven and model-transformation, model-execution, model-interpretation...

It's definitely has future, because it meet fundamental software engineering principles (provides separation of concerns, raises level of abstraction, improves formality and rigor ). Probably it should be called differently, like Model Driven Software Engineering, so that issues like requirements, evolution and deployment were the part of discipline. Further, any traditional engineering discipline is Model Driven, can you imagine building of a bridge to be not model driven, but something-else driven or not driven at all? So perhaps we should rename Model Driven to Software Engineering and today Software Engineering to something like Traditional Ad-hoc Software Development? So, conclusion is following: yes, model-driven has future, otherwise SOFTWARE has no future (it will become too expensive to build and evolve) but we need more research and practice resulted in methodology to bring it to mainstream.
I read and agree all your five comments for MDD. To be Agile Application Lifecycle Management with MDE addressed the models any where, this is seems as a well final solution.
But there may also be an another answer about this, i.e., to turn application systems themselves from code-executional into model-driven which I called as model-driven systems. It will have a totally different life-cycle and ecology and can be (but not necessarily) developed without MDSD. (I'm trying to writesome essays here with the topics) Much of interest here, including a table of the extent to which elements of MDD are used out there.

I think that there is a future for MDD. Nowadays code generation is already a reality, generic modeling languages are growing in details, it is easier to create and use domain-specific languages, many tools related to MDD were developed and they continue evolving and Software Engineering approaches that explore the advantages of MDD are already being defined.

I believe that we will never leave manual programming totally. However, MDD, together other techniques of software reuse such as components, frameworks and services, will make manual programming to be applied just to complete and refine the applications.

Not sure how bright the future is for MDD but I have been working on a system that inputs UML or RDFS and a puppet style configuration and emits an admin style web app where the front end is written in Google Closure that talks XMPP to a Java based back end (also generated). While MDD may not be headed for world domination, it certainly isn't dead either.

If you can relate to Gartner-esqe hype cycle diagrams, I would imagine that MDD is somewhere between trough of disillusionment and slope of enlightenment.




© 2019   Created by Mark Dalgarno.   Powered by

Badges  |  Report an Issue  |  Terms of Service