प्रक्रिया गणना
कंप्यूटर विज्ञान में, प्रक्रिया गणना (या प्रक्रिया बीजगणित) औपचारिक रूप से मॉडलिंग समवर्ती प्रणालियों के लिए संबंधित दृष्टिकोणों का एक विविध परिवार है। प्रक्रिया गणना स्वतंत्र एजेंटों या प्रक्रियाओं के संग्रह के बीच बातचीत, संचार और सिंक्रनाइज़ेशन के उच्च-स्तरीय विवरण के लिए एक उपकरण प्रदान करती है। वे बीजगणितीय कानून भी प्रदान करते हैं जो प्रक्रिया विवरणों को हेरफेर और विश्लेषण करने की अनुमति देते हैं, और प्रक्रियाओं के बीच समानता के बारे में औपचारिक तर्क की अनुमति देते हैं (उदाहरण के लिए, bisimulation का उपयोग करना)। प्रक्रिया गणना के प्रमुख उदाहरणों में संचार अनुक्रमिक प्रक्रियाएं, संचार प्रणालियों की गणना, संचार प्रक्रियाओं का बीजगणित, और टेम्पोरल ऑर्डरिंग विशिष्टता की भाषा शामिल है।[1] परिवार में हाल ही में जोड़े गए पीआई-कैलकुलस | π-कैलकुलस, परिवेश की गणना , पीईपीए, फ्यूजन कैलकुलस और जोड़-गणना शामिल हैं।
आवश्यक विशेषताएं
जबकि मौजूदा प्रक्रिया कैलकुली की विविधता बहुत बड़ी है (वैरिएंट सहित जो स्टोकेस्टिक व्यवहार, समय की जानकारी और आणविक इंटरैक्शन का अध्ययन करने के लिए विशेषज्ञता शामिल है), ऐसी कई विशेषताएं हैं जो सभी प्रक्रिया कैलकुली में समान हैं:[2]
- साझा चर के संशोधन के बजाय संचार (संदेश-पास) के रूप में स्वतंत्र प्रक्रियाओं के बीच बातचीत का प्रतिनिधित्व करना।
- प्रिमिटिव के एक छोटे संग्रह का उपयोग करके प्रक्रियाओं और सिस्टम का वर्णन करना, और उन प्रिमिटिव के संयोजन के लिए ऑपरेटर्स।
- प्रक्रिया संचालकों के लिए बीजगणितीय कानूनों को परिभाषित करना, जो समीकरण तर्क का उपयोग करके प्रक्रिया अभिव्यक्तियों को हेरफेर करने की अनुमति देता है।
प्रक्रियाओं का गणित
एक प्रक्रिया कलन को परिभाषित करने के लिए, एक नाम (या चैनल (प्रोग्रामिंग)) के एक सेट से शुरू होता है जिसका उद्देश्य संचार के साधन प्रदान करना है। कई कार्यान्वयनों में, दक्षता में सुधार के लिए चैनलों के पास समृद्ध आंतरिक संरचना होती है, लेकिन अधिकांश सैद्धांतिक मॉडलों में इसे अलग कर दिया जाता है। नामों के अलावा, पुराने से नई प्रक्रियाएँ बनाने के लिए एक साधन की आवश्यकता होती है। बुनियादी ऑपरेटर, हमेशा किसी न किसी रूप में मौजूद होते हैं, अनुमति देते हैं:[3]
- प्रक्रियाओं की समानांतर रचना
- डेटा भेजने और प्राप्त करने के लिए किन चैनलों का उपयोग करना है, इसकी विशिष्टता
- बातचीत का अनुक्रमिकरण
- इंटरेक्शन पॉइंट्स को छिपाना
- पुनरावर्तन या प्रक्रिया प्रतिकृति
समानांतर रचना
दो प्रक्रियाओं की समानांतर रचना और , आमतौर पर लिखा जाता है , गणना के अनुक्रमिक मॉडल से प्रक्रिया गणना को अलग करने वाला प्रमुख आदिम है। समानांतर संरचना गणना की अनुमति देती है और एक साथ और स्वतंत्र रूप से आगे बढ़ने के लिए। लेकिन यह इंटरेक्शन की भी अनुमति देता है, जो कि सिंक्रोनाइज़ेशन और सूचनाओं का प्रवाह है को (या इसके विपरीत) दोनों द्वारा साझा किए गए चैनल पर। महत्वपूर्ण रूप से, एक एजेंट या प्रक्रिया को एक समय में एक से अधिक चैनल से जोड़ा जा सकता है।
चैनल तुल्यकालिक या अतुल्यकालिक हो सकते हैं। एक तुल्यकालिक चैनल के मामले में, संदेश भेजने वाला एजेंट तब तक प्रतीक्षा करता है जब तक कि दूसरे एजेंट को संदेश प्राप्त नहीं हो जाता। अतुल्यकालिक चैनलों को ऐसे किसी भी तुल्यकालन की आवश्यकता नहीं होती है। कुछ प्रक्रिया में कैलकुली (विशेषकर π-कैलकुलस) चैनल स्वयं (अन्य) चैनलों के माध्यम से संदेशों में भेजे जा सकते हैं, जिससे प्रक्रिया इंटरकनेक्शन की टोपोलॉजी बदल सकती है। कुछ प्रोसेस कैलकुली भी गणना के निष्पादन के दौरान चैनलों को बनाने की अनुमति देते हैं।
संचार
सहभागिता सूचना का एक निर्देशित प्रवाह हो सकता है (लेकिन हमेशा नहीं होता है)। अर्थात्, इनपुट और आउटपुट को दोहरी अंतःक्रियात्मक आदिम के रूप में प्रतिष्ठित किया जा सकता है। प्रक्रिया गणना जो इस तरह के भेद करती है, आमतौर पर एक इनपुट ऑपरेटर को परिभाषित करती है (उदा। ) और एक आउटपुट ऑपरेटर (उदा. ), दोनों एक इंटरेक्शन पॉइंट का नाम देते हैं (यहाँ ) जिसका उपयोग दोहरी अंतःक्रिया आदिम के साथ सिंक्रनाइज़ करने के लिए किया जाता है।
यदि सूचनाओं का आदान-प्रदान किया जाना चाहिए, तो यह आउटपुटिंग से इनपुटिंग प्रक्रिया तक प्रवाहित होगी। आउटपुट प्रिमिटिव भेजे जाने वाले डेटा को निर्दिष्ट करेगा। में , यह डेटा है . इसी तरह, यदि कोई इनपुट डेटा प्राप्त करने की अपेक्षा करता है, तो एक या एक से अधिक बाध्य चर डेटा के आने पर प्लेस-होल्डर्स के रूप में कार्य करेंगे। में , उस भूमिका को निभाता है। एक बातचीत में जिस तरह के डेटा का आदान-प्रदान किया जा सकता है, उसका चुनाव उन प्रमुख विशेषताओं में से एक है जो विभिन्न प्रक्रिया गणनाओं को अलग करता है।
अनुक्रमिक रचना
कभी-कभी बातचीत अस्थायी रूप से आदेशित होनी चाहिए। उदाहरण के लिए, एल्गोरिदम निर्दिष्ट करना वांछनीय हो सकता है जैसे: पहले कुछ डेटा प्राप्त करें और उसके बाद उस डेटा को भेजें . ऐसे उद्देश्यों के लिए अनुक्रमिक संरचना का उपयोग किया जा सकता है। यह गणना के अन्य मॉडलों से अच्छी तरह से जाना जाता है। प्रक्रिया गणना में, क्रमिककरण ऑपरेटर आमतौर पर इनपुट या आउटपुट, या दोनों के साथ एकीकृत होता है। उदाहरण के लिए, प्रक्रिया एक इनपुट के लिए प्रतीक्षा करेंगे . यह इनपुट होने पर ही प्रक्रिया होगी के माध्यम से प्राप्त डेटा के साथ सक्रिय हो पहचानकर्ता के लिए प्रतिस्थापित .
कमी शब्दार्थ
प्रक्रिया गणना के कम्प्यूटेशनल सार युक्त प्रमुख परिचालन कमी नियम, समानांतर संरचना, अनुक्रमिकरण, इनपुट और आउटपुट के संदर्भ में पूरी तरह से दिया जा सकता है। इस कमी का विवरण गणनाओं के बीच भिन्न होता है, लेकिन सार लगभग समान रहता है। कमी नियम है:
इस कमी नियम की व्याख्या है:
- प्रक्रिया एक संदेश भेजता है, यहाँ , चैनल के साथ . दो तरह से, प्रक्रिया चैनल पर वह संदेश प्राप्त करता है .
- संदेश भेजे जाने के बाद, प्रक्रिया बन जाती है , जबकि प्रक्रिया बन जाती है , जो है स्थान धारक के साथ द्वारा प्रतिस्थापित , पर डेटा प्राप्त हुआ .
प्रक्रियाओं का वर्ग जो सीमा से अधिक की अनुमति है क्योंकि आउटपुट ऑपरेशन की निरंतरता कैलकुलस के गुणों को काफी हद तक प्रभावित करती है।
छिपाना
प्रक्रियाएं उन कनेक्शनों की संख्या को सीमित नहीं करती हैं जो किसी दिए गए अंतःक्रियात्मक बिंदु पर किए जा सकते हैं। लेकिन इंटरेक्शन पॉइंट हस्तक्षेप (यानी इंटरैक्शन) की अनुमति देते हैं। के लिए कॉम्पैक्ट, न्यूनतम और रचनात्मक प्रणालियों का संश्लेषण, हस्तक्षेप को प्रतिबंधित करने की क्षमता महत्वपूर्ण है। छिपाने के संचालन से रचना करते समय बातचीत बिंदुओं के बीच बने कनेक्शनों को नियंत्रित करने की अनुमति मिलती है समानांतर में एजेंट। छिपाने को विभिन्न तरीकों से निरूपित किया जा सकता है। उदाहरण के लिए, π-कैलकुलस में एक नाम को छुपाना में के रूप में व्यक्त किया जा सकता है , जबकि संचार अनुक्रमिक प्रक्रियाओं में इसे इस रूप में लिखा जा सकता है .
पुनरावर्तन और प्रतिकृति
अब तक प्रस्तुत किए गए ऑपरेशन केवल परिमित अंतःक्रिया का वर्णन करते हैं और परिणामस्वरूप पूर्ण संगणनीयता के लिए अपर्याप्त हैं, जिसमें गैर-समाप्ति व्यवहार शामिल है। पुनरावर्तन और प्रतिकृति (कंप्यूटिंग) ऐसे ऑपरेशन हैं जो अनंत व्यवहार के परिमित विवरण की अनुमति देते हैं। प्रत्यावर्तन अनुक्रमिक दुनिया से अच्छी तरह से जाना जाता है। प्रतिकृति की एक अनगिनत अनंत संख्या की समानांतर रचना को संक्षिप्त करने के रूप में समझा जा सकता है प्रक्रियाएं:
अशक्त प्रक्रिया
प्रक्रिया गणना में आम तौर पर एक अशक्त प्रक्रिया भी शामिल होती है (जिसे विभिन्न रूप में दर्शाया जाता है