Structural synthesis of programs
پروگراموں کی ساختی ترکیب (ایس ایس پی) (خودکار) پروگرام کی ترکیب کی ایک خاص شکل ہے جو پروپوزیشنل کیلکولس پر مبنی ہے۔ مزید واضح طور پر، یہ کسی پروگرام کے ڈھانچے کو اس طرح کی تفصیل سے بیان کرنے کے لیے بدیہی منطق کا استعمال کرتا ہے کہ پروگرام کو خود بخود سبروٹینز یا یہاں تک کہ کمپیوٹر کمانڈز جیسے ٹکڑوں سے تشکیل دیا جا سکتا ہے۔ یہ فرض کیا جاتا ہے کہ ان ٹکڑوں کو صحیح طریقے سے لاگو کیا گیا ہے، اس لیے ان ٹکڑوں کی درستگی کی تصدیق کی ضرورت نہیں ہے۔ ایس ایس پی سروس پر مبنی آرکیٹیکچرز کے لیے خدمات کی خودکار ساخت اور بڑے تخروپن پروگراموں کی ترکیب کے لیے اچھی طرح سے موزوں ہے۔ تاریخ خودکار پروگرام کی ترکیب مصنوعی ذہانت کے میدان میں شروع ہوئی، جس میں خودکار مسئلہ حل کرنے کے لیے سافٹ ویئر بنایا گیا تھا۔ پہلا پروگرام سنتھسائزر کورڈیل گرین نے 1969 میں تیار کیا تھا۔ تقریبا اسی وقت، ریاضی دان بشمول آر کانسٹیبل، زیڈ۔ منا اور آر والڈنگر نے خودکار پروگرام کی ترکیب کے لیے رسمی منطق کے ممکنہ استعمال کی وضاحت کی۔ عملی طور پر قابل اطلاق پروگرام سنتھسائزرز کافی بعد میں نمودار ہوئے۔ پروگراموں کی ساختی ترکیب کا خیال 1979 میں آندرے ایرشوف اور ڈونلڈ نوتھ کے زیر اہتمام جدید ریاضی اور کمپیوٹر سائنس میں الگورتھم پر ایک کانفرنس میں متعارف کرایا گیا تھا۔ یہ خیال مسئلہ حل کرنے پر جی پولیا کی معروف کتاب سے نکلا ہے۔ ایس ایس پی میں کسی مسئلے کو حل کرنے کے لیے منصوبہ تیار کرنے کا طریقہ ایک رسمی نظام کے طور پر پیش کیا گیا تھا۔ 1982 میں جی منٹس اور ای ٹیوگو نے نظام کے تخمینہ قوانین کی تنظیم نو کی اور منطق میں ان کا جواز پیش کیا۔ ایک پروگرامنگ ٹول پرائز جو ایس ایس پی کا استعمال کرتا ہے 1980 کی دہائی میں تیار کیا گیا تھا۔ ایک حالیہ مربوط ترقیاتی ماحول جو ایس ایس پی کی حمایت کرتا ہے وہ کوکووئلا ہے-ڈومین مخصوص زبانوں کو نافذ کرنے اور بڑے جاوا پروگراموں کو تیار کرنے کے لیے ایک ماڈل پر مبنی سافٹ ویئر ڈویلپمنٹ پلیٹ فارم۔ ایس ایس پی کی منطق پروگراموں کی ساختی ترکیب پہلے سے نافذ کردہ اجزاء سے پروگراموں کو مرتب کرنے کا ایک طریقہ ہے (جیسے۔ کمپیوٹر کمانڈز یا سافٹ ویئر آبجیکٹ طریقوں سے) جسے افعال سمجھا جا سکتا ہے۔ فنکشنز کے اطلاق کے بارے میں محوریات لکھ کر انٹوشنسٹک پروپوزیشنل منطق میں ترکیب کے لیے ایک وضاحت دی گئی ہے۔ فنکشن f کے اطلاق کے بارے میں ایک محوریہ ایک منطقی مضمر ہے X1. X2. Yn، جہاں X1, X2,. Xm پیشگی شرائط ہیں اور Y1, Y2,. Yn فنکشن f کے اطلاق کی پوسٹ کنڈیشن ہیں۔ بدیہی منطق میں، فنکشن f کو اس فارمولے کا احساس کہا جاتا ہے۔ پیشگی شرط ایک تجویز ہو سکتی ہے جس میں کہا گیا ہو کہ ان پٹ ڈیٹا موجود ہے، مثال کے طور پر۔ ژی کا مطلب ہو سکتا ہے "متغیر xi نے ایک قدر حاصل کی ہے"، لیکن یہ کسی دوسری شرط کو بھی ظاہر کر سکتا ہے، مثال کے طور پر۔ کہ فنکشن f کو استعمال کرنے کے لیے درکار وسائل دستیاب ہیں، وغیرہ۔ ایک پیشگی شرط بھی اسی شکل کا مطلب ہو سکتا ہے جو اوپر دیے گئے محوریہ کے طور پر ہے ؛ پھر اسے ذیلی کام کہا جاتا ہے۔ سب ٹاسک ایک فنکشن کی نشاندہی کرتا ہے جو فنکشن f کے لاگو ہونے پر ان پٹ کے طور پر دستیاب ہونا چاہیے۔ اس فنکشن کو خود ایس ایس پی کے عمل میں ترکیب کیا جانا چاہیے۔ اس صورت میں محوری کا ادراک ایک اعلی آرڈر فنکشن ہے، یعنی ایک فنکشن جو ایک دوسرے فنکشن کو ان پٹ کے طور پر استعمال کرتا ہے۔ مثال کے طور پر، فارمولہ (ریاست → اگلی ریاست) ابتدائی ریاست → نتیجہ دو ان پٹ اور آؤٹ پٹ نتیجہ کے ساتھ ایک اعلی آرڈر فنکشن کی وضاحت کر سکتا ہے۔ پہلا ان پٹ ایک فنکشن ہے جسے ریاست سے اگلی ریاست کی گنتی کے لیے ترکیب کرنا پڑتا ہے، اور دوسرا ان پٹ ابتدائی ریاست ہے۔ ہائیر آرڈر فنکشن ایس ایس پی کو عامیت دیتے ہیں-کسی سنتھسائزڈ پروگرام میں درکار کسی بھی کنٹرول ڈھانچے کو پہلے سے پروگرام کیا جا سکتا ہے اور پھر خود بخود متعلقہ تفصیلات کے ساتھ استعمال کیا جا سکتا ہے۔ خاص طور پر، یہاں پیش کیا گیا آخری محور ایک پیچیدہ پروگرام کی وضاحت ہے-ماڈلز پر متحرک نظاموں کی تقلید کے لیے ایک تخروپن انجن جہاں نظام کی حالت سے اگلی ریاست کا حساب لگایا جا سکتا ہے۔ حوالہ جات بیرونی روابط آٹومیٹڈ سافٹ ویئر انجینئرنگ ہوم پیج سافٹ ویئر انجینئرنگ منطق پروگرامنگ