Connecting the Models: A Global Mega-model of MDE Projects on GitHub
This paper presents a global mega-model derived from mining over 7,400 GitHub projects containing 325,000 Model-Driven Engineering artifacts, aiming to establish a foundational dataset for empirically analyzing the real-world usage, combination, and maintenance of MDE tools and technologies.
Original paper licensed under CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). This is an AI-generated explanation of the paper below. It is not written or endorsed by the authors. For technical accuracy, refer to the original paper. Read full disclaimer
Imagine the world of software development as a massive, chaotic library. In this library, there's a special section called Model-Driven Engineering (MDE). Instead of writing code line-by-line like a traditional programmer, MDE engineers build "blueprints" (models) and then use special tools to automatically generate the actual software from those blueprints.
For years, the theory was that these engineers would build amazing, custom-made workshops using a set of standard tools (like EMF, ATL, Xtext, etc.). The idea was that they would snap these tools together like Lego bricks to create perfect environments. But nobody really knew if this was actually happening in the real world, or if the workshops were falling apart, or how the engineers were actually using the tools.
The Problem: A Library Without a Catalog
The researchers in this paper realized that while there are thousands of these MDE projects sitting on GitHub (a giant code-sharing website), they were all isolated. It was like having millions of books scattered on the floor with no catalog. You couldn't see:
- Which projects were related to others.
- How engineers were combining different tools.
- If they were copying and pasting old blueprints instead of building new ones.
- Which tools were actually popular.
The Solution: Building a "Mega-Map"
The authors decided to build a Global Mega-Model. Think of this not as a single map, but as a giant, interconnected web that connects every single blueprint, tool, and project in this library.
Here is how they did it, step-by-step:
1. The Great Scavenger Hunt (Data Collection)
First, they went on a massive scavenger hunt across GitHub. They didn't just look for code; they looked for specific "MDE artifacts."
- The Analogy: Imagine they were looking for specific types of Lego bricks: blue baseplates (meta-models), red connectors (transformations), and instruction manuals (syntax definitions).
- They found 7,436 projects containing over 327,000 of these specific files. They downloaded the entire history of these projects to get a complete picture.
2. Reverse Engineering the Blueprints (Recovering Relationships)
Once they had the files, they had to figure out how they fit together. This was tricky because the connections weren't always written down explicitly.
- The Analogy: Imagine finding a recipe (a transformation file) that says "Make a cake," but doesn't list the ingredients. You have to look at the kitchen counter (configuration files) or guess based on the type of cake to figure out it needs flour and eggs.
- The researchers built special "inspectors" (digital detectives) for each type of tool. These detectives read the files and figured out:
- What blueprint does this tool use?
- What other files does it import?
- What does it generate?
- They turned each project into a small "web" of connections.
3. Merging the Webs into a Giant Spiderweb (The Global Mega-Model)
This is the most creative part. In the software world, there is no "App Store" for these blueprints. If an engineer needs a specific blueprint, they often just copy and paste it from another project.
- The Analogy: Imagine two people in different cities both have a copy of the same "House Blueprint." In a normal library, these would be two separate books. But the researchers realized: "Hey, these are the same blueprint!"
- They used a special algorithm to find near-duplicates. If two projects had the same (or slightly modified) blueprint, they merged them into a single node in their giant map.
- This created a Global Mega-Model: A single, massive graph where every unique blueprint is one dot, and every project is a cluster of dots connected to it.
What Did They Find? (The Results)
By looking at this giant map, they could finally see the "shape" of the MDE world:
- The "Hubs": They found massive central hubs, like Ecore (a standard blueprint format), which almost every project connects to. It's like the "Main Street" of this library.
- The "Copy-Paste" Culture: They found that a huge amount of duplication exists. Many projects are just copies of others with small tweaks. This suggests that MDE engineers are struggling to share their work properly because they lack a "package manager" (like an App Store) to manage dependencies.
- Islands: About 60% of the projects are "isolated," meaning they don't seem to connect to anything else. They are like islands in the ocean, built from scratch without reusing existing parts.
- Tool Popularity: They could see exactly which tools are used together. For example, they saw that Xtext (a tool for creating text-based languages) is used in about 40% of projects, while some other tools are rarely used.
The Toolkit
The authors didn't just stop at the map. They built:
- A Dataset: A downloadable database containing all this information.
- An Interactive Tool: A website where anyone can explore this giant web, zoom in on specific projects, and see how they are connected.
Why Does This Matter?
Before this paper, asking questions like "How do engineers actually use these tools?" or "Which tools are becoming obsolete?" was like trying to guess the shape of a forest by looking at a single tree. Now, researchers have a satellite view of the entire forest.
They can finally answer questions like:
- "Are these projects being maintained, or are they abandoned?"
- "How do engineers reuse each other's work?"
- "What is the most common way to combine these tools?"
In short, this paper built the first Google Maps for Model-Driven Engineering, turning a chaotic pile of scattered projects into a navigable, connected world that researchers can finally study.
Drowning in papers in your field?
Get daily digests of the most novel papers matching your research keywords — with technical summaries, in your language.