Structural synthesis of programs
স্ট্রাকচারাল সিন্থেসিস অফ প্রোগ্রাম (এস. এস. পি) হল (স্বয়ংক্রিয়) প্রোগ্রাম সংশ্লেষণের একটি বিশেষ রূপ যা প্রস্তাবনামূলক ক্যালকুলাসের উপর ভিত্তি করে তৈরি। আরও সুনির্দিষ্টভাবে, এটি একটি প্রোগ্রামের কাঠামোকে এমন বিশদে বর্ণনা করার জন্য স্বজ্ঞাত যুক্তি ব্যবহার করে যে প্রোগ্রামটি স্বয়ংক্রিয়ভাবে সাবরুটিন বা এমনকি কম্পিউটার কমান্ডের মতো টুকরো থেকে তৈরি করা যেতে পারে। অনুমান করা হয় যে এই টুকরোগুলি সঠিকভাবে প্রয়োগ করা হয়েছে, তাই এই টুকরোগুলির কোনও সঠিকতা যাচাইয়ের প্রয়োজন নেই। পরিষেবা-ভিত্তিক স্থাপত্যের জন্য পরিষেবাগুলির স্বয়ংক্রিয় গঠনের জন্য এবং বড় সিমুলেশন প্রোগ্রামগুলির সংশ্লেষণের জন্য এস. এস. পি উপযুক্ত। কৃত্রিম বুদ্ধিমত্তার ক্ষেত্রে স্বয়ংক্রিয় প্রোগ্রাম সংশ্লেষণ শুরু হয়েছিল, স্বয়ংক্রিয় সমস্যা সমাধানের উদ্দেশ্যে সফ্টওয়্যার সহ। 1969 সালে কর্ডেল গ্রিন প্রথম প্রোগ্রাম সিন্থেসাইজার তৈরি করেন। প্রায় একই সময়ে, আর কনস্টেবল, জেড সহ গণিতবিদরা। মান্না এবং আর. ওয়াল্ডিংগার স্বয়ংক্রিয় প্রোগ্রাম সংশ্লেষণের জন্য আনুষ্ঠানিক যুক্তির সম্ভাব্য ব্যবহার ব্যাখ্যা করেছিলেন। ব্যবহারিকভাবে প্রযোজ্য প্রোগ্রাম সিন্থেসাইজারগুলি যথেষ্ট পরে উপস্থিত হয়েছিল। 1979 সালে আন্দ্রে এরশভ এবং ডোনাল্ড নুথ আয়োজিত আধুনিক গণিত এবং কম্পিউটার বিজ্ঞানের অ্যালগরিদম সম্পর্কিত একটি সম্মেলনে প্রোগ্রামগুলির কাঠামোগত সংশ্লেষণের ধারণাটি চালু করা হয়েছিল। সমস্যা সমাধানের বিষয়ে জি. পোলিয়ার সুপরিচিত বই থেকে এই ধারণার উদ্ভব হয়েছে। এস. এস. পি-তে একটি সমস্যা সমাধানের জন্য একটি পরিকল্পনা তৈরি করার পদ্ধতিটি একটি আনুষ্ঠানিক ব্যবস্থা হিসাবে উপস্থাপন করা হয়েছিল। 1982 সালে জি. মিন্টস এবং ই. টিয়ুগু এই ব্যবস্থার অনুমানের নিয়মগুলি পুনর্গঠন করেন এবং যুক্তিতে ন্যায্য করেন। 1980-এর দশকে এস. এস. পি ব্যবহার করে একটি প্রোগ্রামিং টুল পি. আর. আই. জেড তৈরি করা হয়েছিল। একটি সাম্প্রতিক ইন্টিগ্রেটেড ডেভেলপমেন্ট এনভায়রনমেন্ট যা এস. এস. পি-কে সমর্থন করে তা হল কোকোভিলা-একটি মডেল-ভিত্তিক সফ্টওয়্যার ডেভেলপমেন্ট প্ল্যাটফর্ম যা ডোমেন নির্দিষ্ট ভাষাগুলি প্রয়োগ এবং বড় জাভা প্রোগ্রামগুলি বিকাশের জন্য। এস. এস. পি-র যুক্তি প্রোগ্রামগুলির কাঠামোগত সংশ্লেষণ ইতিমধ্যে বাস্তবায়িত উপাদানগুলি থেকে প্রোগ্রামগুলি রচনা করার একটি পদ্ধতি (যেমন। কম্পিউটার কমান্ড বা সফ্টওয়্যার অবজেক্ট পদ্ধতি থেকে) যা ফাংশন হিসাবে বিবেচিত হতে পারে। সংশ্লেষণের জন্য একটি নির্দিষ্টকরণ স্বজ্ঞাত প্রস্তাবনা যুক্তিতে ফাংশনের প্রয়োগযোগ্যতা সম্পর্কে স্বতঃসিদ্ধ লিখে দেওয়া হয়। একটি f ফাংশনের প্রয়োগযোগ্যতা সম্পর্কে একটি স্বতঃসিদ্ধ সূত্র হল একটি যৌক্তিক ইঙ্গিত X1. X2. Yn, যেখানে X1, X2,. Xm হল পূর্বশর্ত এবং Y1, Y2,. Yn হল f ফাংশনের প্রয়োগের উত্তরশর্ত। স্বজ্ঞাত যুক্তিতে, f ফাংশনকে এই সূত্রের উপলব্ধি বলা হয়। একটি পূর্বশর্ত এমন একটি প্রস্তাব হতে পারে যা বলে যে ইনপুট ডেটা বিদ্যমান, যেমন। xi এর অর্থ হতে পারে "পরিবর্তনশীল xi একটি মান পেয়েছে", তবে এটি অন্য কোনও শর্তকেও বোঝাতে পারে, যেমন। যে f ফাংশন ব্যবহার করার জন্য প্রয়োজনীয় সংস্থানগুলি উপলব্ধ, ইত্যাদি। একটি পূর্বশর্ত উপরে প্রদত্ত স্বতঃসিদ্ধের মতো একই রূপের একটি প্রভাবও হতে পারে; তারপর এটিকে একটি সাবটাস্ক বলা হয়। একটি সাবটাস্ক এমন একটি ফাংশনকে বোঝায় যা f ফাংশন প্রয়োগ করার সময় অবশ্যই ইনপুট হিসাবে উপলব্ধ থাকতে হবে। এই ফাংশনটি অবশ্যই এস. এস. পি-র প্রক্রিয়ায় সংশ্লেষিত হতে হবে। এই ক্ষেত্রে, স্বতঃসিদ্ধের উপলব্ধি একটি উচ্চতর ক্রম ফাংশন, অর্থাৎ, একটি ফাংশন যা একটি ইনপুট হিসাবে অন্য ফাংশন ব্যবহার করে। উদাহরণস্বরূপ, সূত্রটি (অবস্থা → পরবর্তী অবস্থা) প্রাথমিক অবস্থা → ফলাফল দুটি ইনপুট এবং একটি আউটপুট ফলাফল সহ একটি উচ্চতর ক্রম ফাংশন নির্দিষ্ট করতে পারে। প্রথম ইনপুট হল এমন একটি ফাংশন যা স্টেট থেকে নেক্সট স্টেট গণনা করার জন্য সংশ্লেষিত করতে হবে এবং দ্বিতীয় ইনপুট হল ইনিশিয়াল স্টেট। উচ্চতর ক্রমের ফাংশনগুলি এস. এস. পি-কে সাধারণতা দেয়-একটি সংশ্লেষিত প্রোগ্রামে প্রয়োজনীয় যে কোনও নিয়ন্ত্রণ কাঠামো প্রাক-প্রোগ্রাম করা যেতে পারে এবং তারপরে একটি নির্দিষ্ট নির্দিষ্টকরণের সাথে স্বয়ংক্রিয়ভাবে ব্যবহার করা যেতে পারে। বিশেষত, এখানে উপস্থাপিত শেষ স্বতঃসিদ্ধটি একটি জটিল প্রোগ্রামের একটি নির্দিষ্টকরণ-মডেলগুলিতে গতিশীল সিস্টেমগুলি অনুকরণ করার জন্য একটি সিমুলেশন ইঞ্জিন যেখানে সিস্টেমের অবস্থা থেকে পরবর্তী অবস্থা গণনা করা যেতে পারে। তথ্যসূত্র বাইরের লিঙ্ক স্বয়ংক্রিয় সফ্টওয়্যার ইঞ্জিনিয়ারিং হোমপেজ সফ্টওয়্যার ইঞ্জিনিয়ারিং লজিক প্রোগ্রামিং