Issuu on Google+

ফরমাল মথড এবং সফটওয় ার ইি িনয়ািরং অিমত শীল অিম ১৯ ম, ২০১৩


পূবকথা আিম এটা িলেখিছলাম আমার মা াস

ােসর এসাইনেম ট িহসােব। িলখেত উৎসািহত কেরিছেলন ে য় খােলদ স ার।

এটা লখা হেয়িছল এমন একটা সমেয়, যখন বাংলােদেশ মেন হয় না আর কাথাও ফরমাল মথড পড়ােনা নীলে ত সহ অেনক যায়গা চেসও একটা বই আমরা পাইিন। শষেমষ স ার

হেয়েছ।

াব করেলন, বই আমরাই একটা িলখেবা

ই টারেনেটর িবিভ যায়গা থেক পেড় পেড়। :) যিদও সটা আর হয়িন, ই টারেনেট বশ িকছু বই আমরা পেয় িগেয়িছলাম পেরর িদেক। তারপেরও এটা ভাবলাম সবার সােথ শয়ার কের দই, তাহেল যিদ অ রা বাংলায় Formal Methods িনেয় অ

িকছু ও জানেত পাের, তাহেল তা ভােলাই!

উে খ য এিট াফট ভাসন। বানান সহ বশ িকছু ছাটখােটা ফরম ািটং ভু ল থাকেত পাের।

1


ভূিমকা Formal Method, বা ফরমাল মথড িজিনষটা নেলই মাথায় আসার কথা হয় কাট টাই পড়া কান একটা মথড, নাহেল একদম পুংখা পু েপ সং ািয়ত করা িকছু একটা। ফরমাল মথড িবিভ যায়গায় ব বহার করা হয়, তার মেধ সফটওয় ার ইি িনয়ািরং একটা। একদম বাংলা কের বলেত গেল ফরমাল মথড হেলা িসে ম িডজাইন করার একটা গািণিতক প িত। এটায় টি ংেয়র সােথ সােথ গািণিতক ভােব মাণ করা চলেত থােক, যন সফটওয় ারটা চািহদা েলা িঠক মেতা পূরণ করেত পাের। অ ু দ ব াপার হেলা, সফটওয় ার ই ডাি েত এটার জ ায় ই দশক আেগ হেলও এখেনা এটা িঠক মেতা চিলত হয়িন। এর িপছেন ই ডাি েত ছিড়েয় থাকা বশ িকছু ভু ল ধারণােক দায়ী করা যায়। আমরা এই অংেশ িকছু ভু ল ধারণা িনেয় থেম কথাবাতা বলেবা, তার পের আবার িফের আসেবা ফরমাল মথেডর ফরমাল সং ায়ন করেত।

3


এক ডজন ভু ল ধারণা ( ইটা বানাস) ১৯৯০ সােল জ. এ. হল নােমর এক ভ েলাক Seven Myths of Formal Methods নােম একটা ব of Formal Methods। ইটাই নামী দামী গেবষনা ে থ কািশত হেয়িছল, কােজই আমরা ধের িনেত পাির উনারা িলেখন। তােক অ সরণ কের ৫ বছর পের জ. িপ. বাওেয়ন আর এম. িজ. িহংেস লেখন Seven More Myths বািনেয় বািনেয় িলেখন নাই বা িলখেলও বিশ িকছু িলেখন নাই। এই অংেশ য এক ডজন ভু ল ধারণা এবং ইটা বানাস ভু ল ধারণা িনেয় আিম িলেখিছ, সটা তঁােদর লখা অ সরণ কেরই। ভু ল ধারণা লা ফরমাল মথডেক ভােলা এবং খারাপ, ই ভােবই উপ াপন কেরেছ, য লা আসেল সব িমিলেয় িতকর।

