स्पेसिफिकेशन लैंग्वेज: Difference between revisions

From Vigyanwiki
No edit summary
No edit summary
Line 1: Line 1:
{{Short description|Formal language used in computer science}}
{{Short description|Formal language used in computer science}}
एक विनिर्देश भाषा [[कंप्यूटर विज्ञान]] में एक [[औपचारिक भाषा]] है जिसका उपयोग [[सिस्टम विश्लेषण]], [[आवश्यकताओं के विश्लेषण]] और [[सिस्टम डिज़ाइन]] के दौरान [[प्रोग्रामिंग भाषा]] की तुलना में बहुत उच्च स्तर पर एक सिस्टम का वर्णन करने के लिए किया जाता है, जिसका उपयोग किसी सिस्टम के लिए निष्पादन योग्य कोड का उत्पादन करने के लिए किया जाता है।<ref>[[Joseph Goguen]]
एक स्पेसिफिकेशन लैंग्वेज [[कंप्यूटर विज्ञान]] में एक [[औपचारिक भाषा|औपचारिक]] लैंग्वेज है जिसका उपयोग [[सिस्टम विश्लेषण]], [[आवश्यकताओं के विश्लेषण]] और [[सिस्टम डिज़ाइन]] के समय [[प्रोग्रामिंग भाषा|प्रोग्रामिंग]] लैंग्वेज की तुलना में बहुत उच्च स्तर पर एक सिस्टम का वर्णन करने के लिए किया जाता है, जिसका उपयोग किसी सिस्टम के लिए निष्पादन योग्य कोड का उत्पादन करने के लिए किया जाता है।<ref>[[Joseph Goguen]]
"One, None, A Hundred Thousand Specification Languages" Invited Paper, [[IFIP]] Congress 1986 pp 995-1004</ref>
"One, None, A Hundred Thousand Specification Languages" Invited Paper, [[IFIP]] Congress 1986 pp 995-1004</ref>
==अवलोकन==
==अवलोकन==
विशिष्टता भाषाओं को आम तौर पर सीधे निष्पादित नहीं किया जाता है। वे क्या का वर्णन करने के लिए हैं, कैसे का नहीं। वास्तव में, यदि किसी आवश्यकता विनिर्देश को अनावश्यक कार्यान्वयन विवरण के साथ अव्यवस्थित किया जाता है तो इसे एक त्रुटि माना जाता है।
स्पेसिफिकेशन लैंग्वेज को समान्यत: सीधे निष्पादित नहीं किया जाता है। वे क्या का वर्णन करने के लिए हैं, कैसे का नहीं। वास्तव में, यदि किसी आवश्यकता स्पेसिफिकेशन को अनावश्यक कार्यान्वयन विवरण के साथ अव्यवस्थित किया जाता है तो इसे एक त्रुटि माना जाता है।


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


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


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


विनिर्देशन भाषाओं का एक महत्वपूर्ण उपयोग प्रोग्राम की शुद्धता के [[गणितीय प्रमाण]]ों के निर्माण को सक्षम करना है ([[स्वचालित प्रमेय कहावत]] देखें)।
विनिर्देशन लैंग्वेज का एक महत्वपूर्ण उपयोग प्रोग्राम की शुद्धता के [[गणितीय प्रमाण]] के निर्माण को सक्षम करना है ([[स्वचालित प्रमेय कहावत|स्वचालित प्रमेय]] देखें)।


