संयुक्त-गणना: Difference between revisions
No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
ज्वाइन-कैलकुलस [[INRIA|आई एन आर आई ए]] में विकसित एक [[ प्रक्रिया गणना |प्रक्रिया गणना]] है। जॉइन-कैलकुलस को वितरित प्रोग्रामिंग भाषाओं के डिजाइन के लिए एक औपचारिक आधार प्रदान करने के लिए विकसित किया गया था, और इसलिए जानबूझकर अन्य प्रक्रिया गणना में पाए जाने वाले संचार निर्माणों से बचा जाता है, जैसे कि [[तुल्यकालिक मिलन स्थल]] संचार, जो एक वितरित | ज्वाइन-कैलकुलस [[INRIA|आई एन आर आई ए]] में विकसित एक [[ प्रक्रिया गणना |प्रक्रिया गणना]] है। जॉइन-कैलकुलस को वितरित प्रोग्रामिंग भाषाओं के डिजाइन के लिए एक औपचारिक आधार प्रदान करने के लिए विकसित किया गया था, और इसलिए जानबूझकर अन्य प्रक्रिया गणना में पाए जाने वाले संचार निर्माणों से बचा जाता है, जैसे कि [[तुल्यकालिक मिलन स्थल]] संचार, जो एक वितरित व्यवस्था में लागू करना दुष्कर है।<ref>{{cite journal | author=Cedric Fournet, [[Georges Gonthier]] | title=रिफ्लेक्सिव चैम और जॉइन-कैलकुलस| year = 1995 | url=http://citeseer.ist.psu.edu/fournet95reflexive.html}}, pg. 1</ref> इस सीमा के बावजूद, ज्वाइन-कैलकुलस पूर्ण π-कैलकुलस के समान अभिव्यंजक है। ज्वाइन-कैलकुलस में π-कैलकुलस के एनकोडिंग, और जो इसके विपरीत भी संभव है, प्रदर्शित किए गए हैं।<ref>{{cite journal | author=Cedric Fournet, Georges Gonthier | title=रिफ्लेक्सिव चैम और जॉइन-कैलकुलस| year = 1995 | url=http://citeseer.ist.psu.edu/fournet95reflexive.html}}, pg. 2</ref> | ||
ज्वाइन-कैलकुलस प्रक्रिया कैलकुली के | ज्वाइन-कैलकुलस प्रक्रिया कैलकुली के π-कैलकुलस परिवार का सदस्य है, और इसके मूल में, कई मजबूत प्रतिबंधों के साथ एक अतुल्यकालिक π-कैलकुलस माना जा सकता है: | ||
*क्षेत्र प्रतिबंध, अभिग्रहण, और प्रतिरूपित अभिग्रहण को वाक्यात्मक रूप से एक निर्माण, परिभाषा में विलय कर दिया गया है; | *क्षेत्र प्रतिबंध, अभिग्रहण, और प्रतिरूपित अभिग्रहण को वाक्यात्मक रूप से एक ही निर्माण, परिभाषा में विलय कर दिया गया है; | ||
* संचार केवल परिभाषित नामों पर होता है; | * संचार केवल परिभाषित नामों पर होता है; | ||
* प्रत्येक परिभाषित नाम के लिए वास्तव में एक | * प्रत्येक परिभाषित नाम के लिए वास्तव में एक प्रतिकृति अभिग्रहण होता है। | ||
हालाँकि, प्रोग्रामिंग के लिए एक भाषा के रूप में, जॉइन-कैलकुलस π-कैलकुलस पर कम से कम एक सुविधा प्रदान करता है - अर्थात् | हालाँकि, प्रोग्रामिंग के लिए एक भाषा के रूप में, जॉइन-कैलकुलस π-कैलकुलस पर कम से कम एक सुविधा प्रदान करता है - अर्थात् बहु-मार्ग जॉइन पैटर्न का उपयोग, एक साथ कई चैनलों से संदेशों के विरुद्ध मिलान करने की क्षमता।<ref>{{Cite web |last=Petricek |first=Tomas |title=जॉइनैड्स (IV.) - जॉइन कैलकुलस का उपयोग करके समवर्ती|url=http://tomasp.net/blog/joinads-join-calculus.aspx/ |access-date=2023-01-24 |website=tomasp.net}}</ref> | ||
== कार्यान्वयन == | == कार्यान्वयन == | ||
Revision as of 17:30, 2 June 2023
ज्वाइन-कैलकुलस आई एन आर आई ए में विकसित एक प्रक्रिया गणना है। जॉइन-कैलकुलस को वितरित प्रोग्रामिंग भाषाओं के डिजाइन के लिए एक औपचारिक आधार प्रदान करने के लिए विकसित किया गया था, और इसलिए जानबूझकर अन्य प्रक्रिया गणना में पाए जाने वाले संचार निर्माणों से बचा जाता है, जैसे कि तुल्यकालिक मिलन स्थल संचार, जो एक वितरित व्यवस्था में लागू करना दुष्कर है।[1] इस सीमा के बावजूद, ज्वाइन-कैलकुलस पूर्ण π-कैलकुलस के समान अभिव्यंजक है। ज्वाइन-कैलकुलस में π-कैलकुलस के एनकोडिंग, और जो इसके विपरीत भी संभव है, प्रदर्शित किए गए हैं।[2]
ज्वाइन-कैलकुलस प्रक्रिया कैलकुली के π-कैलकुलस परिवार का सदस्य है, और इसके मूल में, कई मजबूत प्रतिबंधों के साथ एक अतुल्यकालिक π-कैलकुलस माना जा सकता है:
- क्षेत्र प्रतिबंध, अभिग्रहण, और प्रतिरूपित अभिग्रहण को वाक्यात्मक रूप से एक ही निर्माण, परिभाषा में विलय कर दिया गया है;
- संचार केवल परिभाषित नामों पर होता है;
- प्रत्येक परिभाषित नाम के लिए वास्तव में एक प्रतिकृति अभिग्रहण होता है।
हालाँकि, प्रोग्रामिंग के लिए एक भाषा के रूप में, जॉइन-कैलकुलस π-कैलकुलस पर कम से कम एक सुविधा प्रदान करता है - अर्थात् बहु-मार्ग जॉइन पैटर्न का उपयोग, एक साथ कई चैनलों से संदेशों के विरुद्ध मिलान करने की क्षमता।[3]
कार्यान्वयन
=== ज्वाइन-कैलकुलस === पर आधारित भाषाएं
जॉइन-कैलकुलस प्रोग्रामिंग लैंग्वेज जॉइन-कैलकुलस प्रोसेस कैलकुलस पर आधारित एक नई भाषा है। इसे OCaml में लिखे गए दुभाषिया के रूप में लागू किया गया है, और स्थिर रूप से टाइप की गई वितरित प्रोग्रामिंग, पारदर्शी दूरस्थ संचार, एजेंट-आधारित गतिशीलता और कुछ विफलता-पहचान का समर्थन करता है।[4]
- हालांकि स्पष्ट रूप से ज्वाइन-कैलकुलस पर आधारित नहीं है, CLIPS की नियम प्रणाली इसे लागू करती है यदि हर नियम ट्रिगर होने पर इसके इनपुट को हटा देता है (निकाल दिए जाने पर प्रासंगिक तथ्यों को वापस ले लेता है)।
ज्वाइन-कैलकुलस के कई कार्यान्वयन मौजूदा प्रोग्रामिंग भाषाओं के विस्तार के रूप में किए गए थे:
- जोकैमल ओकैमल का एक संस्करण है जो जॉइन-कैलकुलस प्रिमिटिव के साथ विस्तारित है
- पॉलीफोनिक सी शार्प|पॉलीफोनिक सी# और इसके उत्तराधिकारी सीω एक्सटेंड सी शार्प (प्रोग्रामिंग भाषा)|सी#
- एमसी # और समांतर सी # पॉलीफोनिक सी # का विस्तार करें
- जावा में शामिल हों जावा का विस्तार (प्रोग्रामिंग भाषा)
- एक समवर्ती मूल प्रस्ताव जो जॉइन-कैलकुलस का उपयोग करता है
- JErlang (J जुड़ने के लिए है, Erjang JVM के लिए Erlang है)[5]
अन्य प्रोग्रामिंग भाषाओं में एम्बेडिंग
ये कार्यान्वयन अंतर्निहित प्रोग्रामिंग भाषा को नहीं बदलते हैं लेकिन एक कस्टम लाइब्रेरी या डीएसएल के माध्यम से कैलकुलस संचालन में शामिल होते हैं:
- स्कालाजॉइन्स और Chymyst पुस्तकालय स्काला (प्रोग्रामिंग भाषा) में हैं
- JoinHs Einar Karttunen द्वारा और syallop/Join-Language सैमुअल येलोप द्वारा हास्केल (प्रोग्रामिंग) में ज्वाइन कैलकुलस के लिए DSL हैं भाषा)
- Joinads - F Sharp (प्रोग्रामिंग लैंग्वेज) में ज्वाइन कैलकुलस के विभिन्न कार्यान्वयन | F#
- कोकोजॉइन आईओएस और मैक ओएस एक्स के लिए उद्देश्य सी में एक प्रायोगिक कार्यान्वयन है
- जॉइन पायथन लाइब्रेरी पायथन 3 में है
- सी ++ बूस्ट के माध्यम से[6] (2009 से बूस्ट के लिए, ca. v. 40, वर्तमान (दिसंबर '19) 72 है)।
संदर्भ
- ↑ Cedric Fournet, Georges Gonthier (1995). "रिफ्लेक्सिव चैम और जॉइन-कैलकुलस".
{{cite journal}}
: Cite journal requires|journal=
(help), pg. 1 - ↑ Cedric Fournet, Georges Gonthier (1995). "रिफ्लेक्सिव चैम और जॉइन-कैलकुलस".
{{cite journal}}
: Cite journal requires|journal=
(help), pg. 2 - ↑ Petricek, Tomas. "जॉइनैड्स (IV.) - जॉइन कैलकुलस का उपयोग करके समवर्ती". tomasp.net. Retrieved 2023-01-24.
- ↑ Cedric Fournet, Georges Gonthier (2000). "The Join Calculus: A Language for Distributed Mobile Programming": 268–332.
{{cite journal}}
: Cite journal requires|journal=
(help) - ↑ "JErlang: Erlang with Joins". Archived from the original on 2017-12-08. Retrieved 2015-04-18.
- ↑ Yigong Liu - Join-Asynchronous Message Coordination and Concurrency Library
बाहरी संबंध
- INRIA, Join Calculus homepage
- Microsoft Research, The Join Calculus: a Language for Distributed Mobile Programming