Jaco van der Laan

Model-Driven Engineering in Practice

23/09/2025  ·  Data Architecture  ·  Data Engineering  ·  Data Modeling

‹ ›

How metadata, draw.io, and VSCode turn data models into living, executable assets

Summary

Model-Driven Engineering (MDE) is about shifting from coding to modeling — making the model the system.

Instead of handcrafting every SQL transformation, we treat metadata and diagrams as sources of truth that drive automation.

In this article, I show how we apply MDE in practice using draw.io, VSCode, and metadata-driven pipelines, and how this connects directly to the other pillars of our methodology.

From Coding to Modeling

The move from coding to modeling reflects a broader industry trend: stop reinventing transformations, and let models guide execution.

👉 I explored this shift in From Coding to Modeling: The Rise of Model-Driven Data Engineering.
👉 And described how we built this approach at de Volksbank in From Whiteboards to Working Models: How We Built a Model-Driven Data Warehouse at de Volksbank with CrossBreeze.

Metadata as the Engine

At the heart of MDE is metadata — business definitions, mappings, and lineage stored in a structured, queryable form.

  • Logical and physical models can be expressed in YAML, JSON, or database tables.
  • Mappings capture how business concepts translate into SQL.
  • This metadata becomes the blueprint for automation.

👉 I wrote about this in Metadata as Data — Controlling and Governing Data Models.

Diagrams as Interfaces

Metadata can feel abstract — which is why visualization matters. We use draw.io diagrams as both:

  • Generated views of metadata (ERDs, mapping diagrams).
  • Editable artifacts that can be parsed back into metadata.

👉 I explained this workflow in Parsing draw.io Diagrams Back into Metadata and Automating draw.io Diagram Generation from Metadata.

This creates a two-way bridge: business-friendly visuals on the front end, metadata-driven engineering under the hood.

VSCode as the Workbench

For engineers, VSCode becomes the cockpit:

This makes modeling a team sport — collaborative, version-controlled, and automated.

Execution: From Models to SQL

The final step is generation:

  • Mapping metadata → SQL transformations.
  • Logical LDMs → physical models.
  • Exposure views → consumer-ready schemas.

👉 A practical example is in Business-Friendly Mapping Meets dbt: Virtualizing Logical Building Blocks into SQL.

By automating generation, we shift human effort from writing code to designing meaning.

MDE in the Four Pillars Framework

  • Business-Oriented LDM (Pillar 1) provides the meaning.
  • Model-Driven Engineering (Pillar 2) turns meaning into executable pipelines.
  • Business-Friendly Mapping (Pillar 3) ensures transparency of transformations.
  • UDMs (Pillar 4) accelerate delivery with reusable patterns.

Together, these make MDE not just a toolset but a way of working.

Where We’re Headed

Next, we’ll explore Business-Friendly Mapping in detail — showing how mapping becomes a collaboration tool between business and IT, rather than a hidden technical artifact.

Key Takeaways

  • Model-Driven Engineering shifts the focus from coding to modeling.
  • Metadata is the blueprint; diagrams and VSCode are the interfaces.
  • Generation turns models into executable SQL and pipelines.
  • MDE anchors the four pillars by making them practical and automated.

✍️ This article is Part 5 of the series “Why Elephants Matter in Data Modeling”, where I explore how John Giles’ ideas, Len Silverston’s Universal Data Models, and my own methodology come together in a business-first, model-driven approach.

Series overview