Structural synthesis of programs
સ્ટ્રક્ચરલ સિન્થેસિસ ઓફ પ્રોગ્રામ્સ (SSP) એ (ઓટોમેટિક) પ્રોગ્રામ સિન્થેસિસનું એક વિશેષ સ્વરૂપ છે જે પ્રપોઝિશનલ કેલ્ક્યુલસ પર આધારિત છે. વધુ ચોક્કસપણે, તે પ્રોગ્રામની રચનાને એટલી વિગતવાર વર્ણવવા માટે અંતર્જ્ઞાનવાદી તર્કનો ઉપયોગ કરે છે કે પ્રોગ્રામ આપમેળે સબરૂટિન અથવા કમ્પ્યુટર આદેશો જેવા ટુકડાઓથી પણ બનાવી શકાય છે. એવું માનવામાં આવે છે કે આ ટુકડાઓ યોગ્ય રીતે લાગુ કરવામાં આવ્યા છે, તેથી આ ટુકડાઓની શુદ્ધતા ચકાસણીની જરૂર નથી. એસ. એસ. પી. સર્વિસ-ઓરિએન્ટેડ આર્કિટેક્ચર માટે સેવાઓની સ્વચાલિત રચના અને મોટા સિમ્યુલેશન પ્રોગ્રામ્સના સંશ્લેષણ માટે સારી રીતે અનુકૂળ છે. ઓટોમેટિક પ્રોગ્રામ સંશ્લેષણની શરૂઆત આર્ટિફિશિયલ ઇન્ટેલિજન્સ ક્ષેત્રમાં થઈ હતી, જેમાં સોફ્ટવેરનો હેતુ ઓટોમેટિક સમસ્યાનું નિરાકરણ કરવાનો હતો. પ્રથમ પ્રોગ્રામ સિન્થેસાઇઝર 1969માં કોર્ડેલ ગ્રીન દ્વારા વિકસાવવામાં આવ્યું હતું. લગભગ તે જ સમયે, આર. કોન્સ્ટેબલ, ઝેડ સહિત ગણિતશાસ્ત્રીઓ. મન્ના અને આર. વાલ્ડિંગરે સ્વચાલિત પ્રોગ્રામ સંશ્લેષણ માટે ઔપચારિક તર્કનો સંભવિત ઉપયોગ સમજાવ્યો. વ્યવહારીક રીતે લાગુ પડતા પ્રોગ્રામ સિન્થેસાઇઝર્સ નોંધપાત્ર રીતે પાછળથી દેખાયા. કાર્યક્રમોના માળખાકીય સંશ્લેષણનો વિચાર 1979માં એન્ડ્રે એર્શોવ અને ડોનાલ્ડ ક્નુથ દ્વારા આયોજિત આધુનિક ગણિત અને કોમ્પ્યુટર વિજ્ઞાનમાં અલ્ગોરિધમ્સ પરની પરિષદમાં રજૂ કરવામાં આવ્યો હતો. આ વિચાર જી. પોલ્યાના સમસ્યાનું નિરાકરણ પરના જાણીતા પુસ્તકમાંથી ઉદ્ભવ્યો છે. એસએસપીમાં સમસ્યાનું સમાધાન કરવા માટે યોજના ઘડવાની પદ્ધતિને ઔપચારિક પ્રણાલી તરીકે રજૂ કરવામાં આવી હતી. પ્રણાલીના અનુમાન નિયમોનું પુનર્ગઠન કરવામાં આવ્યું હતું અને 1982માં જી. મિન્ટ્સ અને ઇ. ટિયુગુ દ્વારા તર્કમાં ન્યાયી ઠેરવવામાં આવ્યા હતા. SSPનો ઉપયોગ કરતું એક પ્રોગ્રામિંગ ટૂલ PRIZ 1980ના દાયકામાં વિકસાવવામાં આવ્યું હતું. તાજેતરનું સંકલિત વિકાસ વાતાવરણ જે એસએસપીને ટેકો આપે છે તે કોકોવિલા છે-ડોમેન વિશિષ્ટ ભાષાઓના અમલીકરણ અને મોટા જાવા પ્રોગ્રામ્સ વિકસાવવા માટે એક મોડેલ આધારિત સોફ્ટવેર વિકાસ પ્લેટફોર્મ. એસ. એસ. પી. ના કાર્યક્રમોના માળખાકીય સંશ્લેષણનો તર્ક એ પહેલેથી જ અમલમાં મૂકાયેલા ઘટકોમાંથી કાર્યક્રમોની રચના કરવાની એક પદ્ધતિ છે (દા. ત. કમ્પ્યુટર આદેશો અથવા સોફ્ટવેર ઓબ્જેક્ટ પદ્ધતિઓમાંથી) જેને કાર્યો તરીકે ગણી શકાય. વિધેયોની લાગુ પડવાની ક્ષમતા વિશે સ્વયંસિદ્ધ લખીને અંતર્જ્ઞાનવાદી પ્રસ્તાવાત્મક તર્કમાં સંશ્લેષણ માટેનું સ્પષ્ટીકરણ આપવામાં આવે છે. વિધેય f ની લાગુ પડવાની ક્ષમતા વિશેનો સ્વયંસિદ્ધ સિદ્ધાંત એ એક તાર્કિક સૂચિતાર્થ છે X1 ષ્ણ X2 ષ્ણ. ષ્ણ Xm → Y1 ષ્ણ Y2. Yn, જ્યાં X1, X2,. Xm એ પૂર્વશરત છે અને Y1, Y2,. Yn એ વિધેય f ના ઉપયોગની ઉત્તરશરત છે. અંતઃપ્રેરણાત્મક તર્કશાસ્ત્રમાં, વિધેય f ને આ સૂત્રની અનુભૂતિ કહેવામાં આવે છે. પૂર્વશરત એ એવી દરખાસ્ત હોઈ શકે છે જે જણાવે છે કે ઇનપુટ ડેટા અસ્તિત્વમાં છે, દા. ત. xi નો અર્થ "ચલ xi એ મૂલ્ય પ્રાપ્ત કર્યું છે" હોઈ શકે છે, પરંતુ તે કેટલીક અન્ય સ્થિતિને પણ સૂચવી શકે છે, દા. ત. ફંક્શન f નો ઉપયોગ કરવા માટે જરૂરી સંસાધનો ઉપલબ્ધ છે, વગેરે. પૂર્વશરત પણ ઉપર આપેલા સ્વયંસિદ્ધના સમાન સ્વરૂપની સૂચિતાર્થ હોઈ શકે છે; પછી તેને સબટાસ્ક કહેવામાં આવે છે. સબટાસ્ક એ ફંક્શનને સૂચવે છે જે ફંક્શન f લાગુ કરવામાં આવે ત્યારે ઇનપુટ તરીકે ઉપલબ્ધ હોવું જોઈએ. એસ. એસ. પી. ની પ્રક્રિયામાં આ કાર્યનું સંશ્લેષણ કરવું આવશ્યક છે. આ કિસ્સામાં, સ્વયંસિદ્ધની અનુભૂતિ એ ઉચ્ચ ક્રમ કાર્ય છે, એટલે કે, એક કાર્ય જે ઇનપુટ તરીકે અન્ય કાર્યનો ઉપયોગ કરે છે. દાખલા તરીકે, સૂત્ર (સ્થિતિ → આગામી સ્થિતિ) પ્રારંભિક સ્થિતિ → પરિણામ બે ઇનપુટ્સ અને આઉટપુટ પરિણામ સાથે ઉચ્ચ ક્રમના કાર્યને સ્પષ્ટ કરી શકે છે. પ્રથમ ઇનપુટ એ એક કાર્ય છે જેને સ્ટેટમાંથી નેક્સ્ટ સ્ટેટની ગણતરી કરવા માટે સંશ્લેષણ કરવું પડે છે, અને બીજું ઇનપુટ ઇનિશિયલ સ્ટેટ છે. ઉચ્ચ ક્રમના કાર્યો એસએસપીને સામાન્યતા આપે છે-સંશ્લેષિત કાર્યક્રમમાં જરૂરી કોઈપણ નિયંત્રણ માળખું પૂર્વ-પ્રોગ્રામ કરી શકાય છે અને પછી સંબંધિત સ્પષ્ટીકરણ સાથે આપમેળે ઉપયોગ કરી શકાય છે. ખાસ કરીને, અહીં રજૂ કરાયેલ છેલ્લો સ્વયંસિદ્ધ એક જટિલ પ્રોગ્રામનું સ્પષ્ટીકરણ છે-મોડેલો પર ગતિશીલ સિસ્ટમોનું અનુકરણ કરવા માટેનું સિમ્યુલેશન એન્જિન જ્યાં સિસ્ટમની સ્થિતિથી આગામી રાજ્યની ગણતરી કરી શકાય છે. સંદર્ભો બાહ્ય કડીઓ ઓટોમેટેડ સોફ્ટવેર એન્જિનિયરિંગ હોમપેજ સોફ્ટવેર એન્જિનિયરિંગ લોજિક પ્રોગ્રામિંગ