آخرين ارسالهاي تالار

خطا: mod_kunenalatest:كيوننا نسخه 1.7 (يا بالاتر) بر روي سيستم شما نصب نيست!
پیغام
  • Kunena is not installed or the installed Kunena version is not supported. The plug-in has now been disabled. Please install/upgrade Kunena to version 1.7 for the Kunena Discuss Plug-in to function properly.
تصمیم گیر وزنی برای سیستم های تحمل پذیر خطا مبتنی برالگوریتم ژنتیک مشاهده در قالب PDF چاپ فرستادن به ایمیل
نوشته شده توسط admin   
جمعه, 09 خرداد 1393 ساعت 09:53

تحمل پذیری خطا به قابلیتی از سیستم اشاره دارد که سیستم را قادر می سازد تا حتی در صورت بروز خطا در آن بتواند آن خطا را پوشش داده و از خرابی سیستم جلوگیری کند. این قابلیت در بسیاری از سیستم ها در زمره مهمترین ملزومات غیر وظیفه مندی سیستم است. برای بسیاری از سیستم ها ، عملیات نرم افزاری امن و قابل اعتماد یک نیاز مهم به شمار می رود، مانند کاربردهای هوافضایی، کنترل ترافیک هوایی، تجهیزات پزشکی، هسته ای ، بانکداری الکترونیکی. هزینه و نتیجه خرابی این سیستم ها می تواند در گستره وسیعی از صدمات انسانی ، مالی و غیره مطرح شود. یکی از روش های مهم در ساخت سیستم های تحمل پذیر خطا افزونگی است که هم در سطح سخت افزار و هم در سطح نرم افزار قابل پیاده سازی می باشد . در این سیستم ها ، الگوریتم های تصمیم گیری به منظور داوری میان نتایج N ماژول سخت افزاری یا N نسخه نرم افزاری افزونه، در گستره وسیعی به کار می روند.تاکنون روش های تصمیم گیری متنوعی ارائه شده اند که هر کدام مزایا و معایب خاص خود را دارند.از آنجائیکه الگوریتم ژنتیک برای بهبود دادن  جواب مسائل بکار می رود لذا در این تحقیق ، با استفاده از الگوریتم ژنتیک ، الگوریتم تصمیم گیروزنی ای برای سیستم های تحمل پذیر خطا ارائه خواهد شد که کارایی  دسترس پذیری و قابلیت اطمینان بهتری نسبت به سایر الگوریتم های تصمیم گیری مطالعه شده خواهد داشت.

 

 

 

Lalaو همکارش [1] ، در مورد مفاهیم نقص، خطا و شکست بحث نموده اند.  مفاهیم نقص، خطا و شکست  که معمولاً مترادف هم و گاهی نیز به جای هم استفاده می شوند. در حقیقت نقص، خطا و شکست به صورت یک زنجیر علت و معلول تعریف می شوند. هر کاستی و نقص مانند قطع شدن سیم، سوختن یک ترانزیستور و غیره یک نقص تلقی می شود. خطا به علت بروز نقص ممکن است رخ دهد. در واقع اگر نقص حالت و وضعیت یک مولفه از سیستم را تغییر دهد، خطا رخ داده است. حال اگربروز این خطا موجب شود که سیستم نتواند کارکرد صحیح خود را ارائه دهد، خطا منجر به شکست می شود.

 

Johnson [2]، به طراحی و تحلیل سیستم های دیجیتال تحمل پذیر خطا پرداخته است .افزونگی ، اضافه نمودن اطلاعات،منابع یا زمانی بیش از آنچه که برای عملکرد حالت عادی سیستم لازم است به اجزاء سیستم است. وی افزونگی را به چهار دسته تقسیم نموده است: افزونگی سخت افزاری یعنی اضافه نمودن سخت افزار اضافه ، غالباً به منظور تشخیص یا تحمل پذیری خطا. افزونگی اطلاعاتی یعنی اضافه نمودن اطلاعات بیش از آنچه برای پیاده سازی تابع مورد نظر لازم است، برای مثال کدهای تصحیح خطا . افزونگی نرم افزاری یعنی اضافه نمودن نرم افزار ، بیش از آنچه برای کارکردهای سیستم لازم است و افزونگی زمانی یعنی استفاده از زمانی بیش از آنچه توابع سیستم لازم دارند که اجرا شوند، به طوریکه عملیات تشخیص خطا قابل انجام باشد.

 

