Stream X-Machine
স্ট্রিম এক্স-মেশিন (এসএক্সএম) হল গণনার একটি মডেল যা গিলবার্ট লেকক তাঁর 1993 সালের পিএইচডি থিসিস, দ্য থিওরি অ্যান্ড প্র্যাকটিস অফ স্পেসিফিকেশন বেসড সফ্টওয়্যার টেস্টিং-এ প্রবর্তন করেছিলেন। স্যামুয়েল আইলেনবার্গের এক্স-মেশিনের উপর ভিত্তি করে, এক্স প্রকারের তথ্য প্রক্রিয়াকরণের জন্য একটি বর্ধিত সীমাবদ্ধ-অবস্থা যন্ত্র, স্ট্রিম এক্স-মেশিন হল এক ধরনের এক্স-মেশিন যা মেমরি ডেটা টাইপ মেম প্রক্রিয়াকরণের জন্য সংশ্লিষ্ট ইনপুট এবং আউটপুট স্ট্রিম ইন * এবং আউট *, অর্থাৎ, যেখানে এক্স = আউট * × মেম × ইন *। স্ট্রিম এক্স-মেশিনের রূপান্তরগুলি φ ফর্মের ফাংশন দ্বারা লেবেল করা হয়ঃ মেম × ইন → আউট × মেম, অর্থাৎ, যা একটি আউটপুট মান গণনা করে এবং বর্তমান মেমরি এবং একটি ইনপুট মান থেকে মেমরি আপডেট করে। যদিও সাধারণ এক্স-মেশিনকে 1980-এর দশকে সফ্টওয়্যার সিস্টেম নির্দিষ্ট করার জন্য একটি সম্ভাব্য দরকারী আনুষ্ঠানিক মডেল হিসাবে চিহ্নিত করা হয়েছিল, তবে স্ট্রিম এক্স-মেশিনের উত্থানের আগে পর্যন্ত এই ধারণাটি সম্পূর্ণরূপে কাজে লাগানো যায়নি। ফ্লোরেন্টিন আইপেট এবং মাইক হলকোম্ব সম্পূর্ণ কার্যকরী পরীক্ষার একটি তত্ত্ব তৈরি করেছিলেন, মাইক হলকোম্ব এবং ফ্লোরেন্টিন আইপেট (1998) সঠিক সিস্টেম-একটি ব্যবসায়িক প্রক্রিয়া সমাধান তৈরি করে। ফলিত কম্পিউটিং সিরিজ। বার্লিনঃ স্প্রিংগার-ভার্লাগ। যেখানে লক্ষ লক্ষ অবস্থা এবং লক্ষ লক্ষ রূপান্তর সহ জটিল সফ্টওয়্যার সিস্টেমগুলিকে পৃথক এসএক্সএম-এ বিভক্ত করা যেতে পারে যা সঠিক সংহতকরণের নিশ্চিত প্রমাণ সহ সম্পূর্ণরূপে পরীক্ষা করা যেতে পারে। স্ট্রিম এক্স-মেশিনগুলির "ইনপুট এবং আউটপুট সহ প্রক্রিয়াকরণ এজেন্ট" হিসাবে স্বজ্ঞাত ব্যাখ্যার কারণে, তারা বাস্তব-বিশ্বের ঘটনাগুলির মডেলিংয়ে তাদের উপযোগিতার কারণে ক্রমবর্ধমান আগ্রহ আকর্ষণ করেছে। এস. এক্স. এম মডেলের গণনামূলক জীববিজ্ঞান, সফ্টওয়্যার পরীক্ষা এবং এজেন্ট-ভিত্তিক গণনামূলক অর্থনীতির মতো বিভিন্ন ক্ষেত্রে গুরুত্বপূর্ণ প্রয়োগ রয়েছে। স্ট্রিম এক্স-মেশিন এ স্ট্রিম এক্স-মেশিন (এসএক্সএম) একটি বর্ধিত সীমাবদ্ধ-অবস্থা যন্ত্র যা সহায়ক মেমরি, ইনপুট এবং আউটপুট সহ। এটি সাধারণ এক্স-মেশিনের একটি রূপ, যেখানে মৌলিক ডেটা টাইপ এক্স = আউট * × মেম × ইন *, অর্থাৎ একটি আউটপুট স্ট্রিম, মেমরি এবং একটি ইনপুট স্ট্রিম নিয়ে গঠিত একটি টুপল। একটি এসএক্সএম একটি সিস্টেমের নিয়ন্ত্রণ প্রবাহকে সিস্টেম দ্বারা পরিচালিত প্রক্রিয়াকরণ থেকে পৃথক করে। নিয়ন্ত্রণটি একটি সীমাবদ্ধ-অবস্থা মেশিন (সংশ্লিষ্ট অটোমেটন নামে পরিচিত) দ্বারা মডেল করা হয় যার ট্রানজিশনগুলি একটি সেট থেকে নির্বাচিত প্রক্রিয়াকরণ ফাংশনগুলির সাথে লেবেল করা হয় (মেশিনের ধরণ হিসাবে পরিচিত), যা মৌলিক ডেটা প্রকারের উপর কাজ করে। প্রতিটি প্রসেসিং ফাংশন একটি আংশিক ফাংশন, এবং এর ধরন φ বলে মনে করা যেতে পারেঃ মেম × ইন → আউট × মেম, যেখানে মেম হল মেমরির ধরন, এবং ইন এবং আউট যথাক্রমে ইনপুট এবং আউটপুট প্রকার। যে কোনও নির্দিষ্ট অবস্থায়, একটি রূপান্তর সক্রিয় করা হয় যদি সংশ্লিষ্ট ফাংশন φi-এর ডোমেনে পরবর্তী ইনপুট মান এবং বর্তমান মেমরি অবস্থা অন্তর্ভুক্ত থাকে। যদি (সর্বাধিক) একটি ট্রানজিশন একটি নির্দিষ্ট অবস্থায় সক্রিয় করা হয়, তবে যন্ত্রটি নির্ধারক। একটি ট্রানজিশন অতিক্রম করা সংশ্লিষ্ট ফাংশন φi প্রয়োগ করার সমতুল্য, যা একটি ইনপুট খরচ করে, সম্ভবত মেমরি পরিবর্তন করে এবং একটি আউটপুট তৈরি করে। মেশিনের মাধ্যমে প্রতিটি স্বীকৃত পথ তাই φ1. φn ফাংশনের একটি তালিকা তৈরি করে এবং SXM এই ফাংশনগুলিকে একত্রিত করে মৌলিক ডেটা টাইপ |φ1-এ একটি সম্পর্ক তৈরি করে। এক্স-মেশিনের সঙ্গে সম্পর্ক স্ট্রিম এক্স-মেশিন হল এক্স-মেশিনের একটি রূপ যেখানে মৌলিক ডেটা টাইপ এক্স = আউট * × মেম × ইন *। মূল এক্স-মেশিনে, φi হল এক্স-এর সাধারণ সম্পর্ক। স্ট্রিম এক্স-মেশিনে, এগুলি সাধারণত ফাংশনের মধ্যে সীমাবদ্ধ থাকে; তবে এসএক্সএম এখনও কেবলমাত্র নির্ধারণমূলক যদি প্রতিটি রাজ্যে (সর্বাধিক) একটি রূপান্তর সক্ষম করা হয়। একটি সাধারণ এক্স-মেশিন ইনপুটের জন্য একটি পূর্ববর্তী এনকোডিং ফাংশন α: Y → X এবং আউটপুটের জন্য একটি পোস্টেরিয়র ডিকোডিং ফাংশন β: X → Z ব্যবহার করে ইনপুট এবং আউটপুট পরিচালনা করে, যেখানে Y এবং Z যথাক্রমে ইনপুট এবং আউটপুট প্রকার। একটি স্ট্রিম এক্স-মেশিনে, এই ধরনের স্ট্রিমগুলি হলঃ ওয়াই = ইন * জেড = আউট * এবং এনকোডিং এবং ডিকোডিং ফাংশনগুলি এইভাবে সংজ্ঞায়িত করা হয়ঃ α (ইন) = (<>, মেম0, ইন) β (আউট, মেমন, <>) = আউট যেখানে ইনঃ ইন *, আউটঃ আউট * এবং মেমিঃ মেম। অন্য কথায়, মেশিনটি পুরো ইনপুট স্ট্রিমের সাথে সূচনা করা হয়; এবং ডিকোড করা ফলাফলটি সম্পূর্ণ আউটপুট স্ট্রিম হয়, যদি ইনপুট স্ট্রিমটি শেষ পর্যন্ত গ্রাস করা হয় (অন্যথায় ফলাফলটি অনির্ধারিত হয়)। একটি এসএক্সএম-এর প্রতিটি প্রক্রিয়াকরণ ফাংশনকে সংক্ষেপে φSXM দেওয়া হয়ঃ মেম × ইন → আউট × মেম। যদি আমরা এটিকে গণনা হিসাবে বিবেচনা করিঃ φ (আউট, মেমি, ইনঃঃ ইন্স) = (আউটঃঃ আউট, মেমি + 1, ইন্স) যেখানেঃ: একটি উপাদান এবং একটি ক্রমের সংহতকরণকে বোঝায়। অন্য কথায়, সম্পর্কটি ইনপুট স্ট্রিমের হেড বের করে, মেমোরি পরিবর্তন করে এবং আউটপুট স্ট্রিমের লেজের সাথে একটি মান যুক্ত করে। প্রক্রিয়াকরণ এবং পরীক্ষামূলক বৈশিষ্ট্য উপরের সমতুল্যতার কারণে, একটি সহায়ক মেমরি ব্যবহার করে স্ট্রিম এক্স-মেশিন যেভাবে আউটপুটগুলিতে ইনপুট প্রক্রিয়াকরণ করে তার উপর মনোযোগ কেন্দ্রীভূত হতে পারে। একটি প্রাথমিক মেমরি অবস্থা মেম0 এবং একটি ইনপুট স্ট্রিম ইন দেওয়া হলে, মেশিনটি ধাপে ধাপে কার্যকর হয়, একবারে একটি ইনপুট গ্রহণ করে এবং একবারে একটি আউটপুট তৈরি করে। তবে শর্ত থাকে যে (কমপক্ষে) একটি স্বীকৃত পথ পথ = φ1। φn এমন একটি অবস্থার দিকে নিয়ে যায় যেখানে ইনপুটটি ব্যবহার করা হয়েছে, মেশিনটি একটি চূড়ান্ত মেমরি স্টেট মেমন এবং একটি আউটপুট স্ট্রিম আউট দেয়। সাধারণভাবে, আমরা এটিকে সমস্ত স্বীকৃত পথ দ্বারা গণনা করা সম্পর্ক হিসাবে ভাবতে পারিঃ। পথ।: ইন * → আউট *। একে প্রায়শই স্ট্রিম এক্স-মেশিনের আচরণ বলা হয়। আচরণটি নির্ধারণমূলক, যদি প্রতিটি রাজ্যে (সর্বাধিক) একটি রূপান্তর সক্ষম করা হয়। এই বৈশিষ্ট্য এবং ইনপুট এবং মেমরির প্রতিক্রিয়ায় মেশিনটি ধাপে ধাপে কীভাবে আচরণ করে তা নিয়ন্ত্রণ করার ক্ষমতা এটিকে সফ্টওয়্যার সিস্টেমের নির্দিষ্টকরণের জন্য একটি আদর্শ মডেল করে তোলে। যদি নির্দিষ্টকরণ এবং বাস্তবায়ন উভয়ই স্ট্রিম এক্স-মেশিন বলে ধরে নেওয়া হয়, তবে প্রতিটি ধাপে ইনপুট এবং আউটপুট পর্যবেক্ষণ করে নির্দিষ্টকরণ মেশিনের সাথে সামঞ্জস্যের জন্য বাস্তবায়ন পরীক্ষা করা যেতে পারে। লেকক প্রথমে পরীক্ষার উদ্দেশ্যে পর্যবেক্ষণ সহ একক-পদক্ষেপ প্রক্রিয়াকরণের উপযোগিতা তুলে ধরেন। হোলকোম্ব এবং ইপেট এটিকে সফ্টওয়্যার পরীক্ষার একটি ব্যবহারিক তত্ত্ব হিসাবে বিকশিত করেছিলেন যা সম্পূর্ণরূপে গঠনমূলক ছিল, খুব বড় সিস্টেম পর্যন্ত স্কেলিং ছিল। সঠিক ইন্টিগ্রেশনের প্রমাণ নিশ্চিত করে যে প্রতিটি উপাদান এবং প্রতিটি ইন্টিগ্রেশন স্তর আলাদাভাবে পরীক্ষা করা পুরো সিস্টেমের পরীক্ষার সাথে মিলে যায়। এই বিভাজন-এবং-জয় পদ্ধতিটি বড় ব্যবস্থাগুলির জন্য সম্পূর্ণ পরীক্ষা সম্ভব করে তোলে। স্ট্রিম এক্স-মেশিন পরীক্ষার পদ্ধতির উপর একটি পৃথক নিবন্ধে পরীক্ষার পদ্ধতিটি বর্ণনা করা হয়েছে। আরও দেখুন এক্স-মেশিন, একটি সাধারণ উদাহরণ সহ এক্স-মেশিন মডেলের একটি সাধারণ বিবরণ। স্ট্রিম এক্স-মেশিন টেস্টিং পদ্ধতি, একটি সম্পূর্ণ কার্যকরী পরীক্ষার কৌশল। এই পদ্ধতি ব্যবহার করে, পরীক্ষার একটি সীমাবদ্ধ সেট সনাক্ত করা সম্ভব যা একটি বাস্তবায়ন তার নির্দিষ্টকরণের সাথে মেলে কিনা তা সম্পূর্ণরূপে নির্ধারণ করে। প্রয়োগের সময় ব্যবহারকারীদের পরীক্ষার নীতিগুলির জন্য সাবধানে নির্দিষ্ট নকশা প্রয়োগ করার জন্য জোর দিয়ে কৌশলটি আনুষ্ঠানিক সিদ্ধান্তহীনতার সীমাবদ্ধতা অতিক্রম করে। সামাজিক পোকামাকড় থেকে শুরু করে অর্থনীতি পর্যন্ত বিভিন্ন ক্ষেত্রে প্রয়োগ সহ এস. এক্স. এম মডেলের সমবর্তী সংস্করণ কমিউনিকেটিং স্ট্রিম এক্স-মেশিনস (সি. এস. এক্স. এম)। অবজেক্ট-ওরিয়েন্টেড সফ্টওয়্যারের জন্য পরীক্ষার সেট তৈরি করতে এসএক্সএম কৌশল ব্যবহার করে মোটিভ প্রকল্প। EURACE প্রকল্প, এজেন্ট-ভিত্তিক গণনামূলক অর্থনীতিতে CSXM কৌশলগুলির একটি প্রয়োগ। x-machines.net, একটি সাইট যা এক্স-মেশিন গবেষণার পটভূমি বর্ণনা করে। মাইক (অধ্যাপক। ডব্লিউ. এম. এল) শেফিল্ড বিশ্ববিদ্যালয়ের হলকোম্বের ওয়েব পেজ। তথ্যসূত্র গণনার তত্ত্ব গণনার মডেল সফ্টওয়্যার পরীক্ষা