← नवीनतम पेपर
💻 computer science

Connecting the Models: A Global Mega-model of MDE Projects on GitHub

यह शोध पत्र 7,400 से अधिक GitHub प्रोजेक्ट्स से 325,000 मॉडल-ड्रिवन इंजीनियरिंग (MDE) आर्टिफ़ेक्ट्स को माइन करके प्राप्त एक वैश्विक मेगा-मॉडल प्रस्तुत करता है, जिसका उद्देश्य MDE टूल्स और तकनीकों के वास्तविक उपयोग, संयोजन और रखरखाव के अनुभवजन्य विश्लेषण के लिए एक आधारभूत डेटासेट स्थापित करना है।

मूल लेखक: Jesús Sánchez Cuadrado

प्रकाशित 2026-06-30
📖 6 मिनट में पढ़ें🧠 गहराई से पढ़ें

मूल लेखक: Jesús Sánchez Cuadrado

मूल पेपर CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) के तहत लाइसेंस किया गया है। नीचे दिए गए पेपर की यह व्याख्या AI से तैयार की गई है। इसे लेखकों ने न तो लिखा है, न इसका समर्थन किया है। तकनीकी सटीकता के लिए मूल पेपर देखें। पूरा डिस्क्लेमर पढ़ें

सॉफ्टवेयर डेवलपमेंट की दुनिया की कल्पना एक विशाल, अराजक पुस्तकालय के रूप में करें। इस पुस्तकालय में, एक विशेष खंड है जिसे मॉडल-ड्रिवन इंजीनियरिंग (MDE) कहा जाता है। एक पारंपरिक प्रोग्रामर की तरह लाइन-दर-लाइन कोड लिखने के बजाय, MDE इंजीनियर "ब्लूप्रिंट" (मॉडेल्स) बनाते हैं और फिर उन ब्लूप्रिंट्स से वास्तविक सॉफ्टवेयर को स्वचालित रूप से उत्पन्न करने के लिए विशेष उपकरणों का उपयोग करते हैं।

वर्षों तक, यह सिद्धांत था कि ये इंजीनियर मानक उपकरणों (जैसे EMF, ATL, Xtext, आदि) के एक सेट का उपयोग करके शानदार, कस्टम-मेड वर्कशॉप बनाएंगे। विचार यह था कि वे इन उपकरणों को लेगो ब्रिक्स (Lego bricks) की तरह जोड़कर पूर्ण वातावरण बना लेंगे। लेकिन वास्तव में कोई नहीं जानता था कि क्या यह वास्तव में हो रहा है, या क्या वर्कशॉप टूट रही हैं, या इंजीनियर वास्तव में उन उपकरणों का उपयोग कैसे कर रहे हैं।

समस्या: बिना कैटलॉग वाला एक पुस्तकालय
इस शोध पत्र के शोधकर्ताओं ने महसूस किया कि जबकि GitHub (एक विशाल कोड-शेयरिंग वेबसाइट) पर हजारों MDE प्रोजेक्ट मौजूद हैं, वे सभी अलग-थलग थे। यह ऐसा था जैसे लाखों किताबें फर्श पर बिखरी हुई हों और उनके पास कोई कैटलॉग न हो। आप देख नहीं सकते थे कि:

  • कौन से प्रोजेक्ट्स दूसरों से संबंधित हैं।
  • इंजीनियर विभिन्न उपकरणों को कैसे मिला रहे हैं।
  • क्या वे नए ब्लूप्रिंट बनाने के बजाय पुराने ब्लूप्रिंट्स को कॉपी और पेस्ट कर रहे हैं।
  • कौन से उपकरण वास्तव में लोकप्रिय हैं।

समाधान: एक "मेगा-मैप" बनाना
लेखकों ने एक ग्लोबल मेगा-मॉडल (Global Mega-Model) बनाने का निर्णय लिया। इसे एक एकल मानचित्र के रूप में न सोचें, बल्कि एक विशाल, परस्पर जुड़े हुए वेब के रूप में सोचें जो इस पुस्तकालय के हर एक ब्लूप्रिंट, टूल और प्रोजेक्ट को जोड़ता है।

उन्होंने इसे यहाँ, चरण-दर-चरण किया:

