[इस उत्तर के पीडीएफ संस्करण के लिए , आंकड़े या चित्र इंटरैक्टिव और गतिशील हैं।]
नेट एलीमेंट्स एंड एनोटेशन्स: ए-पर्पस विजुअल प्रोग्रामिंग लैंग्वेज
मैं एक्रोबैट® / जावास्क्रिप्ट एपीआई का उपयोग करने वाले जावास्क्रिप्ट ™ कार्यक्रमों को व्यवस्थित करने के लिए ग्राफिक्स का उपयोग करता हूं। प्रत्येक ग्राफ़िक ऑब्जेक्ट पेट्री नेट तत्व (स्थान, संक्रमण, इनपुट या आउटपुट) का प्रतिनिधित्व करता है या एक से अधिक पेट्री नेट तत्व का प्रतिनिधित्व करता है। प्रत्येक ग्राफिक ऑब्जेक्ट वास्तव में संबंधित शुद्ध तत्व का एक एनोटेशन है। हालाँकि, यदि प्रत्येक ग्राफ़िक ऑब्जेक्ट एक और केवल एक शुद्ध तत्व के लिए मैप करता है, तो इसका उपयोग शुद्ध तत्व उत्पन्न करने के लिए किया जा सकता है। और यदि कोई ग्राफिक ऑब्जेक्ट एक से अधिक नेट तत्व पर मैप करता है और मैपिंग अच्छी तरह से परिभाषित है तो इसका उपयोग नेट तत्वों को उत्पन्न करने के लिए भी किया जा सकता है। मानक पेट्री नेट तत्वों को कुछ प्रकार के ग्राफिक्स द्वारा दर्शाया जाता है: एक सर्कल एक जगह है, एक वर्ग या आयत या रेखा एक संक्रमण है, एक सर्कल से एक वर्ग तक एक तीर एक इनपुट है और एक वर्ग से एक सर्कल के लिए एक तीर है उत्पादन। इसके अलावा,
["उत्तर पेट्री नेट" में एनोटेशन के प्रकार इस उत्तर के पीडीएफ संस्करण में पाए जाते हैं।]
कार्ल एडम पेट्री ने इन विचारों में से अधिकांश का वर्णन किया (अपने डॉक्टरेट शोध प्रबंध में एक "मानक पेट्री नेट" में एनोटेशन के प्रकार सहित) उन्होंने कई तर्क सर्किटों के वर्णन के लिए शुद्ध तत्व और एनोटेशन भी लागू किए, जैसे कि चित्रा। 6।
लाभ और चुनौतियाँ
एक दृश्य प्रोग्रामिंग भाषा कंप्यूटर प्रोग्रामर को कंप्यूटर प्रोग्राम विकसित करने में मदद कर सकती है (Menzies, 2002)।
मेरे पास कम से कम तीन कारण हैं कि मुझे शुद्ध तत्व और एनोटेशन उपयोगी क्यों लगते हैं (फायदे?)।
Firs कारण। प्रक्रिया तर्क को एक बार में एक तत्व बनाया जा सकता है। इसका मतलब है कि मौजूदा नेट (पेट्री, 1966) में तत्वों को जोड़कर एक नेट को बढ़ाया जा सकता है। उदाहरण के लिए, एक नियंत्रक के एक मॉडल को आंतरिक और बाहरी घटकों में विभाजित किया जा सकता है। आंतरिक घटक प्रणाली को नियंत्रित करता है। बाहरी घटक पर्यावरण से इनपुट स्वीकार करके पर्यावरण के साथ हस्तक्षेप करता है। चित्रा 1 आंतरिक घटक का पेट्री नेट मॉडल है। उचित घटक और संक्रमण (चित्रा 2) जोड़कर आंतरिक घटक के पेट्री नेट मॉडल के लिए बाहरी घटक के पेट्री नेट मॉडल को जोड़ना संभव है।
चित्रा 1 एक नियंत्रक के आंतरिक घटक का एक पेट्री नेट मॉडल (हालोवे, क्रोग और जियुआ, 1997)
चित्र 2 एक नियंत्रक के आंतरिक और बाह्य अवयवों का पेट्री नेट मॉडल (हालॉवे, क्रॉघ और गिउआ, 1997)
दूसरा कारण। प्रत्येक शुद्ध तत्व से जुड़े कोड एक से अधिक "प्रोग्रामिंग भाषा" (पेट्री, 1973) से आ सकते हैं। वे कंप्यूटर भाषा जैसे जावास्क्रिप्ट, कोबोल, एडीए और एक विधानसभा भाषा से आ सकते हैं। वे गणितीय भाषा जैसे बीजगणितीय प्रतीकों से आ सकते हैं। वे अंग्रेजी, जर्मन, फ्रेंच, ग्रीक, तागालोग, चीनी, आदि में एनकोडेड गद्य से आ सकते हैं। इस प्रकार इसे सॉफ्टवेयर या सिस्टम डेवलपमेंट लाइफ साइकल के दौरान संचार और सहयोग के लिए एक आधार के रूप में इस्तेमाल किया जा सकता है; और विभिन्न उपयोगकर्ताओं, डेवलपर्स और हितधारकों (पेट्री, 1973) के बीच।
तीसरा कारण। नेट में कुछ ग्राफिक्स ऑब्जेक्ट्स पर ध्यान केंद्रित करना और संबंधित ग्राफिक्स ऑब्जेक्ट्स के लिए कोड या लॉजिक एनोटेशन लिखना संभव है। चित्र 3 में एक कार्ड गेम के पेट्री नेट मॉडल पर विचार करें। यदि इनपुट P7 4 T4 के लिए तीर किसी स्थान / संक्रमण नेट में इनपुट के लिए एक मानक ग्राफिक्स है और यदि m_7 उस स्थान P7 के लिए निशान है, तो तर्क की घोषणा के लिए इनपुट स्थान के चिह्न को अद्यतन करना m_7 = m_7-1 है। यदि s_9 ^ - इनपुट की स्थिति है तो इनपुट की स्थिति को अपडेट करने के लिए तर्क एनोटेशन s_9 ^ - = ((m_7 <1)? False: true) है।
चित्र 3 एक कार्ड गेम का पेट्री नेट मॉडल
मेरे पास कम से कम तीन कारण हैं कि मैं पेट्री नेट के आवेदन को चुनौतीपूर्ण (नुकसान) क्यों मानता हूं?
यदि बहुत अधिक ग्राफिक्स ऑब्जेक्ट हैं तो नेट बनाना या पढ़ना मुश्किल होगा। ग्राफिक्स का एक सबसेट लेने से कठिनाई को कम किया जा सकता है और एक, दो या तीन ग्राफिक्स प्रतीक (नो, 1973; पेट्री, 1966) का उपयोग करके उनका प्रतिनिधित्व करते हैं। उदाहरण के लिए, अगर चित्र 3 में एक कार्ड गेम के पेट्री नेट मॉडल को आरेख में बहुत अधिक ग्राफिक ऑब्जेक्ट माना जाता है, तो कुछ ग्राफिक्स को संयोजित करना और फिर भी आरेख को कंप्यूटर प्रोग्राम में मैप करने के लिए पर्याप्त जानकारी बनाए रखना संभव है। चित्र 4 पर विचार करें, एक ही खेल का पेट्री नेट मॉडल चित्र 3 में उच्च-स्तरीय ग्राफिक्स (Chionglo, 2016a) के साथ पाया जाता है।
चित्र 4 हाई-लेवल ग्राफिक्स (चिएनलो, 2016 ए) का उपयोग करते हुए एक कार्ड गेम का पेट्री नेट मॉडल
एक अन्य उदाहरण में, चित्र 2 में नियंत्रक के बाहरी घटकों को एक अधिक संक्षिप्त ग्राफिक प्रतिनिधित्व बनाने के लिए जोड़ा जा सकता है जैसा कि चित्र 5 में दिखाया गया है।
चित्रा 5 बाहरी घटकों के लिए उच्च-स्तरीय ग्राफिक्स के साथ एक नियंत्रक का पेट्री नेट मॉडल
अंत में, स्थानों का एक पारस्परिक रूप से अनन्य सेट या संक्रमणों का एक परस्पर अनन्य सेट भी एक उच्च-स्तरीय ग्राफिक्स ऑब्जेक्ट (चियनग्लो, 2015) का उपयोग करके प्रतिनिधित्व किया जा सकता है।
दूसरा कारण। मानक ग्राफिक्स के साथ भी, ग्राफिक्स को आकर्षित करना और स्थिति बनाना चुनौतीपूर्ण हो सकता है, खासकर अगर कोई अंतिम आरेख को उपयोगकर्ता- या पाठक के अनुकूल होने की उम्मीद करता है। उपयोगकर्ता-या पाठक-अनुकूल आरेख बनाने के कुछ निर्णयों में शामिल हैं: ग्राफिक्स ऑब्जेक्ट्स का उचित लेआउट, कैनवास और आकृतियों का उचित आयाम, तीरों की वक्रता, तीर प्रमुखों का प्रकार, पाठ का आकार और फ़ॉन्ट, और ग्राफिक्स और पाठ के लिए रंगों की पसंद।
तीसरा कारण। एक क्रमबद्ध तरीके से शुद्ध तत्वों के एनोटेशन बनाना आसान है क्योंकि हर एनोटेशन प्रत्यक्ष या अप्रत्यक्ष रूप से एक शुद्ध तत्व से संबंधित है। हालाँकि हर नेट तत्व के ग्राफिक्स के साथ हर एनोटेशन को प्रदर्शित करना एक अच्छा विचार नहीं हो सकता है क्योंकि आरेख में बहुत अधिक जानकारी प्रस्तुत की जा सकती है। उदाहरण के लिए, एक तर्क सर्किट के पेट्री नेट मॉडल के आरेख पर विचार करें जिसमें सभी संपत्ति और तर्क एनोटेशन (चित्र 6) के संदर्भ शामिल हैं। [मूल मॉडल में प्रत्येक आउटपुट की स्थिति के लिए एक परीक्षण की स्थिति शामिल थी (पृष्ठ Pet (के पृष्ठ 31 पर आंकड़ा ३१ (पेट्री, १ ९ ६६)); परीक्षण की स्थिति यहां छोड़ दी गई थी क्योंकि यह दिए गए प्रारंभिक अंकन के लिए मूल मॉडल के बराबर है। इस प्रकार हर आउटपुट में आउटपुट स्थान के निशान की गणना के लिए एक तर्क एनोटेशन होता है।]
चित्र 6 एनोटेशन के साथ एक स्थान / संक्रमण नेट - पेट्री के शोध प्रबंध के अंग्रेजी अनुवाद के 31 पृष्ठ 78 के आधार पर (1966)
इस चुनौती को कम करने का एक तरीका यह होगा कि मॉडल में उपयोग किए जाने वाले एनोटेशन के प्रकारों की पहचान की जाए, और उन ग्राफिक्स ऑब्जेक्ट्स को परिभाषित किया जाए जिसमें इन प्रकारों के एनोटेशन शामिल हैं (पेट्री, 1966)। इस प्रकार जब एक पेट्री नेट आरेख परिभाषाओं से ग्राफिक्स ऑब्जेक्ट्स से बना होता है, तो इन ऑब्जेक्ट्स की व्याख्या में "अदृश्य" एनक्लोजर शामिल होना चाहिए। चित्रा 7 को एक मानक पेट्री नेट के रूप में व्याख्या की जानी चाहिए (परिभाषाओं के लिए एक मानक पेट्री नेट के एनोटेशन देखें); इसलिए, आरेख एनोटेशन को आरेख से छोड़ा जा सकता है।
चित्र 7 ए प्लेस / ट्रांज़िशन नेट - पेट्री के शोध प्रबंध के अंग्रेजी अनुवाद के 31 पृष्ठ 78 के आधार पर (1966)
इस चुनौती को कम करने का एक अन्य तरीका यह होगा कि आरेख (नों) (चिएन्ग्लो, 2016 बी; 2014) को पूरक या पूरक करने के लिए एनोटेशन के फॉर्म विचारों का उपयोग किया जाए। विचारों को छोटे विचारों में विभाजित किया जा सकता है, और प्रत्येक दृश्य को प्रदर्शित और छिपाया जा सकता है।
संदर्भ
Chionglo, JF (2016a)। स्टैक ओवरफ्लो में "एक प्रतिक्रिया / रिड्यूक्स फ्लैशकार्ड गेम के लिए एक राज्य प्रवाह कैसे डिज़ाइन करें" का उत्तर दें। Https://www.academia.edu/34059934/A_Reply_to_How_to_design_a_state_flow_for_a_react_redux_flashcard_game_Stack_Overflow पर उपलब्ध है ।
Chionglo, JF (2016b)। पेट्री नेट के दो रूप। Http://www.aespen.ca/AEnswers/CAPDissF31P78-form.pdf पर उपलब्ध है ।
चियनग्लो, जेएफ (2015)। उच्च-स्तरीय ग्राफिक्स का उपयोग करके पेट्री नेट आरेख में शुद्ध तत्व ग्राफिक्स की संख्या को कम करना। Http://www.aespen.ca/AEnswers/WjTpY1429533268 पर उपलब्ध है ।
Chionglo, JF (2014)। कंप्यूटर प्रोग्रामिंग के लिए शुद्ध तत्व और एनोटेशन: पीडीएफ में कम्प्यूटेशन और इंटरैक्शन। पर उपलब्ध है https://www.academia.edu/26906314/Net_Elements_and_Annotations_for_Computer_Programming_Computations_and_Interactions_in_PDF ।
हल्लोवे, ले; क्रोग, बीएच और गिउआ, ए (1997)। नियंत्रित असतत इवेंट सिस्टम [इलेक्ट्रॉनिक संस्करण] के लिए पेट्री नेट विधियों का एक सर्वेक्षण। असतत घटना गतिशील सिस्टम: सिद्धांत और अनुप्रयोग, वॉल्यूम। 7. बोस्टन: क्लूवर एकेडमिक पब्लिशर्स, पीपी। 151 - 190।
मेन्ज़ीस, टी। (2002)। दृश्य प्रोग्रामिंग भाषाओं के लिए मूल्यांकन मुद्दे। एसके चांग (एड) में। सॉफ्टवेयर इंजीनियरिंग और नॉलेज इंजीनियरिंग की हैंडबुक, वॉल्यूम। 2 उभरती हुई प्रौद्योगिकियां। विश्व वैज्ञानिक प्रकाशन सह। Pte। लिमिटेड, पीपी। 93 - 101।
नोए, जेडी और नट, जीजे (1973)। "समानांतर सिस्टम के प्रतिनिधित्व के लिए मैक्रो ई-नेट", कंप्यूटर पर IEEE लेनदेन, वॉल्यूम। सी -22, नंबर 8, अगस्त 1973, पीपी। 718 - 727।
पेट्री, सीए (1973)। नेट थ्योरी की अवधारणा। कंप्यूटर विज्ञान की गणितीय नींव में: प्रोक। संगोष्ठी और समर स्कूल, उच्च टाट्रा, 3 सितम्बर - 8, 1973, पृष्ठ 137 - 146। गणित। Inst। स्लोवाक Acad की। विज्ञान की, 1973।
पेट्री, सीए (1966)। ऑटोमोटा के साथ संचार [ट्रांस। सीएफ ग्रीन, जूनियर]। तकनीकी रिपोर्ट RADC-TR-65-377 (वॉल्यूम I) की अनुपूरक I। ग्रिफिस एयर फोर्स बेस, एनवाई: रोम एयर डेवलपमेंट सेंटर, रिसर्च एंड टेक्नोलॉजी डिवीजन, एयर फोर्स सिस्टम कमांड, ग्रिफिस एयर फोर्स बेस। Http://www.informatik.uni-hamburg.de/TGI/mitarbeiter/profs/petri/doc/Petri-diss-engl.pdf से 31 अगस्त 2011 को लिया गया ।