जेटब्रेन्स एमपीएस

From Vigyanwiki
मेटा प्रोग्रामिंग सिस्टम
Stable release
()
Operating systemक्रॉस-प्लेटफॉर्म

जेटब्रेन्स एमपीएस (मेटा प्रोग्रामिंग सिस्टम) जेटब्रेन्स द्वारा विकसित एक भाषा कार्यक्षेत्र है। एमपीएस डोमेन-विशिष्ट भाषाओं (डीएसएल) की रचना करने का एक उपकरण है। यह प्रोजेक्शनल संपादन का उपयोग करता है जो उपयोगकर्ताओं को भाषा पार्सर की सीमाओं को पार करने और तालिकाओं तथा आरेखों वाले डीएसएल संपादकों का निर्माण करने की अनुमति देता है।[1]
यह भाषा-उन्मुख प्रोग्रामिंग को प्रयुक्त करता है।[citation needed] एमपीएस ऐसी भाषाओं के लिए भाषा परिभाषा, एक भाषा कार्यक्षेत्र और आईडीई के लिए एक वातावरण है।[2][3][4]

रचना योग्य भाषाएँ

विभिन्न डोमेन के डेवलपर्स सामान्य प्रयोजन प्रोग्रामिंग भाषाओं में डोमेन-विशिष्ट भाषा एक्सटेंशन से लाभ उठा सकते हैं। उदाहरण के लिए, वित्तीय अनुप्रयोगों के साथ कार्य करने वाले जावा डेवलपर्स को मौद्रिक मूल्यों के अंतर्निहित समर्थन से लाभ हो सकता है। पारंपरिक टेक्स्ट-आधारित भाषाएँ टेक्स्ट अस्पष्ट समस्याओं के अधीन हैं जो ऐसे एक्सटेंशन को जटिल बनाती हैं।

एमपीएस रचनायोग्य भाषा परिभाषाओं का समर्थन करता है। इसका अर्थ यह है कि भाषाओं को विस्तृत और एम्बेड किया जा सकता है तथा इन एक्सटेंशन का उपयोग एमपीएस में एक ही प्रोग्राम में कार्य करेगा। उदाहरण के लिए, यदि जावा को संग्रहों के लिए बेहतर सिंटैक्स के साथ विस्तृत किया जाता है और पुनः तारीखों के लिए बेहतर सिंटैक्स के साथ विस्तृत किया जाता है तो ये एक्सटेंशन एक साथ अच्छी तरह से कार्य करेंगे।

एमपीएस प्रत्यक्ष रूप से सामान्य वाक्य रचना (सिंटैक्स) ट्री के साथ कार्य करके व्याकरण की अस्पष्ट समस्याओं को हल करता है। इस प्रकार की ट्री को संपादित करने के लिए एक टेक्स्ट-जैसे प्रोजेक्शनल संपादक का उपयोग किया जाता है।[5][6]

पुन: प्रयोज्य भाषा अवसंरचना

एमपीएस एक पुन: प्रयोज्य भाषा अवसंरचना प्रदान करता है जिसे भाषा परिभाषा भाषाओं के साथ कॉन्फ़िगर किया गया है। एमपीएस अनेक आईडीई सेवाएं स्वतः संपादक, कोड समापन, उपयोग खोजना आदि भी प्रदान करता है।

उपस्थित भाषाएँ

  • आधार भाषा - 99% जावा (प्रोग्रामिंग लैंग्वेज) को एमपीएस के साथ पुन: कार्यान्वित किया गया। इस भाषा के अधिक विस्तार (एक्स्टेन्सन) हैं
    • संग्रह भाषा
    • दिनांकित भाषा
    • क्लोजर भाषा
    • नियमित व्यंजक भाषा (रेगुलर एक्सप्रेशन लैंग्वेज)
  • भाषा परिभाषा भाषाएँ - ये भाषाएँ स्वयं के साथ कार्यान्वित की जाती हैं, अर्थात बूटस्ट्रैप

एमपीएस अनुप्रयोग

एमबीईडीडीआर

