अनुक्रमिक प्रक्रियाओं का संचार करना: Difference between revisions

From Vigyanwiki
No edit summary
No edit summary
Line 159: Line 159:


== उपकरण ==
== उपकरण ==
वर्षों से, सीएसपी का उपयोग करके वर्णित प्रणालियों के विश्लेषण और समझने के लिए कई उपकरण तैयार किए गए हैं। प्रारंभिक उपकरण कार्यान्वयन ने सीएसपी के लिए विभिन्न प्रकार के मशीन-पठनीय वाक्य - विन्यास का उपयोग किया, जिससे विभिन्न उपकरणों के लिए लिखी गई इनपुट फाइलें असंगत हो गईं। हालाँकि, अधिकांश सीएसपी उपकरण अब ब्रायन स्कैटरगूड द्वारा तैयार की गई सीएसपी की मशीन-पठनीय बोली पर मानकीकृत हो गए हैं, जिसे कभी-कभी सीएसपी के रूप में संदर्भित किया जाता है।<sub>''M''</sub>.<ref>{{Cite journal|author=Scattergood, J.B.|title=मशीन-पठनीय सीएसपी का शब्दार्थ और कार्यान्वयन|version=D.Phil.|publisher=[[Oxford University Computing Laboratory]] | year=1998}}</ref> सीएसपी<sub>''M''</sub> सीएसपी की बोली में औपचारिक रूप से परिभाषित परिचालन शब्दार्थ है, जिसमें  एम्बेडेड [[कार्यात्मक प्रोग्रामिंग भाषा]] सम्मिलित है।
वर्षों से, सीएसपी का उपयोग करके वर्णित प्रणालियों के विश्लेषण और समझने के लिए कई उपकरण तैयार किए गए हैं। प्रारंभिक उपकरण कार्यान्वयन ने सीएसपी के लिए विभिन्न प्रकार के मशीन-पठनीय वाक्य - विन्यास का उपयोग किया, जिससे विभिन्न उपकरणों के लिए लिखी गई इनपुट फाइलें असंगत हो गईं। चूँकि, अधिकांश सीएसपी उपकरण अब ब्रायन स्कैटरगूड द्वारा तैयार की गई सीएसपी की मशीन-पठनीय बोली पर मानकीकृत हो गए हैं | जिसे कभी-कभी सीएसपी<sub>''M''</sub> के रूप में संदर्भित किया जाता है ।<ref>{{Cite journal|author=Scattergood, J.B.|title=मशीन-पठनीय सीएसपी का शब्दार्थ और कार्यान्वयन|version=D.Phil.|publisher=[[Oxford University Computing Laboratory]] | year=1998}}</ref> सीएसपी<sub>''M''</sub> सीएसपी की बोली में औपचारिक रूप से परिभाषित परिचालन शब्दार्थ है | जिसमें  एम्बेडेड [[कार्यात्मक प्रोग्रामिंग भाषा]] सम्मिलित है।