ফরমাল মথড ব বহার কের যা বানােনা হেব, তা িনঁখত ু উপিরউ কথািট ভু ল। ফরমাল মথড মােণর উপর িভি কের চেল। সফটওয় ার বানােত গেল সটার সবিকছু য মাণ কের তরী করা হেব, এমন কান কথা নাই। তার উপের আবার আমরা অেনক সময় মাণ করেত িগেয়ও ভু ল কের বিস। সটার দাষ তা আর ফরমাল মথেডর উপের ফলা উিচত না। আমােদর আেশ পােশর প ৃিথবীটাও যুি মাণ করেত করেত চেল না। আমরা কখেনাই িনি ত ভােব বলেত পাির না য কান একটা ঘটনা হেবই, িবেশেষ িকছু না িকছু উ ট ঘটনা ঘেট যায়। তার পেরও আমরা, ইি িনয়াররা মেডল বানাই। যমন একটা বািড় বানােনার সময় আমরা য িডজাইন কির, একদম ব সই অ পােত বা েব বািড় বানােত পাির না আমরা। অথবা ধরা যাক িসমুেলশেনর কথা। আমরা নানারকেমর িসমুেলশন কির, সােথ নানা রকেমর শত বা কি ডশন লািগেয় দই। সটােক বা বস ত আমরা কখেনা পুেরাপুির কির না, িক ু চ া কির বা েবর কাছাকািছ রাখার। এত সীমাব তার পেরও িসমুেলশন মেডল বানাই, যন তা িদেয় বা েবর কাছাকািছ একটা ধারণা করেত পাির আমরা। ফরমাল মথড ব বহার করেল ভু ল করার পিরমাণটা কেম যায়। আবার এটার কারেণ ভু ল করেলও স লা ধরা পের সহেজ। ইটাই ফরমাল মথড ব বহার করার ভােলা কারণ।

ফরমাল মথড

া ামেক সিঠক মাণ করা ছাড়া আর িকছু কের না

সিঠকটা হেলা ফরমাল মথড সফটওয় ােরর িসিফেকশন িনেয় কাজ কের। সফটওয় ার তরীর ে ফরমাল মথেডর ব বহার অেনকটা এমন ক) ফরমাল ভােব িসিফেকশন লখা খ) িসিফেকশেনর িবিভ িদক লা গািণিতক ভােব মাণ করা গ) গািণিতক মাণ লা ব বহার কের একটা া াম লখা ঘ) া ামটা যা করার কথা, তা আসেলই করেছ নািক তা গািণিতক ভােব িমিলেয় দখা এসব করেল িবধা হেলা, সফটওয় ারটার যা যা করার কথা তা আমরা িসিফেকশন িদেয় বেল িদি । িসিফেকশন গািণিতকভােব মাণ করা যায়। সােথ সােথ া ামটাও িসিফেকশন অ সাের কাজ করেছ নািক, সটা মাণ করা স ব হয়। 5


ফরমাল মথড ধুমা জীবনমরণ অব াওয়ালা সফটওয় ােরর জ

কােজ লােগ

মােন এমন সফটওয় ার, যটায় সমস া হেল পটাপট মা ষ মরা করেব, এমন যায়গায় ফরমাল মথড ব বহার করা যায় খািল। িক ু ফরমাল মথড আসেল সবধরেণর সফটওয় ার তরী করেতই ব বহার করা যায়। সফটওয় ার তরী করেত গেল ইটা িজিনষ মাথায় রাখা দরকার। (ক)সফটওয় ারটার িক করার কথা, এবং (খ)সফটওয় ােরর িবিভ অংেশর িক করার কথা, যন সফটওয় াের কান পিরবতন করেত গেল সহেজ বুঝা যায় কান কান অংেশ পিরবতন করা লাগেব ফরমাল মথেডর একটা বড় িবধা হেলা এটা ব বহার করেল বুঝা যায় সফটওয় ার তরী করেত িগেয় িক িক করা হেয়েছ, আর িক িক করা বািক। কােজই িজিনষটা তরী করার ি য়াটা একটু সহজ হয়, সটা য ধরেণর সফটওয় ারই হাক না কন। যিদ ছাট খােটা সফটওয় ারও বানােত হয়, সটার িসিফেকশন যিদ ফরমাল ভােব তরী করা হয়, তাহেল কাজ করা অেনকখািন সহজ হেয় যায়।