1. महान खोज अभियान (डेटा संग्रह)

सबसे पहले, वे GitHub पर एक बड़े खोज अभियान (scavenger hunt) पर गए। उन्होंने केवल कोड नहीं खोजा; उन्होंने विशिष्ट "MDE आर्टिफैक्ट्स" की तलाश की।

  • उपमा: कल्पना कीजिए कि वे विशिष्ट प्रकार के लेगो ब्रिक्स की तलाश कर रहे थे: नीले बेसप्लेट्स (मेटा-मॉडेल्स), लाल कनेक्टर्स (ट्रांसफॉर्मेशन्स) और निर्देश मैनुअल (सिंटैक्स डेफिनिशन)।
  • उन्हें 7,436 प्रोजेक्ट्स मिले जिनमें 327,000 से अधिक विशिष्ट फाइलें थीं। उन्होंने इन प्रोजेक्ट्स की पूरी हिस्ट्री डाउनलोड की ताकि एक संपूर्ण चित्र प्राप्त किया जा सके।

2. ब्लूप्रिंट्स की रिवर्स इंजीनियरिंग (संबंधों की रिकवरी)

एक बार जब उनके पास फाइलें आ गईं, तो उन्हें यह समझना था कि वे एक साथ कैसे फिट होती हैं। यह कठिन था क्योंकि कनेक्शन हमेशा स्पष्ट रूप से लिखे नहीं गए थे।

  • उपमा: कल्पना कीजिए कि आपको एक रेसिपी (एक ट्रांसफॉर्मेशन फाइल) मिलती है जो कहती है "केक बनाएं," लेकिन इसमें सामग्री की सूची नहीं दी गई है। आपको यह पता लगाने के लिए कि इसमें मैदा और अंडे चाहिए, किचन काउंटर (कॉन्फ़िगरेशन फाइल्स) को देखना होगा या केक के प्रकार के आधार पर अनुमान लगाना होगा।
  • शोधकर्ताओं ने प्रत्येक प्रकार के टूल के लिए विशेष "निरीक्षक" (डिजिटल डिटेक्टिव्स) बनाए। इन डिटेक्टिव्स ने फाइलों को पढ़ा और पता लगाया:
    • यह टूल किस ब्लूप्रिंट का उपयोग करता है?
    • यह और कौन सी फाइलें इम्पोर्ट करता है?
    • यह क्या जनरेट करता है?
  • उन्होंने प्रत्येक प्रोजेक्ट को कनेक्शन के एक छोटे "वेब" में बदल दिया।

3. वेब्स को एक विशाल स्पाइडरवेब में मिलाना (ग्लोबल मेगा-मॉडल)

यह सबसे रचनात्मक हिस्सा है। सॉफ्टवेयर की दुनिया में, इन ब्लूप्रिंट्स के लिए कोई "ऐप स्टोर" नहीं है। यदि किसी इंजीनियर को एक विशिष्ट ब्लूप्रिंट की आवश्यकता होती है, तो वे अक्सर दूसरे प्रोजेक्ट से उसे कॉपी और पेस्ट कर लेते हैं।

  • उपमा: कल्पना कीजिए कि दो अलग-अलग शहरों के लोगों के पास एक ही "हाउस ब्लूप्रिंट" की एक प्रति है। एक सामान्य पुस्तकालय में, ये दो अलग-अलग किताबें होंगी। लेकिन शोधकर्ताओं ने महसूस किया: "हे, ये एक ही ब्लूप्रिंट हैं!"
  • उन्होंने समान-दिखने वाली प्रतियों (near-duplicates) को खोजने के लिए एक विशेष एल्गोरिदम का उपयोग किया। यदि दो प्रोजेक्ट्स में एक ही (या थोड़ा संशोधित) ब्लूप्रिंट था, तो उन्होंने उन्हें उनके विशाल मानचित्र में एक एकल नोड (single node) में मिला दिया।
  • इससे एक ग्लोबल मेगा-मॉडल तैयार हुआ: एक विशाल ग्राफ जहाँ हर अद्वितीय ब्लूप्रिंट एक बिंदु है, और प्रत्येक प्रोजेक्ट बिंदुओं का एक समूह है जो आपस में जुड़ा हुआ है।

