Structural synthesis of programs
कार्यक्रमों का संरचनात्मक संश्लेषण (एस. एस. पी.) (स्वचालित) कार्यक्रम संश्लेषण का एक विशेष रूप है जो प्रस्तावक कलन पर आधारित है। अधिक सटीक रूप से, यह एक प्रोग्राम की संरचना का वर्णन करने के लिए अंतर्ज्ञानी तर्क का उपयोग इस तरह से करता है कि प्रोग्राम को स्वचालित रूप से सबरूटीन या कंप्यूटर कमांड जैसे टुकड़ों से बनाया जा सकता है। यह माना जाता है कि इन टुकड़ों को सही ढंग से लागू किया गया है, इसलिए इन टुकड़ों के शुद्धता सत्यापन की आवश्यकता नहीं है। एस. एस. पी. सेवा-उन्मुख संरचनाओं के लिए सेवाओं की स्वचालित संरचना और बड़े अनुकरण कार्यक्रमों के संश्लेषण के लिए अच्छी तरह से उपयुक्त है। इतिहास स्वचालित कार्यक्रम संश्लेषण कृत्रिम बुद्धिमत्ता क्षेत्र में शुरू हुआ, जिसमें स्वचालित समस्या समाधान के लिए सॉफ्टवेयर का उपयोग किया गया था। पहला प्रोग्राम सिंथेसाइज़र 1969 में कॉर्डेल ग्रीन द्वारा विकसित किया गया था। लगभग उसी समय, आर. कॉन्स्टेबल, जेड सहित गणितशास्त्री। मन्ना और आर. वाल्डिंगर ने स्वचालित कार्यक्रम संश्लेषण के लिए औपचारिक तर्क के संभावित उपयोग की व्याख्या की। व्यावहारिक रूप से लागू प्रोग्राम सिंथेसाइज़र काफी बाद में दिखाई दिए। कार्यक्रमों के संरचनात्मक संश्लेषण का विचार 1979 में आंद्रे एर्शोव और डोनाल्ड क्नुथ द्वारा आयोजित आधुनिक गणित और कंप्यूटर विज्ञान में एल्गोरिदम पर एक सम्मेलन में पेश किया गया था। यह विचार समस्या समाधान पर जी. पोल्या की प्रसिद्ध पुस्तक से उत्पन्न हुआ है। एसएसपी में किसी समस्या को हल करने के लिए एक योजना तैयार करने की विधि को एक औपचारिक प्रणाली के रूप में प्रस्तुत किया गया था। प्रणाली के अनुमान नियमों को 1982 में जी. मिंट्स और ई. टियुगु द्वारा तर्क में पुनर्गठित और उचित ठहराया गया था। एस. एस. पी. का उपयोग करने वाला एक प्रोग्रामिंग उपकरण पी. आर. आई. जेड. 1980 के दशक में विकसित किया गया था। एस. एस. पी. का समर्थन करने वाला एक हालिया एकीकृत विकास वातावरण कोकोविला है-जो डोमेन विशिष्ट भाषाओं को लागू करने और बड़े जावा कार्यक्रमों को विकसित करने के लिए एक मॉडल-आधारित सॉफ्टवेयर विकास मंच है। एस. एस. पी. कार्यक्रमों के संरचनात्मक संश्लेषण का तर्क पहले से ही लागू किए गए घटकों से कार्यक्रमों की रचना करने की एक विधि है (जैसे। कंप्यूटर आदेश या सॉफ्टवेयर ऑब्जेक्ट विधियों से) जिन्हें कार्य माना जा सकता है। संश्लेषण के लिए एक विनिर्देश कार्य की प्रयोज्यता के बारे में स्वयंसिद्ध लेखन द्वारा अंतर्ज्ञानी प्रस्तावक तर्क में दिया जाता है। एक फलन f की प्रयोज्यता के बारे में एक स्वयंसिद्ध सूत्र एक तार्किक निहितार्थ है X1. X2................................................................................................................................................................................. एक पूर्व शर्त एक प्रस्ताव हो सकता है जो बताता है कि इनपुट डेटा मौजूद है, जैसे। xi का अर्थ हो सकता है "चर xi ने एक मूल्य प्राप्त किया है", लेकिन यह किसी अन्य स्थिति को भी दर्शाता है, जैसे। कि फलन f का उपयोग करने के लिए आवश्यक संसाधन उपलब्ध हैं, आदि। एक पूर्व शर्त भी ऊपर दिए गए स्वयंसिद्ध के समान रूप का एक निहितार्थ हो सकता है; फिर इसे उपकार्य कहा जाता है। एक उपकार्य एक ऐसे फलन को दर्शाता है जो फलन f के लागू होने पर एक इनपुट के रूप में उपलब्ध होना चाहिए। एस. एस. पी. की प्रक्रिया में इस कार्य को ही संश्लेषित किया जाना चाहिए। इस मामले में, स्वयंसिद्ध की प्राप्ति एक उच्च क्रम फलन है, अर्थात, एक ऐसा फलन जो एक इनपुट के रूप में दूसरे फलन का उपयोग करता है। उदाहरण के लिए, सूत्र (स्थिति → अगली स्थिति) प्रारंभिक स्थिति → परिणाम दो इनपुट और एक आउटपुट परिणाम के साथ एक उच्च क्रम फ़ंक्शन को निर्दिष्ट कर सकता है। पहला इनपुट एक कार्य है जिसे स्टेट से नेक्स्ट स्टेट की गणना के लिए संश्लेषित किया जाना है, और दूसरा इनपुट इनिशियल स्टेट है। उच्च क्रम के कार्य एसएसपी को व्यापकता देते हैं-एक संश्लेषित कार्यक्रम में आवश्यक किसी भी नियंत्रण संरचना को पूर्व-क्रमादेशित किया जा सकता है और फिर संबंधित विनिर्देश के साथ स्वचालित रूप से उपयोग किया जा सकता है। विशेष रूप से, यहाँ प्रस्तुत अंतिम स्वयंसिद्ध एक जटिल कार्यक्रम का एक विनिर्देश है-मॉडल पर गतिशील प्रणालियों का अनुकरण करने के लिए एक अनुकरण इंजन जहां सिस्टम की स्थिति से अगले राज्य की गणना की जा सकती है। संदर्भ बाहरी लिंक स्वचालित सॉफ्टवेयर इंजीनियरिंग होमपेज सॉफ्टवेयर इंजीनियरिंग लॉजिक प्रोग्रामिंग