एक्सम (प्रोग्रामिंग भाषा)

From Vigyanwiki
Revision as of 12:41, 26 May 2023 by alpha>Indicwiki (Created page with "{{Multiple issues| {{notability|Products|date=February 2014}} {{primary sources|date=February 2014}} }} {{short description|Domain specific concurrent programming language ori...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Axum
File:Axum Banner.png
DeveloperMicrosoft
पहली प्रस्तुतिMay 8, 2009
Stable release
Community Technology Preview / May 8, 2009 (2009-05-08)
प्लेटफॉर्मx86, x86-64 and Itanium
ओएसWindows XP
Windows Server 2003
Windows Vista
Windows Server 2008
Windows 7
लाइसेंसClosed source
वेबसाइटAxum at DevLabs

एक्सम (पहले कोडनेम मेस्ट्रो) एक डोमेन-विशिष्ट भाषा है | डोमेन-विशिष्ट समवर्ती प्रोग्रामिंग भाषा, अभिनेता मॉडल पर आधारित है, जो माइक्रोसॉफ्ट द्वारा सक्रिय विकास के तहत थी[1] 2009 और 2011 के बीच।[2] यह .NET Framework|.NET सामान्य भाषा रनटाइम पर आधारित एक ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग |ऑब्जेक्ट-ओरिएंटेड लैंग्वेज है, जिसमें C (प्रोग्रामिंग लैंग्वेज)-जैसे सिंटैक्स का उपयोग किया जाता है, जो एक डोमेन-विशिष्ट भाषा होने के नाते, भागों के विकास के लिए अभिप्रेत है। एक सॉफ़्टवेयर एप्लिकेशन जो समवर्ती के लिए उपयुक्त है। लेकिन इसमें पर्याप्त सामान्य-उद्देश्य वाले निर्माण होते हैं जिन्हें समवर्ती घटकों के अनुक्रमिक भागों के लिए एक सामान्य-उद्देश्य प्रोग्रामिंग भाषा (जैसे सी शार्प (प्रोग्रामिंग भाषा) | सी #) पर स्विच करने की आवश्यकता नहीं होती है।[1]

एक्सम में प्रोग्रामिंग का मुख्य मुहावरा एक एजेंट (या एक अभिनेता) है, जो एक अलग इकाई है जो अन्य एजेंटों के साथ समानांतर में निष्पादित होता है।[3] एक्सम की भाषा में, इसे अलग आइसोलेशन डोमेन में क्रियान्वित करने वाले एजेंटों के रूप में संदर्भित किया जाता है;[3]एक डोमेन के भीतर तत्काल वस्तुओं को दूसरे से सीधे एक्सेस नहीं किया जा सकता है।[4] एजेंट शिथिल रूप से युग्मित हैं (यानी, एजेंटों के बीच निर्भरता की संख्या न्यूनतम है) और मेमोरी जैसे संसाधनों को साझा नहीं करते हैं (सी शार्प (प्रोग्रामिंग लैंग्वेज) के साझा मेमोरी (इंटरप्रोसेस कम्युनिकेशन) मॉडल के विपरीत। सी# और इसी तरह की भाषाएं); इसके बजाय एक संदेश देना मॉडल का उपयोग किया जाता है।[3]एजेंटों को समन्वयित करने या किसी एजेंट को दूसरे के संसाधनों का अनुरोध करने के लिए, एजेंट को एक स्पष्ट संदेश भेजा जाना चाहिए। एक्सम इसे सुविधाजनक बनाने के लिए चैनल प्रदान करता है।

एजेंट उदाहरणों के बीच संवाद करने के लिए चैनल को दिशात्मक मार्ग के रूप में माना जा सकता है। एक चैनल ऑब्जेक्ट के सदस्य कार्य, एक एजेंट उदाहरण के लिए बाध्य होने के बाद, इसके साथ संवाद करने के लिए उपयोग किया जा सकता है। एक चैनल में इनपुट और आउटपुट पोर्ट होते हैं, जो कतार (डेटा संरचना) होते हैं जिनका उपयोग किसी एजेंट को डेटा भेजने या किसी से डेटा प्राप्त करने के लिए किया जाता है। एजेंटों के बीच संचार को समन्वयित करने के लिए, एक्सम प्रत्येक चैनल को संचार के लिए उपयोगकर्ता परिभाषित प्रोटोकॉल रखने की अनुमति देता है। प्रोटोकॉल को राज्य मशीन के रूप में परिभाषित किया गया है।[5] एक चैनल पर भेजे गए डेटा को एक निश्चित पूर्व-निर्धारित स्कीमा के अनुरूप वैकल्पिक रूप से प्रतिबंधित किया जा सकता है। कंपाइलर और रनटाइम स्कीमा के अनुरूपता को लागू करेंगे।[6] हुड के तहत, एक स्कीमा को क्रमबद्धता .NET कक्षा (कम्प्यूटिंग) में अनुवादित किया जाता है जिसमें केवल गुण और साइड इफेक्ट-मुक्त विधियां होती हैं।[7] एक्सम परियोजना काम कर रहे माइक्रोसॉफ्ट विजुअल स्टूडियो एकीकरण के साथ एक प्रोटोटाइप की स्थिति तक पहुंच गई।[8] Microsoft ने जनता के लिए Axum का सामुदायिक प्रौद्योगिकी पूर्वावलोकन उपलब्ध कराया था,[9] लेकिन इसे तब से हटा दिया गया है। हालाँकि Microsoft ने Axum को एक परियोजना में नहीं बदलने का निर्णय लिया,[2]एक्सम के पीछे के कुछ विचार टीपीएल डेटाफ्लो में .नेट 4.5 में उपयोग किए जाते हैं।

संदर्भ

  1. 1.0 1.1 "Maestro: A Managed Domain Specific Language For Concurrent Programming". Channel 9. Archived from the original on 7 April 2009. Retrieved 2009-04-16.
  2. 2.0 2.1 "The State of Axum". Niklas Gustafsson. Retrieved 2011-02-28.
  3. 3.0 3.1 3.2 Philips Joshua. "We haven't forgotten about other models – honest!". MSDN blogs. Archived from the original on 8 May 2009. Retrieved 2009-04-16.
  4. Niklas Gustafsson. "Isolation in Maestro". MSDN blogs. Archived from the original on 8 May 2009. Retrieved 2009-04-16.
  5. Niklas Gustafsson. "Channels". MSDN blogs. Archived from the original on 26 April 2009. Retrieved 2009-04-16.
  6. Joshua Philips. "Axum". Lang.NET Presentation. Archived from the original on 21 April 2009. Retrieved 2009-04-20.{{cite web}}: CS1 maint: unfit URL (link)
  7. Niklas Gustafsson. "Objects in Axum". MSDN Blogs. Archived from the original on 26 April 2009. Retrieved 2009-04-20.
  8. "Axum: Another piece of Microsoft's parallel programming puzzle". CNet blogs. Archived from the original on 17 April 2009. Retrieved 2009-04-16.
  9. "Axum". MSDN DevLabs. Archived from the original on 11 May 2009. Retrieved 2009-05-09.


बाहरी संबंध