एमबीईडीडीआर एमपीएस पर आधारित एक एम्बेडेड विकास प्रणाली है। इसमें एम्बेडेड विकास और औपचारिक विधियों के अनुरूप भाषाएँ हैं:[7]

  • कोर सी भाषा
  • अवयव
  • भौतिक इकाइयाँ
  • निर्दिष्ट मशीनें (स्टेट मशीन)

यूट्रैक

अक्टूबर वर्ष 2009 में, जेटब्रेन्स ने यूट्रैक बग ट्रैकिंग सिस्टम प्रस्तुत किया, जो एमपीएस के साथ विकसित प्रथम वाणिज्यिक सॉफ्टवेयर उत्पाद था।[8]

रियलैक्सी संपादक

अप्रैल वर्ष 2010 में, रीयलैक्सी एक्शनस्क्रिप्ट एडिटर बीटा प्रस्तुत किया गया था, जो एमपीएस प्लेटफॉर्म पर आधारित प्रथम वाणिज्यिक आईडीई था।

पीईओपीएल

पीईओपीएल एमपीएस में संपादित सॉफ्टवेयर उत्पाद लाइन अभियान्त्रिकी के लिए एक उपकरण है।[9]

जीडीएफ (गेमिफिकेशन डिजाइन फ्रेमवर्क)

GDF गेमफुल एप्लिकेशन को रूपित और परिनियोजित करने के लिए एक रूपरेखा है। जीडीएफ में डोमेन-विशिष्ट भाषाएं सम्मिलित हैं जो गेमिफिकेशन इंजन पर चलने वाले कार्यान्वयन कोड की दिशा में अमूर्तता के उच्च स्तर से एप्लिकेशन परिभाषाओं के चरणबद्ध परिशोधन की अनुमति देती हैं।[10]

जेटब्रेन्स से जीडीएफ के व्यष्टि अध्ययन के अनुसार,[11] एमपीएस का चयन तीन मुख्य कारणों से किया गया था: टेक्स्ट-आधारित डीएसएल प्रदान करने की आवश्यकता, अमूर्त परतों के मध्य संगतता प्रबंधन को संदेश देने वाले भाषा एक्स्टेन्सन प्रक्रिया की उपलब्धता तथा कार्यान्वयन कोड को स्वचालित रूप से प्राप्त करने के लिए जेनरेटर का नियम।

लाइसेंसिंग

एमपीएस स्रोत कोड अपाचे लाइसेंस के अंतर्गत प्रस्तुत किया गया है।

यह भी देखें

संदर्भ

  1. "What is MPS?". अपने स्वयं के डीएसएल डिज़ाइन करें
  2. Martin Fowler. "Language Workbenches: The Killer-App for Domain Specific Languages?".
  3. Martin Fowler. सॉफ्टवेयर.html "इरादतन सॉफ्टवेयर". {{cite web}}: Check |url= value (help)
  4. Fabien Campagne (2014). "The MPS Language Workbench: Volume I."
  5. Srini Penchikala. "जेटब्रेन मेटा प्रोग्रामिंग सिस्टम भाषा उन्मुख प्रोग्रामिंग और डीएसएल का समर्थन करता है".
  6. Sergey Dmitriev. "Language Oriented Programming: The Next Programming Paradigm".
  7. "mbeddr आधिकारिक साइट".
  8. Charles Humble (2009-10-15). "भाषा बदले बिना जावा का विकास".
  9. "PEoPL | Projectional Editing of Product Lines". peopl.de (in English). Retrieved 2017-06-19.
  10. Bucchiarone, Antonio; Cicchetti, Antonio; Marconi, Annapaola (September 2019). "गेमफुल सिस्टम को डिजाइन और तैनात करने के लिए बहु-स्तरीय मॉडलिंग का उपयोग करना". 2019 ACM/IEEE 22nd International Conference on Model Driven Engineering Languages and Systems (MODELS): 34–44. doi:10.1109/MODELS.2019.00-17. ISBN 978-1-7281-2536-7. S2CID 208206029.
  11. "एमपीएस और जीडीएफ केस स्टडी" (PDF).


बाहरी संबंध