सबसे प्रसिद्ध सीएसपी उपकरण शायद फेल्योर/डाइवर्जेंस रिफाइनमेंट 2 (एफडीआर2) है, जो फॉर्मल सिस्टम्स (यूरोप) लिमिटेड द्वारा विकसित  वाणिज्यिक उत्पाद है। एफडीआर2 को अक्सर [[मॉडल चेकर]] के रूप में वर्णित किया जाता है, किन्तु तकनीकी रूप से इसमें एक शोधन जांचकर्ता है। यह दो सीएसपी प्रक्रिया अभिव्यक्तियों को लेबल किए गए संक्रमण प्रणाली (एलटीएस) में परिवर्तित करता है, और फिर यह निर्धारित करता है कि प्रक्रियाओं में से  कुछ निर्दिष्ट सिमेंटिक मॉडल (निशान, विफलताओं, या विफलताओं/विचलन) के भीतर दूसरे का परिशोधन है या नहीं।<ref>{{Cite journal|author=A.W. Roscoe|title=मॉडल-चेकिंग सीएसपी|version=In ''A Classical Mind: essays in Honour of C.A.R. Hoare''|publisher=Prentice Hall|year=1994|author-link=Bill Roscoe}}</ref> FDR2 राज्य-स्थान के आकार को कम करने के लिए एलटीएस प्रक्रिया के लिए विभिन्न राज्य-स्थान संपीड़न एल्गोरिदम प्रयुक्त करता है जिसे शोधन जांच के समय खोजा जाना चाहिए। FDR2 को FDR3 द्वारा सफल किया गया है, पूरी तरह से फिर से लिखा गया संस्करण है जिसमें समानांतर निष्पादन और  एकीकृत प्रकार चेकर सम्मिलित है। यह ऑक्सफोर्ड विश्वविद्यालय द्वारा जारी किया गया है, जिसने 2008-12 की अवधि में FDR2 भी जारी किया था।<ref>{{cite web|url=https://www.cs.ox.ac.uk/projects/fdr/manual/introduction.html|title=Introduction — FDR 4.2.4 documentation|website=www.cs.ox.ac.uk}}</ref>
सबसे प्रसिद्ध सीएसपी उपकरण संभवतः फेल्योर/डाइवर्जेंस रिफाइनमेंट 2 (एफडीआर2) है | जो फॉर्मल सिस्टम्स (यूरोप) लिमिटेड द्वारा विकसित  वाणिज्यिक उत्पाद है। एफडीआर2 को अधिकांशतः [[मॉडल चेकर]] के रूप में वर्णित किया जाता है | किन्तु विधि पूर्वक इसमें एक शोधन जांचकर्ता है। यह दो सीएसपी प्रक्रिया अभिव्यक्तियों को लेबल किए गए संक्रमण प्रणाली (एलटीएस) में परिवर्तित करता है, और फिर यह निर्धारित करता है कि प्रक्रियाओं में से  कुछ निर्दिष्ट सिमेंटिक मॉडल (निशान, विफलताओं, या विफलताओं/विचलन) के अंदर दूसरे का परिशोधन है या नहीं।<ref>{{Cite journal|author=A.W. Roscoe|title=मॉडल-चेकिंग सीएसपी|version=In ''A Classical Mind: essays in Honour of C.A.R. Hoare''|publisher=Prentice Hall|year=1994|author-link=Bill Roscoe}}</ref> एफडीआर2 स्तर-स्थान के आकार को कम करने के लिए एलटीएस प्रक्रिया के लिए विभिन्न स्तर-स्थान संपीड़न एल्गोरिदम प्रयुक्त करता है जिसे शोधन जांच के समय खोजा जाना चाहिए। एफडीआर2 को एफडीआर3 द्वारा सफल किया गया है | पूरी तरह से फिर से लिखा गया संस्करण है | जिसमें समानांतर निष्पादन और  एकीकृत प्रकार चेकर सम्मिलित है। यह ऑक्सफोर्ड विश्वविद्यालय द्वारा जारी किया गया है | जिसने 2008-12 की अवधि में एफडीआर2 भी जारी किया था।<ref>{{cite web|url=https://www.cs.ox.ac.uk/projects/fdr/manual/introduction.html|title=Introduction — FDR 4.2.4 documentation|website=www.cs.ox.ac.uk}}</ref>
एडिलेड शोधन परीक्षक (एआरसी)<ref>{{cite conference |first1=Atanas N. |last1=  Parashkevov| first2 = Jay | last2 = Yantchev |title=ARC – a tool for efficient refinement and equivalence checking for CSP |book-title=IEEE Int. Conf. on Algorithms and Architectures for Parallel Processing ICA3PP '96 |pages= 68–75|year=1996 |citeseerx = 10.1.1.45.3212 }}</ref> एडीलेड विश्वविद्यालय में औपचारिक मॉडलिंग और सत्यापन समूह द्वारा विकसित  सीएसपी शोधन परीक्षक है। ARC, FDR2 से इस मायने में भिन्न है कि यह आंतरिक रूप से सीएसपी प्रक्रियाओं को [[ द्विआधारी निर्णय आरेख ]] (OBDDs) के रूप में प्रस्तुत करता है, जो राज्य-अंतरिक्ष संपीड़न एल्गोरिदम जैसे कि FDR2 में उपयोग किए जाने वाले एल्गोरिदम के उपयोग की आवश्यकता के बिना स्पष्ट LTS अभ्यावेदन की राज्य विस्फोट समस्या को कम करता है।


प्रोबी परियोजना,<ref>{{cite conference|first1=Michael|last1=Leuschel|first2=Marc|last2=Fontaine|title=Probing the Depths of CSP-M: A new FDR-compliant Validation Tool|book-title=ICFEM 2008|publisher=Springer-Verlag| year=2008| url=http://www.stups.uni-duesseldorf.de/publications/main.pdf|access-date=2008-11-26|url-status=dead|archive-url=https://web.archive.org/web/20110719102153/http://www.stups.uni-duesseldorf.de/publications/main.pdf|archive-date=2011-07-19}}</ref> जिसे Institut für Informatik, Heinrich-Heine-Universität Düsseldorf द्वारा होस्ट किया जाता है, मूल रूप से B विधि में निर्मित विनिर्देशों के विश्लेषण का समर्थन करने के लिए बनाया गया था। चूँकि, इसमें परिशोधन जांच और [[रैखिक लौकिक तर्क]] मॉडल-जांच दोनों के माध्यम से सीएसपी प्रक्रियाओं के विश्लेषण के लिए समर्थन भी सम्मिलित है। ProB का उपयोग संयुक्त सीएसपी और B विनिर्देशों के गुणों को सत्यापित करने के लिए भी किया जा सकता है। एक ProBE सीएसपी एनिमेटर FDR3 में एकीकृत है।
एडिलेड शोधन परीक्षक (एआरसी)<ref>{{cite conference |first1=Atanas N. |last1= Parashkevov| first2 = Jay | last2 = Yantchev |title=ARC – a tool for efficient refinement and equivalence checking for CSP |book-title=IEEE Int. Conf. on Algorithms and Architectures for Parallel Processing ICA3PP '96 |pages= 68–75|year=1996 |citeseerx = 10.1.1.45.3212 }}</ref> एडीलेड विश्वविद्यालय में औपचारिक मॉडलिंग और सत्यापन समूह द्वारा विकसित  सीएसपी शोधन परीक्षक है। एआरसी, एफडीआर2 से इस मायने में भिन्न है कि यह आंतरिक रूप से सीएसपी प्रक्रियाओं को [[ द्विआधारी निर्णय आरेख | द्विआधारी निर्णय आरेख]] (ओबीडीडी) के रूप में प्रस्तुत करता है | जो स्तर-अंतरिक्ष संपीड़न एल्गोरिदम जैसे कि एफडीआर2 में उपयोग किए जाने वाले एल्गोरिदम के उपयोग की आवश्यकता के बिना स्पष्ट एलटीएस अभ्यावेदन की स्तर विस्फोट समस्या को कम करता है।


प्रक्रिया विश्लेषण टूलकिट (पीएटी)
प्रोबी परियोजना,<ref>{{cite conference|first1=Michael|last1=Leuschel|first2=Marc|last2=Fontaine|title=Probing the Depths of CSP-M: A new FDR-compliant Validation Tool|book-title=ICFEM 2008|publisher=Springer-Verlag| year=2008| url=http://www.stups.uni-duesseldorf.de/publications/main.pdf|access-date=2008-11-26|url-status=dead|archive-url=https://web.archive.org/web/20110719102153/http://www.stups.uni-duesseldorf.de/publications/main.pdf|archive-date=2011-07-19}}</ref> जिसेसूचना विज्ञान संस्थान, हेनरिक-हेन-यूनिवर्सिटैट डसेलडोर्फ द्वारा होस्ट किया जाता है | मूल रूप से B विधि में निर्मित विनिर्देशों के विश्लेषण का समर्थन करने के लिए बनाया गया था। चूँकि, इसमें परिशोधन जांच और [[रैखिक लौकिक तर्क]] मॉडल-जांच दोनों के माध्यम से सीएसपी प्रक्रियाओं के विश्लेषण के लिए समर्थन भी सम्मिलित है। प्रोब का उपयोग संयुक्त सीएसपी और B विनिर्देशों के गुणों को सत्यापित करने के लिए भी किया जा सकता है। एक प्रोब सीएसपी एनिमेटर एफडीआर3 में एकीकृत है।
<ref>{{cite conference | last1 = Sun | first1 = Jun | first2 = Yang | last2 = Liu | first3 = Jin Song | last3 = Dong | title = PAT: Towards Flexible Verification under Fairness | book-title = Proceedings of the 20th International Conference on Computer-Aided Verification (CAV 2009) | publisher = Springer | series = Lecture Notes in Computer Science | volume = 5643 | year = 2009 | url = http://www.comp.nus.edu.sg/~sunj/Publications/cav09.pdf | access-date = 2009-06-16 | url-status = dead | archive-url = https://web.archive.org/web/20110611055744/http://www.comp.nus.edu.sg/~sunj/Publications/cav09.pdf | archive-date = 2011-06-11 }}</ref><ref>{{cite conference | last1 = Sun | first1 = Jun | first2 = Yang | last2 = Liu | first3 = Jin Song | last3 = Dong | title = Model Checking CSP Revisited: Introducing a Process Analysis Toolkit | book-title = Proceedings of the Third International Symposium on Leveraging Applications of Formal Methods, Verification and Validation (ISoLA 2008) | pages = 307–322 | publisher = Springer | series = Communications in Computer and Information Science | volume = 17 | year = 2008 | url = http://www.comp.nus.edu.sg/~sunj/Publications/ISoLA08.pdf | access-date = 2009-01-15 | url-status = dead | archive-url = https://web.archive.org/web/20090108091954/http://www.comp.nus.edu.sg/~sunj/Publications/ISoLA08.pdf | archive-date = 2009-01-08 }}</ref> सिंगापुर के राष्ट्रीय विश्वविद्यालय में स्कूल ऑफ कंप्यूटिंग में विकसित  सीएसपी विश्लेषण उपकरण है। पीएटी परिशोधन जांच, एलटीएल मॉडल-जांच, और सीएसपी और समयबद्ध सीएसपी प्रक्रियाओं का अनुकरण करने में सक्षम है। PAT प्रोसेस लैंग्वेज सीएसपी को म्यूटेबल शेयर्ड वेरिएबल्स, एसिंक्रोनस मैसेज पासिंग, और विभिन्न प्रकार की निष्पक्षता और मात्रात्मक समय से संबंधित प्रक्रिया निर्माणों के समर्थन के साथ विस्तारित करती है जैसे कि <code>deadline</code> और <code>waituntil</code>. पीएटी प्रक्रिया भाषा का अंतर्निहित रचना सिद्धांत प्रक्रियात्मक कार्यक्रमों के साथ एक उच्च स्तरीय विनिर्देश भाषा को जोड़ना है (उदाहरण के लिए पीएटी में  घटना  अनुक्रमिक कार्यक्रम या यहां तक ​​कि बाहरी सी # पुस्तकालय कॉल भी हो सकती है) अधिक अभिव्यक्ति के लिए। परिवर्तनीय साझा चर और अतुल्यकालिक चैनल मानक सीएसपी में उपयोग किए जाने वाले प्रसिद्ध प्रक्रिया मॉडलिंग पैटर्न के लिए  सुविधाजनक [[सिंटैक्टिक चीनी]] प्रदान करते हैं। पीएटी वाक्य - विन्यास समान है, किन्तु सीएसपी के समान नहीं है<sub>''M''</sub>.<ref>{{cite conference |first1=Jun |last1=Sun |first2=Yang |last2=Liu |first3=Jin Song |last3=Dong |first4=Chunqing |last4=Chen |title=सिस्टम विशिष्टता और सत्यापन के लिए विनिर्देशों और कार्यक्रमों को एकीकृत करना|book-title=IEEE Int. Conf. on Theoretical Aspects of Software Engineering TASE '09 |year=2009 |url=http://www.comp.nus.edu.sg/~sunj/Publications/tase09.pdf |access-date=2009-04-13 |url-status=dead |archive-url=https://web.archive.org/web/20110611055219/http://www.comp.nus.edu.sg/~sunj/Publications/tase09.pdf |archive-date=2011-06-11 }}</ref> पीएटी वाक्य - विन्यास और मानक सीएसपी के बीच मुख्य अंतर<sub>''M''</sub> प्रक्रिया अभिव्यक्तियों को समाप्त करने के लिए अर्धविरामों का उपयोग, चर और असाइनमेंट के लिए सिंटैक्टिक चीनी को सम्मिलित करना, और आंतरिक विकल्प और समांतर संरचना के लिए थोड़ा अलग वाक्यविन्यास का उपयोग करना है।


विजुअलनेट्स<ref>{{cite conference|last1=Green|first1=Mark| first2 = Ali | last2 = Abdallah|title=संचार प्रणालियों के अनुकूलन के लिए प्रदर्शन विश्लेषण और व्यवहार ट्यूनिंग|book-title=Communicating Process Architectures 2002|year=2002|url=https://www.researchgate.net/publication/290383042}}</ref> विनिर्देशों से सीएसपी प्रणाली के एनिमेटेड विज़ुअलाइज़ेशन का उत्पादन करता है, और समयबद्ध सीएसपी का समर्थन करता है।
प्रक्रिया विश्लेषण टूलकिट (पीएटी) <ref>{{cite conference | last1 = Sun | first1 = Jun | first2 = Yang | last2 = Liu | first3 = Jin Song | last3 = Dong | title = PAT: Towards Flexible Verification under Fairness | book-title = Proceedings of the 20th International Conference on Computer-Aided Verification (CAV 2009) | publisher = Springer | series = Lecture Notes in Computer Science | volume = 5643 | year = 2009 | url = http://www.comp.nus.edu.sg/~sunj/Publications/cav09.pdf | access-date = 2009-06-16 | url-status = dead | archive-url = https://web.archive.org/web/20110611055744/http://www.comp.nus.edu.sg/~sunj/Publications/cav09.pdf | archive-date = 2011-06-11 }}</ref><ref>{{cite conference | last1 = Sun | first1 = Jun | first2 = Yang | last2 = Liu | first3 = Jin Song | last3 = Dong | title = Model Checking CSP Revisited: Introducing a Process Analysis Toolkit | book-title = Proceedings of the Third International Symposium on Leveraging Applications of Formal Methods, Verification and Validation (ISoLA 2008) | pages = 307–322 | publisher = Springer | series = Communications in Computer and Information Science | volume = 17 | year = 2008 | url = http://www.comp.nus.edu.sg/~sunj/Publications/ISoLA08.pdf | access-date = 2009-01-15 | url-status = dead | archive-url = https://web.archive.org/web/20090108091954/http://www.comp.nus.edu.sg/~sunj/Publications/ISoLA08.pdf | archive-date = 2009-01-08 }}</ref> सिंगापुर के राष्ट्रीय विश्वविद्यालय में स्कूल ऑफ कंप्यूटिंग में विकसित  सीएसपी विश्लेषण उपकरण है। पीएटी परिशोधन जांच, एलटीएल मॉडल-जांच, और सीएसपी और समयबद्ध सीएसपी प्रक्रियाओं का अनुकरण करने में सक्षम है। पीएटी प्रोसेस लैंग्वेज सीएसपी को म्यूटेबल शेयर्ड वेरिएबल्स, एसिंक्रोनस मैसेज पासिंग, और विभिन्न प्रकार की निष्पक्षता और मात्रात्मक समय से संबंधित प्रक्रिया निर्माणों के समर्थन के साथ विस्तारित करती है | जैसे कि <code>deadline</code> और <code>waituntil</code>. पीएटी प्रक्रिया भाषा का अंतर्निहित रचना सिद्धांत प्रक्रियात्मक कार्यक्रमों के साथ एक उच्च स्तरीय विनिर्देश भाषा को जोड़ना है  |(उदाहरण के लिए पीएटी में  घटना  अनुक्रमिक कार्यक्रम या यहां तक ​​कि बाहरी सी # पुस्तकालय कॉल भी हो सकती है) अधिक अभिव्यक्ति के लिए परिवर्तनीय साझा चर और अतुल्यकालिक चैनल मानक सीएसपी में उपयोग किए जाने वाले प्रसिद्ध प्रक्रिया मॉडलिंग पैटर्न के लिए  सुविधाजनक [[सिंटैक्टिक चीनी|वाक्यात्मक चीनी]] प्रदान करते हैं। पीएटी वाक्य - विन्यास समान है, किन्तु सीएसपी<sub>''M''</sub> के समान नहीं है |<ref>{{cite conference |first1=Jun |last1=Sun |first2=Yang |last2=Liu |first3=Jin Song |last3=Dong |first4=Chunqing |last4=Chen |title=सिस्टम विशिष्टता और सत्यापन के लिए विनिर्देशों और कार्यक्रमों को एकीकृत करना|book-title=IEEE Int. Conf. on Theoretical Aspects of Software Engineering TASE '09 |year=2009 |url=http://www.comp.nus.edu.sg/~sunj/Publications/tase09.pdf |access-date=2009-04-13 |url-status=dead |archive-url=https://web.archive.org/web/20110611055219/http://www.comp.nus.edu.sg/~sunj/Publications/tase09.pdf |archive-date=2011-06-11 }}</ref> पीएटी वाक्य - विन्यास और मानक सीएसपी<sub>''M''</sub> के बीच मुख्य अंतर प्रक्रिया अभिव्यक्तियों को समाप्त करने के लिए अर्धविरामों का उपयोग, चर और असाइनमेंट के लिए वाक्यात्मक चीनी को सम्मिलित करना, और आंतरिक विकल्प और समांतर संरचना के लिए थोड़ा अलग वाक्यविन्यास का उपयोग करना है।
Capsim<ref>{{cite conference|last1=Brooke|first1=Phillip| first2 = Richard | last2 = Paige|title=सीएसपीसिम के साथ आलसी अन्वेषण और सीएसपी मॉडल की जांच|book-title=Communicating Process Architectures 2007|year=2007}}</ref> आलसी सिम्युलेटर है। यह सीएसपी की जांच मॉडल नहीं करता है, किन्तु बहुत बड़ी (संभावित रूप से अनंत) प्रणालियों की खोज के लिए उपयोगी है।


[http://www.principia-m.com/syncstitch/ SyncStitch] इंटरैक्टिव मॉडलिंग और पर्यावरण विश्लेषण के साथ एक सीएसपी शोधन परीक्षक है। इसमें  ग्राफिकल स्टेट-ट्रांज़िशन डायग्राम एडिटर है। उपयोगकर्ता प्रक्रियाओं के व्यवहार को न केवल सीएसपी अभिव्यक्तियों बल्कि राज्य-संक्रमण आरेखों के रूप में मॉडल कर सकता है। जाँच के परिणाम को ग्राफ़िक रूप से कम्प्यूटेशन-ट्री के रूप में भी रिपोर्ट किया जाता है और परिधीय निरीक्षण उपकरणों के साथ अंतःक्रियात्मक रूप से विश्लेषण किया जा सकता है। परिशोधन जांच के अलावा, यह डेडलॉक जांच और लाइवलॉक जांच भी कर सकता है।
विजुअलनेट्स <ref>{{cite conference|last1=Green|first1=Mark| first2 = Ali | last2 = Abdallah|title=संचार प्रणालियों के अनुकूलन के लिए प्रदर्शन विश्लेषण और व्यवहार ट्यूनिंग|book-title=Communicating Process Architectures 2002|year=2002|url=https://www.researchgate.net/publication/290383042}}</ref> विनिर्देशों से सीएसपी प्रणाली के एनिमेटेड विज़ुअलाइज़ेशन का उत्पादन करता है, और समयबद्ध सीएसपी का समर्थन करता है।
 
कैप्सिम <ref>{{cite conference|last1=Brooke|first1=Phillip| first2 = Richard | last2 = Paige|title=सीएसपीसिम के साथ आलसी अन्वेषण और सीएसपी मॉडल की जांच|book-title=Communicating Process Architectures 2007|year=2007}}</ref>  लेजी सिम्युलेटर है। यह सीएसपी की जांच मॉडल नहीं करता है, किन्तु बहुत बड़ी (संभावित रूप से अनंत) प्रणालियों की खोज के लिए उपयोगी है।
 
[http://www.principia-m.com/syncstitch/ वाक्यात्मक] इंटरैक्टिव मॉडलिंग और पर्यावरण विश्लेषण के साथ एक सीएसपी शोधन परीक्षक है। इसमें  ग्राफिकल स्टेट-ट्रांज़िशन डायग्राम एडिटर है। उपयोगकर्ता प्रक्रियाओं के व्यवहार को न केवल सीएसपी अभिव्यक्तियों किन्तु स्तर-संक्रमण आरेखों के रूप में मॉडल कर सकता है। जाँच के परिणाम को ग्राफ़िक रूप से कम्प्यूटेशन-ट्री के रूप में भी रिपोर्ट किया जाता है और परिधीय निरीक्षण उपकरणों के साथ अंतःक्रियात्मक रूप से विश्लेषण किया जा सकता है। परिशोधन जांच के अलावा, यह डेडलॉक जांच और लाइवलॉक जांच भी कर सकता है।


== संबंधित औपचारिकताएं ==
== संबंधित औपचारिकताएं ==
कई अन्य विनिर्देशन भाषाएं और औपचारिकताएं क्लासिक असमय सीएसपी से, या उससे प्रेरित होकर प्राप्त की गई हैं, जिनमें सम्मिलित हैं:
कई अन्य विनिर्देशन भाषाएं और औपचारिकताएं क्लासिक असमय सीएसपी से, या उससे प्रेरित होकर प्राप्त की गई हैं | जिनमें सम्मिलित हैं:
* [http://citeseer.comp.nus.edu.sg/61363.html समयबद्ध सीएसपी], जिसमें रीयल-टाइम प्रणाली के बारे में तर्क करने के लिए समय संबंधी जानकारी सम्मिलित है
* [http://citeseer.comp.nus.edu.sg/61363.html समयबद्ध सीएसपी], जिसमें रीयल-टाइम प्रणाली के बारे में तर्क करने के लिए समय संबंधी जानकारी सम्मिलित है |
* [https://dx.doi.org/10.1007/BF01178564 रिसेप्टिव प्रोसेस थ्योरी], सीएसपी की विशेषज्ञता जो एसिंक्रोनस (यानी [[ गैर-अवरुद्ध एल्गोरिदम ]]) सेंड ऑपरेशन मानती है
* [https://dx.doi.org/10.1007/BF01178564 रिसेप्टिव प्रोसेस थ्योरी], सीएसपी की विशेषज्ञता जो एसिंक्रोनस (अर्थात [[ गैर-अवरुद्ध एल्गोरिदम ]]) सेंड संचालन मानती है |
* [https://web.archive.org/web/20110514085953/http://www.wotug.org/paperdb/show_pap.php?f=1&num=394 CSPP]
* [https://web.archive.org/web/20110514085953/http://www.wotug.org/paperdb/show_pap.php?f=1&num=394 सीएसपीपी]
* [https://web.archive.org/web/20110514085958/http://www.wotug.org/paperdb/show_pap.php?f=1&num=395 एचसीएसपी]
* [https://web.archive.org/web/20110514085958/http://www.wotug.org/paperdb/show_pap.php?f=1&num=395 एचसीएसपी]
* [https://web.archive.org/web/20110514234220/http://www.comp.nus.edu.sg/~dongjs/tcoz.html TCOZ], समयबद्ध सीएसपी और [[ऑब्जेक्ट जेड]] का एकीकरण
* [https://web.archive.org/web/20110514234220/http://www.comp.nus.edu.sg/~dongjs/tcoz.html टीसीओज़ेड], समयबद्ध सीएसपी और [[ऑब्जेक्ट जेड]] का एकीकरण होता है |
* [https://web.archive.org/web/20110514234221/http://www.cs.york.ac.uk/circus/ Circus], [[प्रोग्रामिंग के एकीकृत सिद्धांत]]ों पर आधारित सीएसपी और Z विनिर्देश भाषा का एकीकरण
* [https://web.archive.org/web/20110514234221/http://www.cs.york.ac.uk/circus/ सर्कस], [[प्रोग्रामिंग के एकीकृत सिद्धांत]] पर आधारित सीएसपी और Z विनिर्देश भाषा का एकीकरण होता है |
* [http://www.compass-research.eu/approach.html सीएमएल] {{Webarchive|url=https://web.archive.org/web/20200219205126/http://www.compass-research.eu/approach.html |date=2020-02-19 }} (कम्पास मॉडलिंग लैंग्वेज), [https://web.archive.org/web/20110514234221/http://www.cs.york.ac.uk/circus/ Circus] और VDM विनिर्देश भाषा का  संयोजन विकसित किया गया है। [[सिस्टम की प्रणाली|प्रणाली की प्रणाली]] (एसओएस) की मॉडलिंग
* [http://www.compass-research.eu/approach.html सीएमएल] {{Webarchive|url=https://web.archive.org/web/20200219205126/http://www.compass-research.eu/approach.html |date=2020-02-19 }} (कम्पास मॉडलिंग लैंग्वेज), [https://web.archive.org/web/20110514234221/http://www.cs.york.ac.uk/circus/ सर्कस] और वीडीएम विनिर्देश भाषा का  संयोजन विकसित किया गया है। [[सिस्टम की प्रणाली|प्रणाली की प्रणाली]] (एसओएस) की मॉडलिंग  
* [https://web.archive.org/web/20110514234221/http://www.cs.swan.ac.uk/~csmarkus/Papers/cspcasl.ps CspCASL], [[सामान्य बीजगणितीय विशिष्टता भाषा]] का  विस्तार जो एकीकृत करता है सीएसपी
* [https://web.archive.org/web/20110514234221/http://www.cs.swan.ac.uk/~csmarkus/Papers/cspcasl.ps सीएसपीसीएएसएल], [[सामान्य बीजगणितीय विशिष्टता भाषा]] का  विस्तार जो सीएसपी एकीकृत करता है |
[[टेम्पोरल ऑर्डरिंग विशिष्टता की भाषा]] भाषा, अंतरराष्ट्रीय मानक<ref>[[Language Of Temporal Ordering Specification|ISO 8807, Language of Temporal Ordering Specification]]</ref> जिसमें सीएसपी और कम्युनिकेटिंग सिस्टम्स की कैलकुलस की विशेषताएँ सम्मिलित हैं।
[[टेम्पोरल ऑर्डरिंग विशिष्टता की भाषा]]  अंतरराष्ट्रीय मानक <ref>[[Language Of Temporal Ordering Specification|ISO 8807, Language of Temporal Ordering Specification]]</ref> जिसमें सीएसपी और कम्युनिकेटिंग सिस्टम्स की कैलकुलस की विशेषताएँ सम्मिलित हैं।
* [https://link.springer.com/chapter/10.1007/978-3-319-05032-4_25 PALPS], [[अन्ना फिलिपो]] द्वारा विकसित पारिस्थितिक मॉडल के लिए स्थानों के साथ  संभावित विस्तार और {{ill|Mauricio toro bermúdez|es|vertical-align=sup}}
* [https://link.springer.com/chapter/10.1007/978-3-319-05032-4_25 पैल्प्स], [[अन्ना फिलिपो]] द्वारा विकसित पारिस्थितिक मॉडल के लिए स्थानों के साथ  संभावित विस्तार और {{ill|मौरिसियो टोरो बरमूडेज़|es|vertical-align=सुप}}


== [[अभिनेता मॉडल]] के साथ तुलना ==
== [[अभिनेता मॉडल|एक्टर मॉडल]] के साथ तुलना ==
जहाँ तक यह संदेशों का आदान-प्रदान करने वाली समवर्ती प्रक्रियाओं से संबंधित है, अभिनेता मॉडल मोटे तौर पर सीएसपी के समान है। हालाँकि, दो मॉडल उनके द्वारा प्रदान किए जाने वाले प्राचीन के संबंध में कुछ मूलभूत रूप से भिन्न विकल्प बनाते हैं:
जहाँ तक यह संदेशों का आदान-प्रदान करने वाली समवर्ती प्रक्रियाओं से संबंधित है | एक्टर मॉडल सामान्यतः सीएसपी के समान है। चूँकि, दो मॉडल उनके द्वारा प्रदान किए जाने वाले प्राचीन के संबंध में कुछ मूलभूत रूप से भिन्न विकल्प बनाते हैं |
* सीएसपी प्रक्रियाएं गुमनाम होती हैं, जबकि अभिनेताओं की पहचान होती है।
* सीएसपी प्रक्रियाएं गुमनाम होती हैं | जबकि एक्टर की पहचान होती है।
* सीएसपी संदेश भेजने के लिए स्पष्ट चैनलों का उपयोग करता है, जबकि अभिनेता प्रणाली नामित गंतव्य अभिनेताओं को संदेश प्रेषित करते हैं। इन दृष्टिकोणों को एक दूसरे का दोहरा माना जा सकता है, इस अर्थ में कि  चैनल के माध्यम से प्राप्त होने वाली प्रक्रियाओं की प्रभावी रूप से उस चैनल के अनुरूप पहचान होती है, जबकि अभिनेताओं के बीच नाम-आधारित युग्मन को चैनलों के रूप में व्यवहार करने वाले अभिनेताओं का निर्माण करके तोड़ा जा सकता है।
* सीएसपी संदेश भेजने के लिए स्पष्ट चैनलों का उपयोग करता है | जबकि एक्टर प्रणाली नामित गंतव्य एक्टर को संदेश प्रेषित करते हैं। इन दृष्टिकोणों को एक दूसरे का दोहरा माना जा सकता है, इस अर्थ में कि  चैनल के माध्यम से प्राप्त होने वाली प्रक्रियाओं की प्रभावी रूप से उस चैनल के अनुरूप पहचान होती है, जबकि एक्टर के बीच नाम-आधारित युग्मन को चैनलों के रूप में व्यवहार करने वाले एक्टर का निर्माण करके तोड़ा जा सकता है।
* सीएसपी संदेश-पासिंग में मूल रूप से संदेश भेजने और प्राप्त करने में सम्मिलित प्रक्रियाओं के बीच एक मेल मिलाप सम्मिलित है, यानी प्रेषक तब तक संदेश प्रेषित नहीं कर सकता जब तक कि रिसीवर इसे स्वीकार करने के लिए तैयार न हो। इसके विपरीत, अभिनेता प्रणालियों में संदेश-पासिंग मौलिक रूप से अतुल्यकालिक है, यानी संदेश संचरण और स्वागत एक ही समय में नहीं होता है, और प्रेषक संदेशों को प्राप्त करने से पहले उन्हें स्वीकार करने के लिए तैयार कर सकते हैं। इन दृष्टिकोणों को एक दूसरे के दोहरे भी माना जा सकता है, इस अर्थ में कि मिलन-स्थल-आधारित प्रणालियों का उपयोग बफ़र संचार के निर्माण के लिए किया जा सकता है जो अतुल्यकालिक संदेश प्रणाली के रूप में व्यवहार करता है, जबकि अतुल्यकालिक प्रणालियों का उपयोग संदेश/ पावती प्रोटोकॉल प्रेषकों और रिसीवरों को सिंक्रनाइज़ करने के लिए।
* सीएसपी संदेश-पासिंग में मूल रूप से संदेश भेजने और प्राप्त करने में सम्मिलित प्रक्रियाओं के बीच एक मेल मिलाप सम्मिलित है | अर्थात प्रेषक तब तक संदेश प्रेषित नहीं कर सकता जब तक कि रिसीवर इसे स्वीकार करने के लिए तैयार न हो। इसके विपरीत, एक्टर प्रणालियों में संदेश-पासिंग मौलिक रूप से अतुल्यकालिक है, अर्थात संदेश संचरण और स्वागत एक ही समय में नहीं होता है, और प्रेषक संदेशों को प्राप्त करने से पहले उन्हें स्वीकार करने के लिए तैयार कर सकते हैं। इन दृष्टिकोणों को एक दूसरे के दोहरे भी माना जा सकता है | इस अर्थ में कि मिलन-स्थल-आधारित प्रणालियों का उपयोग बफ़र संचार के निर्माण के लिए किया जा सकता है | जो अतुल्यकालिक संदेश प्रणाली के रूप में व्यवहार करता है | जबकि अतुल्यकालिक प्रणालियों का उपयोग संदेश/ पावती प्रोटोकॉल प्रेषकों और रिसीवरों को सिंक्रनाइज़ करने के लिए।


ध्यान दें कि उपरोक्त गुण होरे द्वारा मूल सीएसपी पेपर को जरूरी नहीं बताते हैं, बल्कि गोलंग और क्लोजर के कोर एसिंक्रोनस जैसे कार्यान्वयन में देखा गया विचार का आधुनिक अवतार है। मूल कागज में, चैनल विनिर्देश का  केंद्रीय भाग नहीं थे, और प्रेषक और रिसीवर प्रक्रियाएं वास्तव में एक दूसरे को नाम से पहचानती हैं।
ध्यान दें कि उपरोक्त गुण होरे द्वारा मूल सीएसपी पेपर को जरूरी नहीं बताते हैं | किन्तु गोलंग और क्लोजर के कोर एसिंक्रोनस जैसे कार्यान्वयन में देखा गया विचार का आधुनिक मूर्त रूप है। मूल पेपर में, चैनल विनिर्देश का  केंद्रीय भाग नहीं थे, और प्रेषक और रिसीवर प्रक्रियाएं वास्तव में एक दूसरे को नाम से पहचानती हैं।


== पुरस्कार ==
== पुरस्कार ==
1990 में, "तकनीकी उपलब्धि के लिए [[एलिज़ाबेथ द्वितीय]] का पुरस्कार ... ऑक्सफोर्ड यूनिवर्सिटी कंप्यूटिंग प्रयोगशाला में प्रदान किया गया है। [ऑक्सफोर्ड यूनिवर्सिटी] कंप्यूटिंग प्रयोगशाला। यह पुरस्कार प्रयोगशाला और [[इनमोस]] लिमिटेड के बीच  सफल सहयोग को मान्यता देता है। ... इनमोस का प्रमुख उत्पाद 'ट्रांसप्यूटर' है[[माइक्रोप्रोसेसर]] जिसमें कई पुर्जे होते हैं जिन्हें सामान्य रूप से एक ही [[इलेक्ट्रॉनिक घटक]] में निर्मित करने की आवश्यकता होती है।<ref>{{cite journal |title= Sharp as a Razor: A Queen's Award for the Computing Laboratory |last1=Geraint Jones |journal=[[The Oxford Magazine]] |issue=59, Fourth Week, Trinity Term |date=1990 |url=http://www.cs.ox.ac.uk/people/geraint.jones/ftp/pub/Documents/techpapers/Geraint.Jones/QATA-1-90.ps|author1-link=Geraint Jones }}</ref> टोनी होरे के अनुसार,<ref>{{cite journal |title= C.A.R के साथ एक साक्षात्कार होरे|url=https://dl.acm.org/doi/abs/10.1145/1467247.1467261 |doi=10.1145/1467247.1467261 |last1=Len Shustek |journal= [[Communications of the ACM]] |volume=52 |issue=3 |date=March 2009 |pages=38–41|s2cid=1868477 }}</ref>
1990 में, "विधि उपलब्धि के लिए [[एलिज़ाबेथ द्वितीय]] का पुरस्कार ऑक्सफोर्ड यूनिवर्सिटी कंप्यूटिंग प्रयोगशाला में प्रदान किया गया है। ऑक्सफोर्ड यूनिवर्सिटी कंप्यूटिंग प्रयोगशाला यह पुरस्कार प्रयोगशाला और [[इनमोस]] लिमिटेड के बीच  सफल सहयोग को मान्यता देता है। इनमोस का प्रमुख उत्पाद 'ट्रांसप्यूटर' है | [[माइक्रोप्रोसेसर]] जिसमें कई पुर्जे होते हैं | जिन्हें सामान्य रूप से एक ही [[इलेक्ट्रॉनिक घटक]] में निर्मित करने की आवश्यकता होती है ।<ref>{{cite journal |title= Sharp as a Razor: A Queen's Award for the Computing Laboratory |last1=Geraint Jones |journal=[[The Oxford Magazine]] |issue=59, Fourth Week, Trinity Term |date=1990 |url=http://www.cs.ox.ac.uk/people/geraint.jones/ftp/pub/Documents/techpapers/Geraint.Jones/QATA-1-90.ps|author1-link=Geraint Jones }}</ref> टोनी होरे के अनुसार,<ref>{{cite journal |title= C.A.R के साथ एक साक्षात्कार होरे|url=https://dl.acm.org/doi/abs/10.1145/1467247.1467261 |doi=10.1145/1467247.1467261 |last1=Len Shustek |journal= [[Communications of the ACM]] |volume=52 |issue=3 |date=March 2009 |pages=38–41|s2cid=1868477 }}</ref> "आईएनएमओएस ट्रांसप्यूटर विचारों के मूर्त रूप के रूप में था | माइक्रोप्रोसेसरों के निर्माण के लिए जो एक दूसरे के साथ तारों के साथ संचार कर सकते थे | जो उनके टर्मिनलों के बीच फैलेंगे संस्थापक की दृष्टि थी कि सीएसपी के विचार औद्योगिक शोषण के लिए परिपक्व थे, और उन्होंने प्रोग्रामिंग ट्रांसप्यूटर्स के लिए भाषा का आधार बनाया, जिसे ओकैम (प्रोग्रामिंग भाषा) कहा जाता था। कंपनी का अनुमान है कि इससे उन्हें एक साल पहले हार्डवेयर देने में सहायता मिली,थी | अन्यथा ऐसा नहीं होता। उन्होंने ऑक्सफोर्ड यूनिवर्सिटी कंप्यूटिंग प्रयोगशाला के संयोजन के साथ विधि उपलब्धि के लिए रानी का पुरस्कार जीता और आवेदन किया।
"INMOS ट्रांसप्यूटर विचारों के अवतार के रूप में था ... माइक्रोप्रोसेसरों के निर्माण के लिए जो एक दूसरे के साथ तारों के साथ संचार कर सकते थे जो उनके टर्मिनलों के बीच फैलेंगे। संस्थापक की दृष्टि थी कि सीएसपी के विचार औद्योगिक शोषण के लिए परिपक्व थे, और उन्होंने प्रोग्रामिंग ट्रांसप्यूटर्स के लिए भाषा का आधार बनाया, जिसे ओकैम (प्रोग्रामिंग भाषा) कहा जाता था। कंपनी का अनुमान है कि इससे उन्हें एक साल पहले हार्डवेयर देने में मदद मिली, अन्यथा ऐसा नहीं होता। उन्होंने ऑक्सफोर्ड यूनिवर्सिटी कंप्यूटिंग प्रयोगशाला के संयोजन के साथ तकनीकी उपलब्धि के लिए रानी का पुरस्कार जीता और आवेदन किया।


== यह भी देखें ==
== यह भी देखें ==
Line 204: Line 204:
* [[एडा (प्रोग्रामिंग भाषा)]]
* [[एडा (प्रोग्रामिंग भाषा)]]
* [[एक्ससी प्रोग्रामिंग भाषा]]
* [[एक्ससी प्रोग्रामिंग भाषा]]
* [[वेरिलॉगसीएसपी]] [[ मैक्रो (कंप्यूटर विज्ञान) ]] का एक समुच्चय है जो [[वेरिलॉग एचडीएल]] में जोड़ा गया है जिससे अनुक्रमिक प्रक्रियाओं चैनल संचार संचार का समर्थन किया जा सके।
* [[वेरिलॉगसीएसपी]] [[ मैक्रो (कंप्यूटर विज्ञान) ]] का एक समुच्चय है | जो [[वेरिलॉग एचडीएल]] में जोड़ा गया है | जिससे अनुक्रमिक प्रक्रियाओं चैनल संचार संचार का समर्थन किया जा सके।
* [[ जॉयस (प्रोग्रामिंग भाषा) ]] सीएसपी के सिद्धांतों पर आधारित  प्रोग्रामिंग लैंग्वेज है, जिसे 1989 के आसपास [[ब्रिनच हैनसेन]] द्वारा विकसित किया गया था।
* [[ जॉयस (प्रोग्रामिंग भाषा) ]] सीएसपी के सिद्धांतों पर आधारित  प्रोग्रामिंग लैंग्वेज है | जिसे 1989 के आसपास [[ब्रिनच हैनसेन]] द्वारा विकसित किया गया था।
* [[सुपरपास्कल]]  प्रोग्रामिंग लैंग्वेज है जिसे ब्रिन्च हैनसेन द्वारा विकसित किया गया है, जो सीएसपी और जॉयस (प्रोग्रामिंग लैंग्वेज) के साथ उनके पहले के काम से प्रभावित है।
* [[सुपरपास्कल]]  प्रोग्रामिंग लैंग्वेज है | जिसे ब्रिन्च हैनसेन द्वारा विकसित किया गया है | जो सीएसपी और जॉयस (प्रोग्रामिंग लैंग्वेज) के साथ उनके पहले के काम से प्रभावित है।
* एडा (प्रोग्रामिंग लैंग्वेज) सीएसपी की सुविधाओं को प्रयुक्त करता है जैसे कि मिलन स्थल।
* एडा (प्रोग्रामिंग लैंग्वेज) सीएसपी की सुविधाओं को प्रयुक्त करता है | जैसे कि मिलन स्थल है।
* [[डायरेक्टशो]] [[डायरेक्टएक्स]] के अंदर वीडियो ढांचा है, यह ऑडियो और वीडियो फिल्टर को प्रयुक्त करने के लिए सीएसपी अवधारणाओं का उपयोग करता है।
* [[डायरेक्टशो]] [[डायरेक्टएक्स]] के अंदर वीडियो रूपरेखा है | यह ऑडियो और वीडियो फिल्टर को प्रयुक्त करने के लिए सीएसपी अवधारणाओं का उपयोग करता है।
* [[OpenCom[[RTOS]]]]  औपचारिक रूप से विकसित नेटवर्क-केंद्रित वितरित RTOS है जो सीएसपी के व्यावहारिक सुपरसेट पर आधारित है।
* ओपनकॉमआरटीओएस औपचारिक रूप से विकसित नेटवर्क-केंद्रित वितरित आरटीओएस है | जो सीएसपी के व्यावहारिक सुपरसेट पर आधारित है।
* इनपुट / आउटपुट ऑटोमेटन
* इनपुट / आउटपुट ऑटोमेटन
* [[समानांतर प्रोग्रामिंग मॉडल]]
* [[समानांतर प्रोग्रामिंग मॉडल]]
* [[TLA+]] समवर्ती प्रणालियों के मॉडलिंग और सत्यापन के लिए  अन्य औपचारिक भाषा है।
* [[TLA+|टीएलए+]] समवर्ती प्रणालियों के मॉडलिंग और सत्यापन के लिए  अन्य औपचारिक भाषा है।


== संदर्भ ==
== संदर्भ ==

Revision as of 14:28, 22 May 2023

कंप्यूटर विज्ञान में, अनुक्रमिक प्रक्रियाओं (सीएसपी) को संप्रेषित करना समवर्ती प्रणालियों में परस्पर क्रिया के प्रतिरूप का वर्णन करने के लिए औपचारिक भाषा है ।[1] यह समवर्ती के गणितीय सिद्धांतों के वर्ग का सदस्य है जिसे चैनल (प्रोग्रामिंग) के माध्यम से निकलने वाले संदेश के आधार पर प्रक्रिया बीजगणित, या प्रक्रिया कलन के रूप में जाना जाता है । सीएसपी ओकैम (प्रोग्रामिंग भाषा) प्रोग्रामिंग भाषा के रचना में अत्यधिक प्रभावशाली था [1][2] और लिंबो (प्रोग्रामिंग भाषा) जैसी प्रोग्रामिंग भाषाओं के रचना को भी प्रभावित किया था [3] राफ्टलिब, एरलांग (प्रोग्रामिंग भाषा),[4] जाओ (प्रोग्रामिंग भाषा),[5][3] क्रिस्टल (प्रोग्रामिंग भाषा), और क्लोजर का कोर एसिंक्रोनस है।[6]

सीएसपी को पहली बार 1978 में टोनी होरे के लेख में वर्णित किया गया था | [7] किन्तु तब से अधिक सीमा तक विकसित हो गया है।[8] सीएसपी व्यावहारिक रूप से उद्योग में औपचारिक विनिर्देश के लिए एक उपकरण के रूप में विभिन्न प्रणालियों के समवर्ती , जैसे टी 9000 ट्रांसप्यूटर, के रूप में प्रयुक्त किया गया है।[9] साथ ही सुरक्षित ईकॉमर्स प्रणाली [10] सीएसपी का सिद्धांत अभी भी सक्रिय शोध का विषय है | जिसमें व्यावहारिक प्रयोज्यता की अपनी सीमा को बढ़ाने के लिए काम सम्मिलित है |(उदाहरण के लिए, उन प्रणालियों के मापदंड को बढ़ाना जिनका विश्लेषण किया जा सकता है)।[11]


इतिहास

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

COPY = *[c:character; west?c  east!c]

नामित प्रक्रिया से बार-बार west अक्षर प्राप्त करता है और उस अक्षर को east नाम की प्रक्रिया के समानांतर रचना में भेजता है |

[west::DISASSEMBLE || X::COPY || east::ASSEMBLE]

DISASSEMBLE प्रक्रिया के west में नाम निर्दिष्ट करता है | X COPY प्रक्रिया को और east में ASSEMBLE प्रक्रिया को और इन तीन प्रक्रियाओं को समवर्ती रूप से निष्पादित करता है |[7]

सीएसपी के मूल संस्करण के प्रकाशन के बाद होरे, स्टीफन ब्रूक्स और बिल रोसको|ए. डब्ल्यू रोस्को ने सीएसपी के सिद्धांत को अपने आधुनिक, प्रक्रिया बीजगणितीय रूप में विकसित और परिष्कृत किया। सीएसपी को प्रक्रिया बीजगणित में विकसित करने के लिए लिया गया दृष्टिकोण रॉबिन मिलनर के कम्युनिकेटिंग सिस्टम्स (सीसीएस) के कलन पर काम से प्रभावित था और इसके विपरीत सीएसपी का सैद्धांतिक संस्करण प्रारंभ में ब्रुक्स, होरे और रोसको द्वारा 1984 के लेख में प्रस्तुत किया गया था,[14] और बाद में होरे की पुस्तक संचार अनुक्रमिक प्रक्रियाओं में,[12] जिसे 1985 में प्रकाशित किया गया था। सितंबर 2006 में, वह पुस्तक अभी भी तीसरा सबसे उद्धृत साइटसीर के अनुसार अब तक का कंप्यूटर विज्ञान संदर्भ था (यद्यपि इसके नमूने की प्रकृति के कारण अविश्वसनीय स्रोत)। होरे की किताब के प्रकाशन के बाद से सीएसपी के सिद्धांत में कुछ छोटे बदलाव हुए हैं। इनमें से अधिकांश परिवर्तन सीएसपी प्रक्रिया विश्लेषण और सत्यापन के लिए स्वचालित उपकरणों के आगमन से प्रेरित थे। रोसको का सिद्धांत और समवर्ती का अभ्यास [1] सीएसपी के इस नए संस्करण का वर्णन करता है।

अनुप्रयोग

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

सॉफ्टवेयर रचना के लिए सीएसपी के औद्योगिक अनुप्रयोग ने सामान्यतः विश्वास और सुरक्षा-महत्वपूर्ण प्रणालियों पर ध्यान केंद्रित किया है। उदाहरण के लिए, ब्रेमेन इंस्टीट्यूट फॉर सेफ सिस्टम्स और डेमलर क्रिसलर एयरोस्पेस ने फॉल्ट-मैनेजमेंट प्रणाली और एवियोनिक्स इंटरफ़ेस (कोड की लगभग 23,000 लाइनों से मिलकर) को सीएसपी में अंतर्राष्ट्रीय अंतरिक्ष स्टेशन पर उपयोग के लिए तैयार किया और मॉडल का विश्लेषण किया। यह पुष्टि करने के लिए कि उनका रचना डेडलॉक और लाइवलॉक से मुक्त था।[15][16] मॉडलिंग और विश्लेषण प्रक्रिया ऐसी कई त्रुटियों को उजागर करने में सक्षम थी | जिनका अकेले परीक्षण का उपयोग करके पता लगाना कठिन होता है। इसी तरह, प्रैक्सिस हाई इंटीग्रिटी सिस्टम्स ने सुरक्षित स्मार्ट-कार्ड प्रमाणन प्राधिकरण के लिए सॉफ्टवेयर के विकास (कोड की लगभग 100,000 लाइनें) के समय सीएसपी मॉडलिंग और विश्लेषण प्रयुक्त किया जिससे यह सत्यापित किया जा सके कि उनका रचना सुरक्षित और डेडलॉक से मुक्त था। प्रैक्सिस का प्रमाणित है कि तुलनीय प्रणालियों की तुलना में प्रणाली में बहुत कम दोष दर है।[10]

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


अनौपचारिक विवरण

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

प्राचीन

सीएसपी अपनी प्रक्रिया बीजगणित में प्राचीन के दो वर्ग प्रदान करता है |

कार्य
घटनाएँ संचार या परस्पर क्रिया का प्रतिनिधित्व करती हैं। उन्हें अविभाज्य और तात्कालिक माना जाता है। वे परमाणु नाम (जैसे चालू, बंद), यौगिक नाम (जैसे वाल्व.ओपन, वाल्व.क्लोज़), या इनपुट/आउटपुट इवेंट (जैसे माउस एक्सवाई, स्क्रीन!बिटमैप) हो सकते हैं।

प्राचीन प्रक्रियाएं

प्राचीन प्रक्रियाएं मौलिक व्यवहारों का प्रतिनिधित्व करती हैं | उदाहरणों में विराम (वह प्रक्रिया जो कुछ भी संचार नहीं करती है, जिसे गतिरोध भी कहा जाता है), और छोडना (जो सफल समाप्ति का प्रतिनिधित्व करता है) सम्मिलित हैं।

बीजगणितीय संचालक

सीएसपी में बीजगणितीय संचालको की विस्तृत श्रृंखला है। प्रमुख हैं:

उपसर्ग
उपसर्ग संचालक नई प्रक्रिया का उत्पादन करने के लिए घटना और प्रक्रिया को जोड़ता है। उदाहरण के लिए,
वह प्रक्रिया है जो a अपने पर्यावरण के साथ संचार करने को तैयार है और उसके बाद a, प्रक्रिया P की तरह व्यवहार करता है .
निर्धारक विकल्प
नियतात्मक (या बाहरी) विकल्प संचालक प्रक्रिया के भविष्य के विकास को दो घटक प्रक्रियाओं के बीच एक विकल्प के रूप में परिभाषित करने की अनुमति देता है और पर्यावरण को किसी प्रक्रिया के लिए प्रारंभिक घटना को संप्रेषित करके विकल्प को हल करने की अनुमति देता है। उदाहरण के लिए,
वह प्रक्रिया है जो प्रारंभिक घटनाओं a और b को संप्रेषित करने के लिए तैयार है और बाद में या तो P या Q,के रूप व्यवहार करता है जिसके आधार पर पर्यावरण संचार करने के लिए प्रारंभिक घटना का चयन करता है। यदि दोनों a और b को एक साथ संप्रेषित किया गया था, तो विकल्प को गैर-निर्धारित रूप से हल किया जाएगा।
गैर नियतात्मक विकल्प
गैर नियतात्मक (या आंतरिक) विकल्प संचालक प्रक्रिया के भविष्य के विकास को दो घटक प्रक्रियाओं के बीच विकल्प के रूप में परिभाषित करने की अनुमति देता है, किन्तु पर्यावरण को किसी भी नियंत्रण की अनुमति नहीं देता है कि कौन से घटक प्रक्रियाओं का चयन किया जाएगा। उदाहरण के लिए,
जैसा व्यवहार कर सकता है या . मानने से इंकार कर सकता है a या b और संचार करने के लिए तभी बाध्य है जब पर्यावरण दोनों प्रदान करता है a और b. यदि विकल्प के दोनों पक्षों की प्रारंभिक घटनाएँ समान हैं, तो गैर-नियतात्मकता को अनजाने में नाममात्र निर्धारक विकल्प में प्रस्तुत किया जा सकता है। तो, उदाहरण के लिए,
या तो या की तरह व्यवहार कर सकता है। यह a या b को स्वीकार करने से इंकार कर सकता है और केवल तभी संचार करने के लिए बाध्य होता है | जब पर्यावरण a और b दोनों प्रदान करता है। यदि विकल्प के दोनों पक्षों की प्रारंभिक घटनाएँ समान हैं, तो गैर-नियतात्मकता को अनजाने में एक नाममात्र नियतात्मक विकल्प में प्रस्तुत किया जा सकता है। तो उदाहरण के लिए
के समान है |
इंटरलिविंग
इंटरलीविंग संचालक पूरी तरह से स्वतंत्र समवर्ती गतिविधि का प्रतिनिधित्व करता है। प्रक्रिया
दोनों के रूप में व्यवहार करता है P और Q इसके साथ ही। दोनों प्रक्रियाओं की घटनाओं को इच्छानुसार समय के साथ जोड़ा जाता है।
इंटरफ़ेस समानांतर
इंटरफ़ेस समानांतर संचालक समवर्ती गतिविधि का प्रतिनिधित्व करता है जिसके लिए घटक प्रक्रियाओं के बीच सिंक्रनाइज़ेशन की आवश्यकता होती है: इंटरफ़ेस समुच्चय में कोई भी घटना तभी हो सकती है जब सभी घटक प्रक्रियाएँ उस घटना में संलग्न होने में सक्षम हों। उदाहरण के लिए, प्रक्रिया
P और Q दोनों की तरह एक साथ व्यवहार करता है। दोनों प्रक्रियाओं a की घटनाओं को इच्छानुसार समय के साथ जोड़ा जाता है।
कार्य a में सम्मिलित हो सकते हैं और प्रक्रिया बन सकते हैं |
जबकि
बस गतिरोध होगा।
प्रच्छादन
प्रच्छादन वाला संचालक कुछ घटनाओं को अप्राप्य बनाकर सार प्रक्रियाओं की विधि प्रदान करता है। प्रच्छादन का सामान्य उदाहरण है |
जो यह मानते हुए कि P में प्रकट नहीं होने वाली घटना a को कम कर देता है |


उदाहरण

मूलरूप सीएसपी उदाहरणों में से चॉकलेट वेंडिंग मशीन का एक सार प्रतिनिधित्व है और कुछ चॉकलेट खरीदने के इच्छुक व्यक्ति के साथ इसकी परस्पर क्रिया है। यह वेंडिंग मशीन दो अलग-अलग घटनाओं, "कॉइन" और "चोक" को अंजाम देने में सक्षम हो सकती है | जो क्रमशः भुगतान की प्रविष्टि और चॉकलेट की डिलीवरी का प्रतिनिधित्व करती हैं। एक मशीन जो चॉकलेट देने से पहले भुगतान (केवल नकद में) की मांग करती है, उसे इस प्रकार लिखा जा सकता है |

एक व्यक्ति जो भुगतान करने के लिए सिक्के या कार्ड का उपयोग करना चुन सकता है | उसे इस प्रकार मॉडल किया जा सकता है |

इन दोनों प्रक्रियाओं को समानांतर में रखा जा सकता है | जिससे वे दूसरे के साथ परस्पर क्रिया कर सकें। समग्र प्रक्रिया का व्यवहार उन घटनाओं पर निर्भर करता है | जिन पर दो घटक प्रक्रियाओं को सिंक्रनाइज़ करना चाहिए। इस प्रकार,

जबकि यदि केवल "कॉइन" पर सिंक्रोनाइज़ेशन की आवश्यकता होती है, तो हम प्राप्त करेंगे

यदि हम "सिक्का" और "कार्ड" घटनाओं को छिपाकर इस बाद की समग्र प्रक्रिया को सार करते हैं, अर्थात

हमें गैर-नियतात्मक प्रक्रिया मिलती है |

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

औपचारिक परिभाषा

वाक्य - विन्यास

सीएसपी का वाक्य - विन्यास "नियमबद्ध" विधियों को परिभाषित करता है | जिसमें प्रक्रियाओं और घटनाओं को जोड़ा जा सकता है। माना e एक घटना हो, और X घटनाओं का समुच्चय हो। तब सीएसपी के मूल वाक्य - विन्यास को इस प्रकार परिभाषित किया जा सकता है |