بخشی از مقاله
ارزیابی قابلیت اطمینان نرم افزار با استفاده از شبکه پتری تصادفی
چکیده
به منظـور ارزیـابی کمـی قابلیـت اطمینـان نـرم افـزار، یـک مـدل قابلیـت اطمینـان مولفـه مبتنـی بـر شـبکه پتـری تصادفی((SPNارائه شده است.زنجیره مارکوف متناظر با مدل SPN مولفه به دست می ایـد. و روش ارزیـابی کمـی قابلیت اطمینان ارائه می شود. سپس مقدار قابلیت اطمینان طبق توزیع احتمال تجمعی زنجیره مارکوف به دسـت مـی آید. یک مطالعه موردی کاربردی بودن این روش را نشان می دهد.
واژههای کلیدی
قابلیت اطمینان، شبکه پتری تصادفی، زنجیره مارکوف، نرم افزار مبتنی بر مولفه
-1 مقدمه
اندازه و پیچیدگی سیستم های کامپیوتری در دهه هـای اخیر با سرعتی بیشتر از توانایی ما در طراحـی، تسـت، اجرا و نگهـداری افـزایش یافتـه اسـت. سیسـتم هـای کــامپیوتری بــه صــورت فزاینــده ای در کــاربرد هــای گوناگون(کنترل ونظارت) استفاده می شوند. این شـیوه مطمئنــا در آینــده نیــز ادامــه خواهــد داشــت. حضــور کــامپیوتر در همــه وســایل، خــدمات و فعالیــت هــای زندگی روزمره، بر اهمیت آن افزوده است. بـا افـزایش تعداد کاربران تعداد خرابی های ناشـی از خطـای آنـان نیــز افــزایش مــی یابــد. خرابــی هــای سیســتم هــای کامپیوتری تیتر روزنامه ها را به وجود می آورنـد. زیـرا در بهترین حالت این خطا ها باعث دردسـر و زحمـت برای افراد می شوند(خرابی وسایل خانگی) یا موجـب خسارات اقتصادی می شوند(وقفه در عملیـات بـانکی) و در بدترین حالـت موجـب مـرگ مـی شـوند(خرابی سیستم کنترل پـرواز یـا نـرم افـزار درمـانی). پتانسـیل انعطاف پذیری و تجمیع نرم افزار، امکان ایجاد سیسـتم های مبهم را می دهد. اما تکنولوژی نرم افزار نتوانسـت در کیفیت، تولید، هزینه و کارایی هم پای سخت افـزار باشد. با افزایش گسترده طراحی و توسعه سیستم هـای شی گرا، استفاده از توسعه نرم افـزار مبتنـی بـر مولفـه افزایش یافت . برنامه های مدرن نمـی تواننـد بـیش از این به عنوان یک موجودیت یکپارچـه تحدیـد شـوند. بلکه آن ها از هزاران یا میلیون ها جزء کوچک کـه بـه صورت سراسری توزیع شده اند، ایجاد شده اند. که هر
زمان فراخوانی شوند، اجرا می شوند. و مانند بخشی از یک سیستم پیچیده عمل می کنند. بنابرین ارزیـابی زود هنگام قابلیت اطمینان یک برنامـه کـاربردی در چرخـه حیات، که اطلاعات معماری، تست و قابلیـت اطمینـان مولفه هایش را به حساب می آورد ضروری است.
1-1 کارهای انجام شده
استفاده از شبکه های پتری تصادفی و توسـعه هـای آن برای ارزیابی پارامتر های کیفـی نـرم افـزار در مقـالات بسیاری آمـده اسـت. در یـک جمـع بنـدی مـی تـوان مطالعات و تحقیقات انجام شده در این زمینـه را بـه دو دسته تقسیم کرد.
-1 تحقیقاتی کـه بـه ارزیـابی پارامترهـای کیفـی نـرم افزاربا استفاده از SPN پرداخته اند.
-2 تحقیقاتی که قابلیت اطمینان نرم افزار را با استفاده از زنجیره مارکوف به دست آورده اند.
درکار [1] امنیت نرم افزار با استفاده از شبکه پتری تصادفی و زنجیره مارکوف محاسبه شده است درکار [2 ] قابلیت اطمینان نرم افزار با معرفی شبکه پتری قابلیت اطمینان ارزیابی شده است.
در کار [3] از زنجیره مارکوف به منظور ارزیابی قابلیت اطمینان نرم افزار استفاده شده است.
در کار[4] اندیس های قابلیت اطمینان سیستم های اطلاعات و اجزای ان ها، همچنین RAID ها با استفاده از شبکه پتری تصادفی مدل سازی و با زنجیره مارکوف به دست امده است.
در کار [5] مدلسازی تصادفی سرویس های وب ترکیبی برای تحلیل بسته گلوگاه های کارایی و قابلیت اطمینان با استفاده از شبکه پتری تصادفی انجام شده است.
در کار[6] از شبکه پتری تصادفی و زنجیره مارکوف متناظر با آن برای مدل سازی و ارزیابی صفات بقاء سیستم های سوئیچ از راه دور استفاده شده است.
در کار [7] مدل شبکه پتری تصادفی سیستم محاسبات مجازی با تفکر جوان سازی آورده شده است. بر مبنای مدل SPN ،پارامترهای اعتماد محاسبه شده است.
در کار[8] قابلیت اطمینان نرم افزار مورد بررسی قرار گرفته است.این کتاب مقدمه ای بر قابلیت اطمینان نرم افزار است و مروری بر متودولوژی ها و ابزاری است که برای ارزیابی قابلیت اطمینان نرم افزار و سیستم های نرم افزارو سخت افزار ترکیبی به کار رفته اند.
در کار[9] نویسنده با تبدیل مدل نرم افزار به GSPN برخی پارامتر های کارایی را محاسبه کرده است.
در کار [10] انواع مدل های قابلیت اطمینان نرم افزار بررسی شده است.
در این مقاله روشی برای مدل سازی و ارزیابی کمی قابلیت اطمینان مولفه بر مبنای شبکه پتری تصادفی در فاز طراحی نرم افزار ارائه شده است. ادامه مقاله به روش زیر سازماندهی شده است. در بخش 2 مفهیم پایه و در بخش 3 روش ارزیابی و مدل سازی قابلیت اطمینان مولفه نرم افزاری بر مبنای SPN ارائه شده است. در بخش 4 مطالعه موردی آورده شده است و بخش 5 نتیجه گیری است.
-2مفاهیم پایه
در این بخش مفاهیم پایه در ارزیابی قابلیت اطمینان مولفه مانند: مفاهیم قابلیت اطمینان، زنجیره مارکوف و شبکه پتری بیان شده است.
1-2 قابلیت اطمینان
تعاریف قابلیت اطمینان که در مقالات آمده بین محققین متفاوت است. تعریف کلی پذیرفته شده به صورت زیر است:
تعریف :1 قابلیت اطمینان، احتمال موفقیت یا احتمال انجام وظایف مورد نظر توسط سیستم تحت محدودیت های طراحی خاص است. به طور خاص قابلیت اطمینان، احتمال درست عمل کردن یک تولید یا مولفه، طی یک دوره زمانی »دوره طراحی«، تحت شرایط عملیات طراحی و بدون خرابی است. به عبارت دیگرمی توان قابلیت اطمینان را به عنوان مقیاس موفقیت سیستم در انجام درست وظایف خود دانست. از نظر ریاضی قابلیت اطمینان R(t) احتمال موفق بودن سیستم در دوره زمانی 0 تا t است.
که T متغیر تصادفی است که زمان تا خرابی را مشخص می کند.
1-1-2 مدلسازی قابلیت اطمینان
قابلیت اطمینان می تواند با روش هـای گونـاگونی محاسـبه شود که به دو گروه اصلی تقسیم می شود: مبتنی بر مـدل و مبتنی بر اندازه گیری. روش های مبتنـی بـر مـدل بـه طـور گسترده برای ارزیـابی قابلیـت اطمینـان سیسـتم هـای نـرم افزاری/ سخت افزاری پیچیده به کار می رود. آنها مبتنی بـر ایجاد یک مدل که اختصار مناسبی از سیستم، با سطح کـافی از جزئیات برای ارائه جنبه های مورد علاقه بـرای ارزیـابی
می باشد. مدل های تحلیل به دو نوع مدل ترکیبـی و مبتنـی بر حالت رده بندی می شوند. مـدل هـای رده اول سـاختار سیستم را به صورت اتصال منطقی اجزاء عملیاتی به منظـور تعیین موفقیت یا خرابی سیستم ارائه می دهنـد. مـدل هـای مبتنی بر حالت رفتـار سیسـتم را بـه صـورت حالـت هـای دسترس پذیر و گذرهای حالت ممکن ارائه می دهند. مـدل هــا بــه صــورت گســترده بــرای ارزیــابی صــفات اعتمــاد ، مخصوصا تحلیل قابلیت اطمینان استفاده می شوند. بـا ایـن حال ممکن است وقتـی مقـادیر پارامترهـای ورودی، ارائـه دهنده رفتار واقعی سیسـتم نباشـد، بـه انـدازه کـافی دقیـق نباشند. شیوه های مبتنی بر اندازه گیری ممکن اسـت نتـایج دقیق تری را ارئه دهند. زیرا مبتنـی بـر داده هـای عملیـاتی واقعی و کاربرد تکنیک های آماری هسـتند. بـا ایـن حـال چون داده واقعی مورد نیاز است و داده واقعی ممکن اسـت در دسترس نباشد به کـارگیری ایـن شـیوه همیشـه ممکـن نیست.
2-2زنجیره مارکوف
زنجیره های مارکوف یک بلوک اساسی برای تحلیل فضـای حالت است. آنها برای تحلیل سیستم های زیـادی از جملـه سیستم های شبکه، اجزاء سخت افزار پروتکل، کاربردهـای نرم افزار و سیستم سخت افزار / نـرم افـزار، سیسـتم هـای کلاستر شده پیچیده و تحلیـل همـه انـواع صـفات قابلیـت اطمینان و کارایی (اطمینان ـ دسترس پذیری، کـارایی، بقـاء و...) به کار رفته اند. مدل های مارکوف می تواننـد بـه سـه دسته زنجیره مارکوف زمانی گسسته (DTMCS) ، وقتـی مدل یک اندیس گسسته T (معمولا زمان را نشان می دهد) را بپذیرد ، زنجیـره مـارکوف زمـانی پیوسـته (CTMCS)
وقتی T یک اندیس پیوسته است و مـدل پـاداش مـارکوف (MRM) وقتی زنجیره مارکوف شامل یک نرخ پاداش نیـز می باشد که به حالت ها وصل شده تـا انـدازه گیـری هـای اضافی به دست آید،رده بندی می شود.[8] مدل معمولا به صورت گرافیکی توسـط یـک گـراف گـذر
حالت ارائه می شود که حالت های سیسـتم (نودهـا) را پـر رنگ می کند و گذرهای بین آنها (لبـه هـا) بـا یـک مقـدار احتمالی گذر مرحله برچسب زده مـی شـوند. فراینـد هـای مارکوف قابلیت نمایش مشخصات سیستم مثل تـوازی، هـم زمانی و برخورد را ندارند. و سیستم مدل شده بـا مـارکوف به سختی قابل توسعه است.
3-2 شبکه پتری
شبکه های پتری مدل هـای رسـمی هسـتند کـه مبتنـی بـر تئوری هـای ریاضـی دقیـق هسـتند. آنهـا قابلیـت نمـایش گرافیکی دارند. و برای مدل سازی و تحلیل سیستم هایی با توازی، هم زمـانی و برخـورد مفیـد هسـتند. سیسـتم مـدل سازی شده با شبکه پتری را می توان به آسـانی توسـعه داد.
1-2-2 شبکه پتری تصادفی
شبکه پتری تصادفی ، نامی است که توسط molly در سال 1982 انتخاب شـد . یـک شـش تـایی (P,T,I,O,M,F) است که (P,T,I,O,M) شبکه پتری و F یـک تـابع اسـت که به هر گذر در علامتگـذاری قابـل دسـترس، یـک متغیـر تصادفی که به صورت نمایی توزیع شده است، متصـل مـی کند. اصل فلسفه پایه در استفاده از شبکه پتری تصـادفی در ارزیابی قابلیت اطمینان، نگاشت فرایند علامتگذاری آنها، به یک فرایند مارکوف با فضای حالت گسسته است.
-3ارزیابی قابلیت اطمینان مولفه با استفاده از شبکه پتری تصادفی
در این بخش به ارزیابی قابلیت اطمینان نرم افزار مبتنی بر مولفه خواهیم پرداخت. به این منظور ابتدا مولفه ای از سیستم را با استفاده از شبکه پتری تصادفی مدل سازی می کنیم. از آنجا که گراف دسترسی شبکه پتری تصادفی متناظر با زنجیره مارکوف زمانی پیوسته است، شبکه پتری تصادفی به زنجیره مارکوف نگاشت می شود. سپس احتمال توزیع تجمعی (احتمال بودن در هر حالت) به دست می آید و از آنجا که قابلیت اطمینان، همان احتمال موفقیت یا احتمال بودن در حالت درست است. به راحتی به این روش قابل ارزیابی است.
شکل(1-3) روش کار را نشان می دهد.
شکل(1-3)روش ارزیابی قابلیت اطمینان
1-3 ارزیابی قابلیت اطمینان مولفه
به منظور ارزیابی قابلیت اطمینان مولفه از روش زیر پیروی می کنیم.