Model Driven approaches have been around for years. There are a multitude of tools, from the venerable MetaEdit or the recently open-sourced BridgePoint to newer entrants such as Mendix. There are parsers, generators, transformation tools, language workbenches and meta (-meta…) models galore.

And the opportunity has never been greater. The technology landscape is evolving at an ever-quickening pace: HTML5, the multitude of javascript libraries; the many and varied SQL/NoSQL storage options; multi-core; physical and virtual machines, on premise and in the cloud. A developer could easily spend twice their available working time just trying to keep up with the myriad technology choices available.

And there’s no reduction in the number of problems to be solved; as Marc Andreessen observed back in 2011, Software is eating the world.

Model-driven approaches promise a cleaner separation of problem domain and technology infrastructure. That enables us to divide – and so more easily conquer – the twin challenges they present.

So there’s a litany of tools; the problems are growing; and MDx should be able to address the challenges more effectively than mainstream approaches. MDx must be the hottest ticket on the software planet then, right? Right?

Ahh. No. Despite all that, MDx remains a backwater in the global software development world. It’s had brief moments in the sun, for example the OMG’s (in)famous Model-Driven Architecture(MDA) and the more recent interest in Domain-Specific Languages. But they’ve been no more than flurries; light snow showers while the big storms made the news elsewhere.

Why should that be? Attend any gathering of model driven people and there’ll be a mixture of perplexity and a slightly aloof suspicion it’s because the “Muggles can’t abstract”. Joe-Blue-Collar-Programmer just doesn’t see the elegance and beauty in the rarified Model Driven world. And so the disciples resolve to conceive ever more cleverness; new metamodels, projectional/graphical/web editors and the like. And a year later they all meet up again; and MDx still hasn’t taken off; rinse and repeat.

As Albert Einstein reputedly said (or perhaps didn’t): insanity is doing the same thing over and over again and expecting different results.

What’s Wrong?

So what are we missing in the MDx community? There may be several factors. But two stand out above all the others:

  1. We forgot why we model;
  2. We forgot who models.

These are kind of important. In fact, stark-raving fundamentally critical. No wonder we’re in a pickle.

I’ll look at each in the next couple of posts.

 

Featured image: Jigsaw with one piece missing (Chris Downer) / CC BY-SA 2.0

 

Want to build better software faster?

Want to build better software faster?

Read about the latest trends on software modeling and low-code development

You have Successfully Subscribed!

Pin It on Pinterest

Share This