در مقالات [3,4,5] در مورد تحمل پذیری خطای نرم افزار و انواع تکنیک های آن بحث شده است. تحمل پذیری خطای نرم افزاری می تواند به دو گروه تقسیم شود: تاکتیک های نرم افزاری تک نسخه ای و چند نسخه ای. تاکتیک های تک نسخه ای با پیاده سازی یک نسخه از نرم افزار خطاهای نرم افزاری را تحمل می کنند. تاکتیک های تک نسخه ای معمولاً از تکنیک های بازگشت به عقب ، بازگشت به جلو و همچنین از افزونگی زمان و افزونگی اطلاعات استفاده می کنند. مثال هایی از تاکتیک های تک نسخه ای شامل کشف خطا، نقاط چک شده و شروع مجدد می باشد. تاکتیک های چند نسخه ای ، دو یا تعداد بیشتر از نسخه های نرم افزار را به صورت سریالی یا همروندی اجرا می کنند. این نسخه ها بوسیله ی گوناگونی طراحی از قبیل تیم های برنامه نویسی مختلف یا الگوریتم های مختلف با هدف جلوگیری از خطاهای طراحی ایجاد می شوند. تاکتیک های چند نسخه ای معمولاً خیلی پرهزینه هستند لذا آنها بیشتر در سیستم های ایمنی –بحرانی استفاده می شوند از قبیل سیستم های کنترل پرواز مانند ایرباس A340  ، سیستم های حمل ونقل، سیستم های فضایی مانند شاتل فضایی ناسا  و غیره.

Lyu [6] ، در مورد تحمل پذیری خطای نرم افزار بحث نموده است. تاکتیک برنامه نویسی چند نسخه ای  (NVP) مشابه افزونگی سخت افزاری N-Modular است. ایده اصلی در NVP شامل n  تا پیاده سازی مختلف نرم افزاری از یک واحد می باشد که بطور همزمان اجرا می شوند. تمامی نسخه ها یک وظیفه را ولیکن با روش های متفاوت انجام می دهند. الگوریتم انتخاب در این نمودار بلوکی تصمیم می گیرد که کدام یک از جواب ها درست است و جواب درست را به عنوان نتیجه ای از اجرای واحدها برمی گرداند.

 

Lorczak [8] ،اشکال مختلف تصمیم گیری را به چهار دسته تقسیم کرده است: majority Voter ،plurality Voter،Median Voter، Weighted Average Voter. وی کارایی این چهار دسته را در فضاهای ورودی با اندازه های گوناگون مقایسه کرده است.

Blough [9,10] ، با ارائه یک مدل احتمالاتی دریچه ای به سوی optimal Voting برای سیستم های تحمل پذیر خطا گشود.

Latif [11]، دسته بندی دیگری برای voter های کاربردی در سیستم های امنیت بحرانی ارائه کرد که در آن voter ها بر اساس عملکردشان به سه دسته متعارف، ترکیبی و خاص منظوره تقسیم شدند.

Latif [12] ، یک الگوریتم تصمیم گیر وزنی برای سیستم های محاسباتی تحمل پذیر خطا ارائه کرده است . در این الگوریتم از یک مقدار حد آستانه نرم استفاده شده استکه برای سیستم های حمل و نقل مناسب می باشد. در مقایسه با الگوریتم های تصمیم گیر وزنی ارائه شده این الگوریتم  کارایی بهتری دارد.

Ebrahimipour و همکارانش [13]، یک مدل تحلیل مؤلفه (Principal component analysis) ارائه نموده اند و کارایی را در یک سیستم k-out-of-n با استفاده از الگوریتم ژنتیک محاسبه نموده اندو الگوریتم ژنتیک را بر پایه سه ماژول تعریف نموده اند:ماژول تولید، ماژول ارزیابی و ماژول تولید مثل.روش متداول پیاده سازی الگوریتم ژنتیک بدین ترتیب است که:

مجموعه ای از فرضیه ها که population نامیده می شود تولید و به طور متناوب با فرضیه های جدیدی جایگزین می گردد.

در هر بار تکرار تمامی فرضیه ها با استفاده از یک تابع تناسب یا fitness مورد ارزیابی قرار داده می شوند. آنگاه تعدادی از بهترین فرضیه ها با استفاده از یک تابع احتمال، انتخاب شده و جمعیت جدید را تشکیل می دهند.

تعدادی از این فرضیه های انتخاب شده به همان صورت مورد استفاده واقع شده و مابقی با استفاده از اپراتورهای ژنتیکی نظیر crossover و mutation برای تولید فرزندان بکار می روند.

 

Karimi و همکارانش [14] ، یک الگوریتم تصمیم گیر موازی برای سیستم های کنترلی تحمل پذیر خطا ارائه داده اند که در مقایسه با حالت sequential دارای زمان اجرای بهتری می باشد. به طوریکه زمان اجرا در حالت ترتیبی با مرتبه خطی است اما در حالت موازی از مرتبه لگاریتمی می باشد.این الگوریتم قابلیت availability بالاتری نسبت به سایر الگوریتم ها دارد و همچنین نیاز به مقدار حد آستانه(threshold) ندارد.

 

نظر ها (0)
تنها کاربران عضو شده می توانند نظر ارسال کنند!
 
logo-samandehi