==भाषाएँ==
==लैंग्वेज एँ==
{{main article|:Category:Formal specification languages}}
{{main article|:श्रेणी:औपचारिक विशिष्टता भाषाएँ}}
{{div col|content=
{{div col|content=
*[[ANSI/ISO C Specification Language|ACSL]]
*[[एएनएसआई/आईएसओ सी विशिष्टता भाषा|एसीएसएल]]
*[[Attempto Controlled English]]<ref>{{cite book |last1=Fuchs |first1=Norbert E. |first2=Uta |last2=Schwertel |first3=Rolf |last3=Schwitter |chapter=Attempto Controlled English—not just another logic specification language |chapter-url=ftp://nozdr.ru/biblio/kolxo3/Cs/CsLn/Logic%20Programming%20Synthesis%20and%20Transformation,%208%20conf.,%20LOPSTR'98(LNCS1559,%20Springer,%201990)(ISBN%203540657657)(340s).pdf#page=10 |title=International Workshop on Logic Programming Synthesis and Transformation |publisher=Springer |series=Lecture Notes in Computer Science |volume=1559 |year=1998 |isbn=978-3-540-65765-1 |pages=1–20 |doi=10.1007/3-540-48958-4_1}}</ref>
*[[नियंत्रित अंग्रेजी का प्रयास]]<ref>{{उद्धरण पुस्तक |last1=Fuchs |first1=Norbert E. |first2=Uta |last2=Schwertel |first3=Rolf |last3=Schwitter |अध्याय=नियंत्रित अंग्रेजी का प्रयास—सिर्फ नहीं एक अन्य तर्क विनिर्देश भाषा |chapter-url=ftp://nozdr.ru/biblio/kolxo3/Cs/CsLn/Logic%20Programming%20Synthsis%20and%20Transformation,%208%20conf.,%20LOPSTR'98(LNCS1559,%20Springer ,%201990)(आईएसबीएन%203540657657)(340s).pdf#page=10 |शीर्षक=तर्क प्रोग्रामिंग संश्लेषण और परिवर्तन पर अंतर्राष्ट्रीय कार्यशाला |प्रकाशक=स्प्रिंगर |श्रृंखला=कंप्यूटर विज्ञान में व्याख्यान नोट्स |खंड=1559 |वर्ष=1998 | isbn=978-3-540-65765-1 |पेज=1–20 |doi=10.1007/3-540-48958-4_1}}</ref>
*[[Common Algebraic Specification Language|CASL]]
*[[सामान्य बीजीय विशिष्टता भाषा|CASL]]
*[[Vienna Development Method|VDM]]
*[[वियना विकास विधि|वीडीएम]]
*[[Z notation]]
*[[जेड संकेतन]]
*[[TLA+]]
*[[टीएलए+]]
*[[Lepus3|LePUS3]] (a visual, object-oriented design description language)
*[[Lepus3|LePUS3]] (एक दृश्य, वस्तु-उन्मुख डिजाइन विवरण भाषा)
*[[Perfect Developer|Perfect]]
*[[परफेक्ट डेवलपर|परफेक्ट]]
*[[Alloy (specification language)|Alloy]]
*[[मिश्र धातु (विनिर्देश भाषा)|मिश्र धातु]]
*[[Language Of Temporal Ordering Specification|LOTOS]]
*[[अस्थायी आदेश विशिष्टता की भाषा|LOTOS]]
*[[E-LOTOS]]
*[[-लोटोस]]
*[[MML (programming language)|MML]]
*[[एमएमएल (प्रोग्रामिंग भाषा)|एमएमएल]]
*Refine Language<ref>{{cite book|last=Linden|first=Theodore|author2=Lawrence Markosian|chapter=Transformational Synthesis Using Refine |editor-first=Mark |editor-last=Richer |title=AI Tools and Techniques|date=1989|publisher=Ablex|isbn=0-89391-494-0|pages=261–286|chapter-url=https://books.google.com/books?id=iMUfTzVuasUC&q=Simkit+Intellicorp&pg=PA245|access-date=6 July 2014}}</ref>
* भाषा को परिष्कृत करें
*[[SequenceL]]
*[[अनुक्रमएल]]
*[[Symbolic Model Verification|SMV]]
*[[प्रतीकात्मक मॉडल सत्यापन|एसएमवी]]
*[[Specification and Design Language|SDL]]
*[[विनिर्देश और डिजाइन भाषा|एसडीएल]]
*[[B-Method]]
*[[बी-विधि]]
}}
}}


==यह भी देखें==
==यह भी देखें==
*[[औपचारिक विशिष्टता]]
*[[औपचारिक विशिष्टता|फॉर्मल]] [[सामान्य बीजगणितीय विशिष्टता भाषा|स्पेसिफिकेशन]]  
*[[भाषा-स्वतंत्र विशिष्टता]]
*[[भाषा-स्वतंत्र विशिष्टता|लैंग्वेज -इंडिपेंडेंट]] [[औपचारिक विशिष्टता|स्पेसिफिकेशन]]  
*विनिर्देश और विवरण भाषा
*स्पेसिफिकेशन और डिस्क्रिप्शन  लैंग्वेज
*[[एकीकृत मॉडलिंग भाषा]]
*[[एकीकृत मॉडलिंग भाषा|एकीकृत मॉडलिंग लैंग्वेज]]  


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

Revision as of 10:17, 3 August 2023

एक स्पेसिफिकेशन लैंग्वेज कंप्यूटर विज्ञान में एक औपचारिक लैंग्वेज है जिसका उपयोग सिस्टम विश्लेषण, आवश्यकताओं के विश्लेषण और सिस्टम डिज़ाइन के समय प्रोग्रामिंग लैंग्वेज की तुलना में बहुत उच्च स्तर पर एक सिस्टम का वर्णन करने के लिए किया जाता है, जिसका उपयोग किसी सिस्टम के लिए निष्पादन योग्य कोड का उत्पादन करने के लिए किया जाता है।[1]

अवलोकन

स्पेसिफिकेशन लैंग्वेज को समान्यत: सीधे निष्पादित नहीं किया जाता है। वे क्या का वर्णन करने के लिए हैं, कैसे का नहीं। वास्तव में, यदि किसी आवश्यकता स्पेसिफिकेशन को अनावश्यक कार्यान्वयन विवरण के साथ अव्यवस्थित किया जाता है तो इसे एक त्रुटि माना जाता है।

कई विशिष्ट दृष्टिकोणों की एक सामान्य मौलिक धारणा यह है कि कार्यक्रमों को बीजगणित या मॉडल सिद्धांत या मॉडल-सैद्धांतिक संरचनाओं के रूप में तैयार किया जाता है जिसमें उन सेटों पर फ़ंक्शन (गणित) के साथ डेटा मानों के सेट (गणित) का संग्रह सम्मिलित होता है। अमूर्तता का यह स्तर इस दृष्टिकोण से मेल खाता है कि किसी कार्यक्रम की शुद्धता इनपुट/आउटपुट व्यवहार की शुद्धता को उसके अन्य सभी गुणों पर प्राथमिकता दी जाती है।

विनिर्देशन के लिए प्रॉपर्टी -ओरिएंटेड दृष्टिकोण में (उदाहरण के लिए सामान्य बीजगणितीय स्पेसिफिकेशन लैंग्वेज द्वारा लिया गया), कार्यक्रमों के विनिर्देशों में मुख्य रूप से तार्किक एक्सिम होते हैं, समान्यत: एक तार्किक प्रणाली में जिसमें समानता की प्रमुख भूमिका होती है, जो उन गुणों का वर्णन करती है जिन्हें कार्यों को संतुष्ट करने की आवश्यकता होती है - अधिकांशतः केवल उनके अंतर्संबंध द्वारा यह वियना विकास विधि और Z जैसे फ्रेमवर्क में तथाकथित मॉडल-आधारित स्पेसिफिकेशन मॉडल-ओरिएंटेड स्पेसिफिकेशन के विपरीत है, जिसमें आवश्यक व्यवहार का एक सरल अनुभव सम्मिलित है।

विशिष्टताओं को वास्तव में प्रयुक्त करने से पहले उन्हें परिशोधन की प्रक्रिया (कार्यान्वयन विवरण भरना) के अधीन होना चाहिए। ऐसी शोधन प्रक्रिया का परिणाम एक निष्पादन योग्य एल्गोरिदम है, जिसे या तो प्रोग्रामिंग लैंग्वेज में तैयार किया जाता है, या हैण्ड स्पेसिफिकेशन लैंग्वेज के निष्पादन योग्य सबसेट में तैयार किया जाता है। उदाहरण के लिए, हार्टमैन पाइपलाइन को, जब ठीक से प्रयुक्त किया जाता है, तो डेटा फ्लो स्पेसिफिकेशन माना जा सकता है जो सीधे निष्पादन योग्य है। एक अन्य उदाहरण एक्टर मॉडल है जिसमें कोई विशिष्ट एप्लिकेशन सामग्री नहीं है और निष्पादन योग्य होने के लिए इसे विशेषीकृत किया जाना चाहिए।

विनिर्देशन लैंग्वेज का एक महत्वपूर्ण उपयोग प्रोग्राम की शुद्धता के गणितीय प्रमाण के निर्माण को सक्षम करना है (स्वचालित प्रमेय देखें)।

लैंग्वेज एँ

यह भी देखें

संदर्भ

  1. Joseph Goguen "One, None, A Hundred Thousand Specification Languages" Invited Paper, IFIP Congress 1986 pp 995-1004
  2. Template:उद्धरण पुस्तक


बाहरी संबंध