ফরমাল মথড করেত গিণদিবদ হওয়া লােগ ফরমাল িসিফেকশন করার গািণিতক পযায়টা আসেল সাজা। Z নােম একটা া ািমং ভাষা আেছ যটা এখােন ব বহার করা হয়। আর সই ভাষায় আসেল সব িকছু সট িথওির আর একটু যুি িদেয়ই কের ফলা যায়। এ লা আমরা মাধ িমেকও পেড় আসিছ, কােজই এসব ব বহার করা তমন কিঠন িকছু না।

ফরমাল মথড ব বহার করেল সফটওয় ার তরীর খরচ বেড় যায় ফরমাল িসিফেকশন ব বহার করেল শষেমষ দখা যায় সফটওয় ার তরীর খরচ কেম গেছ। এটা িঠক য সফটওয় ার তরীর েত কটা পযােয় যিদ ফরমাল মথড ব বহার করা হয়, তাহেল খরচ অেনক বিশ বেড় গেছ। িক ু খুব কম ে ই এভােব িত পযােয় ফরমাল মথড ব বহার করার দরকার পের। উদাহরণ িহসােব বলা যায় রালস রেয়স কা ানীর কথা যারা সফটওয় ার তরী করেত িগেয় ফরমাল িসিফেকশন এবং টি ং কেরেছ, এবং তােদর িতেবদেন উে খ কেরেছ য এটা ব বহার করার পের তােদর খরচ িক পিরমাণ কেমেছ। এটা উে খ য ফরমাল মথড ব বহার করেত গেল অ েদর এটায় িনং দয়া লােগ, সটার একটা এককালীন খরচ থােক।

ফরমাল মথড ইউজারেদর কােছ হনেযাগ না ফরমাল মথেডর সাহােয বরং সহেজই ইউজারেদর কােছ বুঝােনা স ব য তােদর িক দয়া হেব। িসিফেকশেনর সাহােয বুঝা যায় য ইউজাররা িক চাইেছ, িক ু সই িসিফেকশনটা তা আবার ইউজারেদর কােছ বুঝােনাও লাগেব। তার জ িনেচর কাজ লা করা যায়১। িসিফেকশনটা আবার বাংলা ভাষায়, বা অ কান মানিবক ভাষায় - যটা সবাই বুেঝ, সভােব লখা ২। িসিফেকশন বানােনার ফলাফলটা হােত কলেম দখােনা ৩। িসিফেকশন এিনেমশেনর মাধ েম বুঝােনা এর মােঝ থমটা অবশ ই লােগ। ফরমাল িসিফেকশন থেক তরী করা লখা আসেল ইনফরমাল িসিফেকশন থেক তরী করা লখার চাইেত ছাট, বুঝেতও সহজ, িলখেতও সাজা।


ফরমাল মথড খািল বড় বড় ই ডাি েত ব বহার করা যায় সিত টা হেলা ই ডাি েত িবিভ যায়গায় ফরমাল মথড ব বহার করা হে । হাডওয় ার তরী, ক াইলার তরী, িরঅ া র িনয় ন সহ িব র ে এটার ব বহার দখা যায়।

ফরলাম মথেডর কারেণ সফটওয় ার তরী করার জ

সময় বিশ লােগ

এখােন একটা িবষয় উে খ করা দরকার। আমরা সাধারণত সময় কতখািন লাগেব তা ধের নই আমােদর পূব অিভ তা, বা ব ব ত মেডেলর উপের িভি কের। সমস া হেলা, ফরমাল মথড এেতাই কম ব বহার করা হেয়িছল একটা সমেয় য িক পিরমাণ সময় লাগেব সটা আ াজ করা খুব একটা সহজ িছল না। তেব গেবষনায় দখা গেছ ফরমাল মথড ব বহার কের সফটওয় ার তরীর সময় কেমেছ।

ফরমাল মথেড কাজ করার জ

কান টু লস নাই