उन्होंने क्या पाया? (परिणाम)

इस विशाल मानचित्र को देखकर, वे अंततः MDE दुनिया के "आकार" को देख सके:

  • "हब्स" (Hubs): उन्होंने Ecore (एक मानक ब्लूप्रिंट फॉर्मेट) जैसे विशाल केंद्रीय हब्स पाए, जिससे लगभग हर प्रोजेक्ट जुड़ता है। यह इस पुस्तकालय की "मेन स्ट्रीट" की तरह है।
  • "कॉपी-पेस्ट" संस्कृति: उन्होंने पाया कि बहुत अधिक डुप्लीकेशन मौजूद है। कई प्रोजेक्ट्स दूसरों की नकल हैं जिनमें छोटे बदलाव किए गए हैं। यह सुझाव देता है कि MDE इंजीनियर अपने काम को ठीक से साझा करने के लिए संघर्ष कर रहे हैं क्योंकि उनके पास निर्भरताओं (dependencies) को प्रबंधित करने के लिए कोई "पैकेज मैनेजर" (जैसे ऐप स्टोर) नहीं है।
  • द्वीप (Islands): लगभग 60% प्रोजेक्ट "अलग-थलग" हैं, जिसका अर्थ है कि वे किसी भी चीज़ से जुड़े हुए नहीं दिखते। वे समुद्र में द्वीपों की तरह हैं, जिन्हें मौजूदा हिस्सों का पुन: उपयोग करने के बजाय शून्य से बनाया गया है।
  • टूल की लोकप्रियता: वे देख सके कि कौन से टूल्स एक साथ उपयोग किए जाते हैं। उदाहरण के लिए, उन्होंने देखा कि Xtext (टेक्स्ट-आधारित भाषाएं बनाने का एक टूल) लगभग 40% प्रोजेक्ट्स में उपयोग किया जाता है, जबकि कुछ अन्य टूल्स शायद ही कभी उपयोग किए जाते हैं।

टूलकिट

लेखकों ने केवल मानचित्र बनाकर ही नहीं रुक गए। उन्होंने बनाया:

  1. एक डेटासेट: सारा जानकारी रखने वाला एक डाउनलोड करने योग्य डेटाबेस।
  2. एक इंटरैक्टिव टूल: एक वेबसाइट जहाँ कोई भी इस विशाल वेब को एक्सप्लोर कर सकता है, विशिष्ट प्रोजेक्ट्स को ज़ूम इन कर सकता है, और देख सकता है कि वे कैसे जुड़े हुए हैं।

यह क्यों महत्वपूर्ण है?

इस शोध पत्र से पहले, "इंजीनियर वास्तव में इन उपकरणों का उपयोग कैसे करते हैं?" या "कौन से उपकरण अप्रचलित (obsolete) हो रहे हैं?" जैसे प्रश्न पूछना एक अकेले पेड़ को देखकर पूरे जंगल के आकार का अनुमान लगाने जैसा था। अब, शोधकर्ताओं के पास पूरे जंगल का सैटेलाइट व्यू है।

वे अब इन प्रश्नों के उत्तर दे सकते हैं:

  • "क्या ये प्रोजेक्ट्स मेंटेन किए जा रहे हैं, या इन्हें छोड़ दिया गया है?"
  • "इंजीनियर एक-दूसरे के काम का पुन: उपयोग कैसे करते हैं?"
  • "टूल्स को मिलाने का सबसे आम तरीका क्या है?"

संक्षेप में, इस पेपर ने मॉडल-ड्रिवन इंजीनियरिंग के लिए पहला गूगल मैप्स बनाया, जिसने बिखरे हुए प्रोजेक्ट्स के अराजक ढेर को एक नेविगेबल, जुड़े हुए संसार में बदल दिया जिसका अध्ययन शोधकर्ता अब कर सकते हैं।

अपने क्षेत्र के पेपरों की भीड़ में उलझे हुए हैं?

आपके रिसर्च कीवर्ड से मेल खाने वाले सबसे नए और अलग सोच वाले पेपरों का रोज़ाना Digest पाएँ—तकनीकी सारांश के साथ, आपकी भाषा में।

Digest आज़माएँ →