संयुक्त-गणना: Difference between revisions

From Vigyanwiki
No edit summary
 
(9 intermediate revisions by 4 users not shown)
Line 1: Line 1:
ज्वाइन-कैलकुलस [[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>
संयुक्त-गणना [[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>
चूंकि, प्रोग्रामिंग के लिए एक भाषा के रूप में, संयुक्त-गणना π-कलन पर कम से कम एक सुविधा प्रदान करता है - अर्थात् बहु-मार्ग संयुक्त पैटर्न का उपयोग, एक साथ कई चैनलों से संदेशों के विरुद्ध मिलान करने की क्षमता है।<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>
== कार्यान्वयन ==
== कार्यान्वयन ==


=== ज्वाइन-कैलकुलस पर आधारित भाषाएँ ===
=== संयुक्त-गणना पर आधारित भाषाएँ ===
जॉइन-कैलकुलस प्रोग्रामिंग भाषा जॉइन-कैलकुलस प्रोसेस कैलकुलस पर आधारित एक नई भाषा है। इसे [[OCaml|ओकैमल]] (प्रोग्रामिंग भाषा) में लिखे गए दुभाषिया के रूप में लागू किया गया है, और स्थिर रूप से टाइप किए गए वितरित प्रोग्रामिंग, पारदर्शी दूरस्थ संचार, प्रतिनिधि-आधारित गतिशीलता और कुछ विफलता-पहचान का समर्थन करता है।<ref>{{cite journal | author=Cedric Fournet, Georges Gonthier | title=The Join Calculus: A Language for Distributed Mobile Programming | year = 2000 | pages=268–332 | url=https://www.microsoft.com/en-us/research/publication/join-calculus-language-distributed-mobile-programming/}}</ref>
संयुक्त-गणना प्रोग्रामिंग भाषा संयुक्त-गणना प्रोसेस कलन पर आधारित एक नई भाषा है। इसे [[OCaml|ओकैमल]] (प्रोग्रामिंग भाषा) में लिखे गए दुभाषिया के रूप में क्रियान्वित किया गया है, और स्थिर रूप से टाइप किए गए वितरित प्रोग्रामिंग, पारदर्शी दूरस्थ संचार, प्रतिनिधि-आधारित गतिशीलता और कुछ विफलता-पहचान का समर्थन करता है।<ref>{{cite journal | author=Cedric Fournet, Georges Gonthier | title=The Join Calculus: A Language for Distributed Mobile Programming | year = 2000 | pages=268–332 | url=https://www.microsoft.com/en-us/research/publication/join-calculus-language-distributed-mobile-programming/}}</ref>
* हालांकि स्पष्ट रूप से यह ज्वाइन-कैलकुलस पर आधारित नहीं है, [[CLIPS|क्लिप्स]] की नियम प्रणाली इसे लागू करती है यदि हर नियम ट्रिगर होने पर अपने इनपुट को हटा देता है (निकाल दिए जाने पर प्रासंगिक तथ्यों को वापस ले लेता है)।
* चूंकि स्पष्ट रूप से यह संयुक्त-गणना पर आधारित नहीं है, [[CLIPS|क्लिप्स]] की नियम प्रणाली इसे क्रियान्वित करती है यदि हर नियम ट्रिगर होने पर अपने इनपुट को हटा देता है (निकाल दिए जाने पर प्रासंगिक तथ्यों को वापस ले लेता है)।


ज्वाइन-कैलकुलस के कई कार्यान्वयन मौजूदा प्रोग्रामिंग भाषाओं के विस्तार के रूप में किए गए थे:
संयुक्त-गणना के कई कार्यान्वयन उपस्थिता प्रोग्रामिंग भाषाओं के विस्तार के रूप में किए गए थे:


* [[जोकैमल]],ओकैमल का एक संस्करण है जो जॉइन-कैलकुलस प्रिमिटिव के साथ विस्तारित है
* [[जोकैमल]],ओकैमल का एक संस्करण है जो संयुक्त-गणना प्रिमिटिव के साथ विस्तारित है
* पॉलीफोनिक C# और इसके उत्तराधिकारी Cω विस्तार C# (प्रोग्रामिंग भाषा)|
* पॉलीफोनिक C# और इसके उत्तराधिकारी Cω विस्तार C# (प्रोग्रामिंग भाषा)|
* MC# और समांतर C# पॉलीफोनिक C# का विस्तार करें
* MC# और समांतर C# पॉलीफोनिक C# का विस्तार करें
* जावा में शामिल हों जावा का विस्तार करता है  
* जावा में सम्मलित हों जावा का विस्तार करता है
* एक समवर्ती मूल प्रस्ताव जो जॉइन-कैलकुलस का उपयोग करता है
* एक समवर्ती मूल प्रस्ताव जो संयुक्त-गणना का उपयोग करता है
* जेएरलांग (जे ज्वाइन के लिए है, एर्जांग जेवीएम के लिए एरलैंग है)<ref>{{Cite web |url=http://www.doc.ic.ac.uk/~susan/jerlang/ |title=JErlang: Erlang with Joins |access-date=2015-04-18 |archive-url=https://web.archive.org/web/20171208175247/http://www.doc.ic.ac.uk/~susan/jerlang/ |archive-date=2017-12-08 |url-status=dead }}</ref>
* जेएरलांग (जे ज्वाइन के लिए है, एर्जांग जेवीएम के लिए एरलैंग है)<ref>{{Cite web |url=http://www.doc.ic.ac.uk/~susan/jerlang/ |title=JErlang: Erlang with Joins |access-date=2015-04-18 |archive-url=https://web.archive.org/web/20171208175247/http://www.doc.ic.ac.uk/~susan/jerlang/ |archive-date=2017-12-08 |url-status=dead }}</ref>
=== अन्य प्रोग्रामिंग भाषाओं में एम्बेडिंग ===
=== अन्य प्रोग्रामिंग भाषाओं में एम्बेडिंग ===


ये कार्यान्वयन अंतर्निहित प्रोग्रामिंग भाषा को नहीं बदलते हैं लेकिन एक कस्टम लाइब्रेरी या डीएसएल के माध्यम से कैलकुलस संचालन में शामिल होते हैं:
ये कार्यान्वयन अंतर्निहित प्रोग्रामिंग भाषा को नहीं बदलते हैं लेकिन एक कस्टम लाइब्रेरी या डीएसएल के माध्यम से गणना संचालन में सम्मलित होती हैं:


* स्कालाजॉइन्स और [https://github.com/Chymyst/Chymyst चाइमिस्ट] पुस्तकालय [[स्काला (प्रोग्रामिंग भाषा)]] में हैं
* स्कालाजॉइन्स और [https://github.com/Chymyst/Chymyst चाइमिस्ट] पुस्तकालय [[स्काला (प्रोग्रामिंग भाषा)]] में हैं
* ईनार कार्टुनेन द्वारा [http://joinhs.sourceforge.net/ ज्वाइनएचएस] और सैम्युअल यलोप द्वारा  [https://github.com/syallop/Join-Language सिलोप/ज्वाइ-भाषा] हास्केल में जॉइन कैलकुलस के लिए डीएसएल हैं
* ईनार कार्टुनेन द्वारा [http://joinhs.sourceforge.net/ ज्वाइनएचएस] और सैम्युअल यलोप द्वारा  [https://github.com/syallop/Join-Language सिलोप/ज्वाइ-भाषा] हास्केल में संयुक्त-गणना के लिए डीएसएल हैं
* जॉइनैड्स - F#(प्रोग्रामिंग लैंग्वेज) में ज्वाइन कैलकुलस के विभिन्न कार्यान्वयन
* जॉइनैड्स - F#(प्रोग्रामिंग लैंग्वेज) में संयुक्त-गणना के विभिन्न कार्यान्वयन
* कोकोजॉइन आईओएस और मैक ओएस एक्स के लिए [[ उद्देश्य सी |उद्देश्य सी]]  में एक प्रायोगिक कार्यान्वयन है
* कोकोजॉइन आईओएस और मैक ओएस एक्स के लिए [[ उद्देश्य सी |उद्देश्य सी]]  में एक प्रायोगिक कार्यान्वयन है
* जॉइन पायथन लाइब्रेरी [[पायथन 3]] में है
* संयुक्त पायथन लाइब्रेरी [[पायथन 3]] में है
* C++ बूस्ट के माध्यम से<ref>[http://channel.sourceforge.net/boost_join/libs/join/doc/boost_join_design.html Yigong Liu - Join-Asynchronous Message Coordination and Concurrency Library]</ref> (2009 से बूस्ट के लिए, ca. v. 40, वर्तमान (दिसंबर '19) 72 है)।
* C++ बूस्ट के माध्यम से<ref>[http://channel.sourceforge.net/boost_join/libs/join/doc/boost_join_design.html Yigong Liu - Join-Asynchronous Message Coordination and Concurrency Library]</ref> (2009 से बूस्ट के लिए, ca. v. 40, वर्तमान (दिसंबर '19) 72 है)।


Line 36: Line 36:
==बाहरी संबंध==
==बाहरी संबंध==
* आईएनआरआईए, [http://moscova.inria.fr/join/index.shtml कैलकुलस होमपेज से जुड़ें]
* आईएनआरआईए, [http://moscova.inria.fr/join/index.shtml कैलकुलस होमपेज से जुड़ें]
* माइक्रोसॉफ्ट रिसर्च, [https://www.microsoft.com/en-us/research/wp-content/uploads/2017/01/join-tutorial.pdf द जॉइन कैलकुलस: डिस्ट्रीब्यूटेड मोबाइल प्रोग्रामिंग के लिए एक भाषा]
* माइक्रोसॉफ्ट रिसर्च, [https://www.microsoft.com/en-us/research/wp-content/uploads/2017/01/join-tutorial.pdf द संयुक्त-गणना: डिस्ट्रीब्यूटेड मोबाइल प्रोग्रामिंग के लिए एक भाषा]
<!-- this is mostly related to parallel programming -->
<!-- this is mostly related to parallel programming -->


{{Concurrent computing}}
{{Concurrent computing}}
{{DEFAULTSORT:Join-calculus}}
{{DEFAULTSORT:Join-calculus}}
[[Category: प्रक्रिया गणना]]


 
[[Category:CS1 errors]]
 
[[Category:Collapse templates|Join-calculus]]
[[Category: Machine Translated Page]]
[[Category:Created On 26/05/2023|Join-calculus]]
[[Category:Created On 26/05/2023]]
[[Category:Machine Translated Page|Join-calculus]]
[[Category:Navigational boxes| ]]
[[Category:Navigational boxes without horizontal lists|Join-calculus]]
[[Category:Pages with script errors|Join-calculus]]
[[Category:Sidebars with styles needing conversion|Join-calculus]]
[[Category:Template documentation pages|Documentation/doc]]
[[Category:Templates Vigyan Ready]]
[[Category:Templates generating microformats|Join-calculus]]
[[Category:Templates that are not mobile friendly|Join-calculus]]
[[Category:Templates using TemplateData|Join-calculus]]
[[Category:Wikipedia metatemplates|Join-calculus]]
[[Category:प्रक्रिया गणना|Join-calculus]]

Latest revision as of 16:34, 9 June 2023

संयुक्त-गणना आई एन आर आई ए में विकसित एक प्रक्रिया गणना है। संयुक्त-गणना को वितरित प्रोग्रामिंग भाषाओं के अभिकल्पना के लिए एक औपचारिक आधार प्रदान करने के लिए विकसित किया गया था, और इसलिए निश्चयपूर्वक अन्य प्रक्रिया गणना में पाए जाने वाले संचार निर्माणों से बचा जाता है, जैसे कि तुल्यकालिक मिलन स्थल संचार, जो एक वितरित व्यवस्था में क्रियान्वित करना दुष्कर है।[1] इस सीमा के अतिरिक्त, संयुक्त-गणना पूर्ण π-कलन के समान अभिव्यंजक है। संयुक्त-गणना में π-कलन के एनकोडिंग, जो इसके विपरीत भी संभव है, प्रदर्शित किए गए हैं।[2]

संयुक्त-गणना प्रक्रिया कलन के π-कलन परिवार का सदस्य है, और इसके मूल में, कई स्थिर प्रतिबंधों के साथ एक अतुल्यकालिक π-कलन माना जा सकता है:

  • क्षेत्र प्रतिबंध, अभिग्रहण, और प्रतिरूपित अभिग्रहण को वाक्यात्मक रूप से एक ही निर्माण, परिभाषा में विलय कर दिया गया है;
  • संचार केवल परिभाषित नामों पर होता है;
  • प्रत्येक परिभाषित नाम के लिए वास्तव में एक प्रतिकृति अभिग्रहण होता है।

चूंकि, प्रोग्रामिंग के लिए एक भाषा के रूप में, संयुक्त-गणना π-कलन पर कम से कम एक सुविधा प्रदान करता है - अर्थात् बहु-मार्ग संयुक्त पैटर्न का उपयोग, एक साथ कई चैनलों से संदेशों के विरुद्ध मिलान करने की क्षमता है।[3]

कार्यान्वयन

संयुक्त-गणना पर आधारित भाषाएँ

संयुक्त-गणना प्रोग्रामिंग भाषा संयुक्त-गणना प्रोसेस कलन पर आधारित एक नई भाषा है। इसे ओकैमल (प्रोग्रामिंग भाषा) में लिखे गए दुभाषिया के रूप में क्रियान्वित किया गया है, और स्थिर रूप से टाइप किए गए वितरित प्रोग्रामिंग, पारदर्शी दूरस्थ संचार, प्रतिनिधि-आधारित गतिशीलता और कुछ विफलता-पहचान का समर्थन करता है।[4]

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

संयुक्त-गणना के कई कार्यान्वयन उपस्थिता प्रोग्रामिंग भाषाओं के विस्तार के रूप में किए गए थे:

  • जोकैमल,ओकैमल का एक संस्करण है जो संयुक्त-गणना प्रिमिटिव के साथ विस्तारित है
  • पॉलीफोनिक C# और इसके उत्तराधिकारी Cω विस्तार C# (प्रोग्रामिंग भाषा)|
  • MC# और समांतर C# पॉलीफोनिक C# का विस्तार करें
  • जावा में सम्मलित हों जावा का विस्तार करता है
  • एक समवर्ती मूल प्रस्ताव जो संयुक्त-गणना का उपयोग करता है
  • जेएरलांग (जे ज्वाइन के लिए है, एर्जांग जेवीएम के लिए एरलैंग है)[5]

अन्य प्रोग्रामिंग भाषाओं में एम्बेडिंग

ये कार्यान्वयन अंतर्निहित प्रोग्रामिंग भाषा को नहीं बदलते हैं लेकिन एक कस्टम लाइब्रेरी या डीएसएल के माध्यम से गणना संचालन में सम्मलित होती हैं:

  • स्कालाजॉइन्स और चाइमिस्ट पुस्तकालय स्काला (प्रोग्रामिंग भाषा) में हैं
  • ईनार कार्टुनेन द्वारा ज्वाइनएचएस और सैम्युअल यलोप द्वारा सिलोप/ज्वाइ-भाषा हास्केल में संयुक्त-गणना के लिए डीएसएल हैं
  • जॉइनैड्स - F#(प्रोग्रामिंग लैंग्वेज) में संयुक्त-गणना के विभिन्न कार्यान्वयन
  • कोकोजॉइन आईओएस और मैक ओएस एक्स के लिए उद्देश्य सी में एक प्रायोगिक कार्यान्वयन है
  • संयुक्त पायथन लाइब्रेरी पायथन 3 में है
  • C++ बूस्ट के माध्यम से[6] (2009 से बूस्ट के लिए, ca. v. 40, वर्तमान (दिसंबर '19) 72 है)।

संदर्भ

  1. Cedric Fournet, Georges Gonthier (1995). "रिफ्लेक्सिव चैम और जॉइन-कैलकुलस". {{cite journal}}: Cite journal requires |journal= (help), pg. 1
  2. Cedric Fournet, Georges Gonthier (1995). "रिफ्लेक्सिव चैम और जॉइन-कैलकुलस". {{cite journal}}: Cite journal requires |journal= (help), pg. 2
  3. Petricek, Tomas. "जॉइनैड्स (IV.) - जॉइन कैलकुलस का उपयोग करके समवर्ती". tomasp.net. Retrieved 2023-01-24.
  4. Cedric Fournet, Georges Gonthier (2000). "The Join Calculus: A Language for Distributed Mobile Programming": 268–332. {{cite journal}}: Cite journal requires |journal= (help)
  5. "JErlang: Erlang with Joins". Archived from the original on 2017-12-08. Retrieved 2015-04-18.
  6. Yigong Liu - Join-Asynchronous Message Coordination and Concurrency Library

बाहरी संबंध