বতমােন ফরমাল ডেভলপমে ট টু েলর সােপাটটা কমদ তা বাড়ােত এবং ভু েলর পিরমাণ কমােত সাহায কের। ১৯৯৫ সােলই দখা গেছ ফরমাল মথড ফেলা কের ডেভলপম ট করেত ZTC, Zola, CADiZ সহ আেরা অেনক টু ল তরী হেয় গেছ, এখেনা হে । বতমােন CZT ওেপন সাস টু ল তরীও করা হে , যার ভতের একিল আইিডই সহ বশ িকছু পিরিচত এিডটেরর কমপ ািটিবিলট আেছ।

ফরমাল মথড ব বহার করার মােন হে

চিলত সফটওয় ার ইি িনয়ািরং

প িত বাদ দয়া এটা িঠক য যিদও ফরমাল মথড ইউজারেদর বুঝােনা স ব এবং খুব বিশ গািণিতক দ তা দরকার নই এটা করেত, তার পেরও চিলত সফটওয় ার িডজাইন ব ব া িদেয় িরেকায়ারেমে টর িকছু কাজ করা তু লনামূলক ভােব সহজ। একটা ভু ল ধার���াটা হে ফরমাল মথড ব বহার করা মােন চিলত সফটওয় ার ইি িনয়ািরং বাদ িদেয় করা, িক ু বতমােন গেবষনা করা হে িক কের চিলত ব ব ার সােথ ফরমাল মথড আেরা ভােলা কের ব বহার করা যায়।

ফরমাল মথড ধুমা সফটওয় ার তরী করেত ব বহার করা যেত পাের বিশ ব খা না কের বিল, ফরমাল মথড সফটওয় ার তরী করার সােথ সােথ হাডওয় ার তরী করেতও ব বহার করা যায়।

ফরমাল মথেডর দরকার নাই িকছু িকছু ে ফরমাল মথড ব বহার করা দরকারী না হেলও, আবার িকছু িকছু ে ফরমাল মথড অবশ ই দরকারী। একবার বেল এেসিছ, ফরমাল মথড ধুমা জীবনমরণ অব াওয়ালা সফটওয় ােরর জ কােজ লােগ এমনটা ভাবার দরকার নাই। িক ু এধরেণর িবেশষ কােজর জ ফরমাল মথড খুবই কােজর। িকছু িকছু ে আবার কাজ করেত গেল ফরমাল মথড লাগেবই, এমনও আেছ।


ফরমাল মথেড সােপাট পাওয়া যায় না ফরমাল মথড িনেয় কাজ ায় ১৯৬০ এর কাছাকািছ সময় থেক হেলও িবেশষ অ গিত ল করা গেছ িবগত কেয়ক দশেক। ই টারেনেট িবিভ বা মইিলং িল , অনলাইন িটউেটািরয়াল, িভিডও লকচার সহ আেরা অেনক িকছু পাওয়া যায় য লা িদেয় ফরমাল মথড িনেয় ভােলা ধারণা এবং সােপাট পাওয়া যেত পাের।

ফরমাল মথড যারা জােন, তারা সবিকছু েতই খািল ফরমাল মথডই ঢু কােত চায় এরকম একটা ধারণা চিলত আেছ য ফরমাল মথডওয়ালারা যখােন পাের সখােনই ফরমাল মথড ঢু িকেয় দন। িজিনষটা মােটও িঠক না, কারণ সবচাইেত গঁাড়া ফরমাল মথডওয়ালাও জােনন য সফটওয় ার তরীর সকল পযােয় ফরমাল মথড ঢু কােনা খুব একটা ভােলা কাজ না, কারণ এর চাইেত ভােলা কাজ অ িকছু িদেয় করা স ব িকছু িকছু ে । উপের যা বললাম, তার মাটামুিট সবই ফরমাল মথেডর ব াপাের ভু য়া ধারণা এবং বা ব ে ফরমাল মথড আর তার ব বহার িনেয়। পরবতী অংেশ আমরা একটু গািণিতক িজিনষপ িনেয় ঘাটাঘািট করেবা। ও লা আমরা সবাই জািন, একটু শ কের িনেবা যন এর পের সরাসির ফরমাল মথেড ঝািপেয় পড়েত পাির।


ফরমাল মেথড এবং সফটওয়্যার ইঞ্জিনিয়ারিং