سيستم های تحمل پذير اشکال

68,000 تومان

[real3dflipbook id=’9′]

 

مفاهیمی همچون اشکال، خطا، خرابی، نقص، قطعی، نامطلوب تلقی می­شوند و همواره محققین به دنبال روش­هایي برای جلوگیری  و یا مدیریت پس از رخداد آنها هستند. آنچه که در این کتاب سعی می­شود به خوانندگان عزیز منتقل گردد، تمایزهایی است که مابین مفاهیم مذکور وجود دارد و روش­های مدیریت این رخدادهاست. لذا در ابتدا سعی شده است تا این مفاهیم بصورت دقیق تشریح شوند تا کاربر حس مشخصی از کاربرد این مفاهیم در موقعیت­های صحیح داشته باشد. شاید اگر عنوان این کتاب، “تحمل­پذیری اشکال” نبود، در این بخش نیز حساسیتی وجود نمی­داشت. اما مبتنی بر تخصصی بودن بحث پیرامون مفاهیم نامبرده، سعی شده است تا مرزهای موجود تبیین گردند.

می­دانیم که دنیای مهندسی، توازن و مصالحه­ای مابین آورده­ها و سربارها یا داده­ها و ستاده­هاست. به عبارتی برای بدست آوردن مزیتی ممکن است به سیستم سربارهایی را نیاز باشد تا تحمیل نمود. برای بدست آوردن تحمل­پذیری اشکال نیز باید هزینه­ای پرداخت نمود و این هزینه افزونگی است؛ به عبارتی چندتایی کردن مولفه­ها یا زیرمولفه­ها. افزونگی مشتمل بر چهار قسم افزونگی سخت­افزاری(این که بجای یک مولفه سخت­افزاری از چندین مولفه سخت­افزاری استفاده شود)، افزونگی نرم­افزاری(این که بجای یک مولفه نرم­افزاری از چندین مولفه نرم­افزاری استفاده شود)، افزونگی زمانی(این که بر روی یک سیستم، از تکرارهای متوالی در بازه­های زمانی مختلف برای تشخیص و یا تحمل­پذیری یا حذف اشکال استفاده نمود) و افزونگی اطلاعاتی(این که به همراه اطلاعات اصلی، اطلاعات کنترلی نیز ارسال گردد تا گیرنده اطلاعات را در تشخیص و تصحیح و بطور کلی در کنترل خطاهای احتمالی حین انتقال توانمند نمود) است که سعی شده است تا در فصل­های مختلف کتاب در مورد این مباحث توضیحات مشروحی ارائه گردد.

 

فصل اول:

مفاهيم مقدماتي

1-1 مقدمه

حتما تاکنون در زمينه­هاي مختلف مهندسي با واژه­هايي همانند اشکال، خطا، خرابي، نقص، شکست و مفاهيمي از اين دست برخورد کرده­ايد. بديهي است که تمامي اين مفاهيم بار معنايي نامطلوب و منفي دارند و در کتاب­ها و مستندات علمي معمولا تفاوت چنداني در استفاده از يکي از اين واژگان بطور خاص وجود ندارد. اما هنگامي که بحث در مورد اتکاپذيري، تحمل­پذيري اشکال، قابليت اعتماد و مواردي از اين قبيل است، کاملا استفاده از هر يک اين واژگان بار معنايي متفاوتي دارد و هر يک را بايد دقيقا در مکان مناسب خود بکار برد. مبتني بر اين اهميت، در اين فصل قصد بر اين است تا در مورد مفاهيم پايه­اي صحبت کنيم.

 

1-2 اتکاپذيري

اتکاپذيري[1] يک ويژگي تجميعي سيستمي است. بدين معني که خود ويژگي­هاي ديگري را دربرمي­گيردکه از جملة اين ويژگي­ها عبارتند ازقابليت اطمينان[2]، قابليت در دسترس بودن[3]، ايمني[4]، امنيت[5]، قابليت احيا، قابليت نگهداري[6]. در اين فصل بر روي سه جنبه از مفهوم اتکاپذيري صحبت مي­کنيم:

الف)تهديدها[7] هماننداِشکال[8]­ها، خطا[9]ها و خرابي[10]­ها

ب)صفت­ها[11]که عبارتند از قابليت در دسترس بودن، قابليت اطمينان، ايمني، محرمانگي[12]، جامعيت[13] و قابليت نگهداري.

ج)ابزارها[14]: روش­هاي پيشگيري از اشکال[15]، روش­هاي تحمل­پذيري اشکال[16]، روش­هاي برداشتن اشکال[17] و روش­هاي پيش­بيني اشکال[18]

 

اين توصيف را مي­توان در درخت اتکاپذيري مشاهده نمود که در شکل 1-1 نشان داده شده است.

شکل 1-1 درخت اتکاپذيري

 

سيستم­هاي محاسباتي با 5 ويژگي پايه­اي مشخص مي­گردند:

  1. کارکرد[19]
  2. قابليت استفاده[20]
  3. قابليت کارايي[21]
  4. هزينه[22]
  5. اتکاپذيري

همانگونه که مشاهده مي­شود، اتکاپذيري يکي از مشخصه­هاي اصلي هر سيستم محاسباتي و کامپيوتري است. در اينجا اولين تعريف از مفهوم اتکاپذيري را ارائه مي­کنيم:

اتکاپذيري يک سيستم محاسباتي، توانايي تحويل سرويس به گونه­اي است که آن سرويس قابل اعتماد باشد.

سرويستحويل داده شده توسط يک سيستم، رفتاري است که کاربر و يا کاربران آن سيستم، از آن انتظار دارند. يک کاربريک سيستم ديگر است (که خود مي­تواند يک شخص و يا يک سيستم ديگر باشد)، که با واسط سرويس در تعامل است. کارکرديک سيستم، چيزي است که سيستم قصد دارد تا انجام دهد که اين کارکرد در مشخصه­هاي کارکردي سيستم توصيف مي­شود. هنگامي سرويس صحيح ارائه مي­شود که سرويس، کارکرد سيستم را پياده­سازي کند. يک خرابي سيستمي، رويدادي است که زماني اتفاق مي­افتد که سرويس از حالت ارائة سرويس صحيح منحرف مي­شود. بنابراين يک خرابييک گذر از ارائة سرويس صحيح به سرويس ناصحيح است. به عبارتي اين که کارکرد سيستم پياده­سازي نشود. تحويل سرويس ناصحيح را قطعي[23] سيستم نيز مي­گويند. يک گذر از سرويس ناصحيح به سرويس صحيح را بازيابي سرويس[24] مي­گويند. برمبناي تعريفي که از خرابي ارائه شد، يک تعريف مکمل براي اتکاپذيري سيستم عبارتست از:

“توانايي سيستم در اجتناب از خرابي­هايي که تعداد رخداد آنها يا شدت آنها و يا بازة زماني خرابي آنها از حد قابل قبول بيشتر باشد”.

 

1-2-1 تهديدها: اشکال­ها، خطاها و خرابي­ها

يک سيستم به دلايل متفاوتي ممکن است خراب شود. براي مثال ممکن است مشخصه­هاي مورد نياز به خوبي برآورده نشوند و يا اين که اين مشخصه­ها به خوبي توصيف نشده باشند. يک خطا (که در اين کتاب ما آن را به عنوان ترجمة واژه Error استفاده مي­کنيم)، يک بخش از حالت سيستم است که ممکن است منجر به خرابي شود (در اين کتاب، خرابي به عنوان ترجمة واژة Failure استفاده مي­شود.). يک خرابي زماني رخ مي­دهد که يک خطا به واسط سرويس برسد و سرويس را تغيير دهد. يک اشکال رخدادي است که علت رخداد خطا مي­­باشد (در اين کتاب، اشکال به عنوان ترجمة واژه Fault استفاده مي­شود). مي­توان از يک نقطه نظر، اشکال را به دو دستة کلي تقسيم­بندي نمود. اشکال مي­تواند يا فعال[25] باشد و يا خوابيده[26] در سيستم. يک اشکال زماني فعال است که خطايي را توليد کند. در غير اينصورت اشکال را خوابيده مي­گويند.

يک سيستم همواره به يک روش خراب نمي­شود. اين روش­هاي مختلف خراب شدن سيستم را مدهاي خرابي مي­گويند که مي­توان آنها را بر مبناي شدت خرابي­ها دسته­بندي نمود. اين مدها، سرويس ناصحيح را از چهار نقطه نظر کلاس­بندي مي­کنند:

  1. دامنة خرابي[27]
  2. کنترل­پذيري خرابي[28]
  3. سازگاري خرابي­ها[29] در هنگامي که يک سيستم دو و يا بيشتر کاربر دارد
  4. عواقب خرابي­ها[30] بر روي محيط

شکل 1-2، مدهاي خرابي را بر مبناي اين چهارنقطه نظر نمايش مي­دهد.

 

شکل 1-2 مدهاي خرابي

 

يک سيستم مجموعه­اي از مولفه­هايي است که با هم تعامل مي­کنند. بنابراين حالت سيستم، مجموعه­اي از  حالت­هاي مولفه­هاي آن است.

از نقطه نظر دامنه، خرابي­ها را مي­توان به دو دسته خرابي­هاي مقداري[31]و خرابي­هاي زمانيتقسيم­بندي نمود. خرابي­هاي مقداري، خرابي­هايي هستند که در نتيجة آنها مقدار و محتوايي که سيستم بايستي توليد کند دچار خرابي مي­شود. براي مثال يک موتور جستجو را تصور کنيد که شما يک عبارت جستجو را در آن وارد مي­کنيد و موتور عبارتي ديگر را براي شما برمي­گرداند. خرابي­هاي زماني، خرابي­هايي هستند که در نتيجة آنها، زمان­بندي سيستم دچار خرابي مي­شود. به عبارتي ديگر سيستم طبق سناريوي زماني خود عمل نمي­کند، حتي اگر مقدار و يا محتواي صحيح را توليد کند. براي مثال همان موتور جستجو را تصور کنيد که شما يک عبارت جستجو را وارد کرده­ايد، اما موتور پس از گذشت مدت زمان زيادي خروجي را توليد کند. بديهي است که پس از گذشت اين مدت زمان، حتي اگر خروجي صحيح نيز باشد، ديگر مطلوب شما نخواهد بود و يا نياز به توليد خروجي­ها در سيستم­هاي بي­درنگ. بنابراين، اين دسته از خرابي­ها بيشتر در سيستم­هاي بي­درنگ[32] معني پيدا مي­کنند.

از نقطه نظر کنترل­پذيري، خرابي­ها را مي­توان به دو دستة کنترل شده[33] و کنترل نشده[34] تقسيم­بندي کرد. بديهي است خرابي­هاي کنترل شده، خرابي­هايي هستند که پس از رخداد در حيطة کنترل کاربر و يا سيستم هستند. حريق درختي را تصور کنيد که پس از رخداد اين حريق بتواند آن را اطفا نمود. اما يک خرابي کنترل­نشده پس از رخداد در حيطة کنترل نيست. براي مثال حريق درختي که منجر به حريق جنگلي شود ديگر تحت کنترل نيست.

از نقطه نظر سازگاري، خرابي­ها را مي­توان به دو دستة خرابي­هاي سازگار[35] و خرابي­هاي ناسازگار[36] تقسيم­بندي نمود. اين دسته­بندي را مي­توان با توجه به اين مساله که کاربران سرويس، چگونه مدهاي خرابي را مشاهده مي­کنند، مطرح نمود. خرابي­هاي سازگار، خرابي­هايي هستند که تمامي کاربران از آنها درک يکساني دارند. براي مثال، خرابي­هاي کارايي[37]از اين دسته خرابي­ها هستند. اما در خرابي­هاي ناسازگار، کاربران متفاوت، درک مختلفي را از خرابي سيستم دارند.

در سه جنبة گذشته، تقسيم­بندي خرابي­ها بصورت دو کلاسه بود. اما خرابي­ها از نقطه نظر عواقبي که ممکن است داشته باشند، طيفي را دربرمي­گيرند. عواقب خرابي­ها مي­تواند ناچيز، قابل توجه، مهم و فاجعه­بار باشد.

خطاها را بطور کلي مي­توان به دو دسته تقسيم­بندي نمود: خطاهاي تشخيص داده شده[38] و خطاهاي معوق[39].يک خطا، زماني تشخيص داده شده است که حضور آن توسط يک پيغام خطا و يا سيگنال خطا اعلان شود. خطاهايي که حضور دارند، اما تشخيص داده نمي­شوند، خطاهاي معوق ناميده مي­شوند.

اشکال­ها و علل رخداد آنها بسيار متفاوت است. مي­توان در شکل 1-3، يک دسته­بندي از اشکال را مشاهده نمود.

 

شکل 1-3 يک دسته­بندي نمونه از اشکال

 

از نقطه نظر فاز رخداد و يا ايجاد اشکال[40]، اشکال­ها را مي­توان به دو دستة اشکال­هاي طراحي[41] و اجرايي[42] تقسيم­بندي نمود. اشکال­هاي طراحي، اشکال­هايي هستند که در حين طراحي سيستم توسط طراح سيستم بصورت ناخودآگاه يا تعمدي رخ مي­دهند. اشکال­هاي اجرايي، اشکال­هايي هستند که در حين اجراي سيستم، پس از اتمام طراحي رخ مي­دهند.

از نقطه نظر مرزهاي سيستمي، اشکال­ها را مي­توان به دو دستة اشکال­هاي داخلي[43] و خارجي[44] تقسيم­بندي نمود. اشکال­هاي طراحي، اشکال­هايي هستند که علت رخداد آنها در داخل سيستم است. براي مثال اشکال­هاي طراحي خود نمونه­اي از اشکال­هاي داخلي هستند. در حالي که اشکال­هاي خارجي، اشکال­هايي هستند که علت رخداد آنها از بيرون سيستم است. براي مثال نويزي که از بيرون سيستم بر سيستم اعمال مي­شوند و عملکرد سيستم را مختل مي­کند، نمونه­اي از اين دسته از اشکال­هاست.

از نقطه نظر دامنه[45]، اشکال­ها را مي­توان به دو دستة اشکال­هاي سخت­افزاري[46] و نرم­افزاري[47] تقسيم­بندي نمود. بديهي است که اشکال­هاي سخت­افزاري، اشکال­هايي هستند که علت رخداد آنها بصورت سخت­افزاري و اشکال­هاي نرم­افزاري، اشکال­هايي هستند که علت رخداد آنها نرم­افزاري است.

از نقطه نظر دلايل پديده­شناختي[48]، اشکال­ها را مي­توان به دو دستة اشکال­هاي طبيعي[49] و اشکال­هاي دست بشر[50] تقسيم­بندي نمود. اشکال­هاي طبيعي، اشکال­هايي هستند که کاربر انساني هيچ نقشي در ايجاد آنها ندارد. در حالي که اشکال­هاي دست بشر به اشکال­هايي گفته مي­شود که کاربر در ايجاد آنها بصورت مستقيم تاثيرگذار بوده است.

از نقطه نظر تعمد[51]، اشکال­ها را مي­توان به دو دستة اشکال­هاي تصادفي يا غيرمخرب و اشکال­هاي تعمدي مخرب تقسيم­بندي نمود. بديهي است که اشکال­هاي تصادفي، اشکال­هايي هستند که قصد و تعمدي در رخداد آنها وجود ندارد؛ در حالي که اشکال­هاي تعمدي بصورت قصدي و عامدانه ايجاد مي­شوند.

از نقطه نظر تداوم[52]، اشکال­ها را مي­توان به دو دستة اشکال­هاي هميشگي[53] و اشکال­هاي گذرا[54] تقسيم­بندي نمود. اشکال­هاي هميشگي، اشکال­هايي هستند که هنگامي که در سيستم رخ مي­دهد، تاثير آنها بصورت هميشگي است. براي مثال پين پردازنده­اي را تصور کنيد که تحت تاثير اشکالي سوخته باشد؛ بنابراين، اين خرابي بصورت هميشگي است. اما اشکال گذرا در سيستم، تاثير لحظه­اي دارد. براي مثال نويزي را تصور کنيد که مقدار رجيستري را در يک پردازنده بصورت لحظه­اي تغيير دهد. اما آن رجبستر در اجراي بعدي مقدار صحيح را خواهد داشت.

ترکيب کلاس­هاي اشکال که در شکل 1-3 به آنها پرداخته شد، منجر به تشکيل سه بخش بالايي شکل 4 مي­شود. برگ­هاي درخت با هم ترکيب شده و سه کلاس عمده را ايجاد مي­کنند: اشکال­هاي طراحي[55]، اشکال­هاي فيزيکي[56] و اشکال­هاي تعاملي[57].

شکل 1-4 کلاس­هاي اشکال ترکيب شده

 

1-2-2 صفات اتکاپذيري

اتکاپذيري، يک مفهوم تجمعي است که شامل صفات پايه­اي زير است:

  • قابليت در دسترس­بودن: آمادگي تحويل سرويس صحيح.
  • قابليت اطمينان: تداوم تحويل سرويس صحيح.
  • ايمني: عدم حضور عواقب فاجعه­بار براي کاربر(ان) و محيط.
  • محرمانگي: عدم افشاي بدون مجوز اطلاعات.
  • جامعيت: عدم تغييرات حالت سيستمي نامناسب.
  • قابليت نگهداري: توانايي تعمير و يا بهبود سيستم.

حال بسته به نوع برنامة کاربردي مورد نظر، وزني که به هر يک از صفات داده مي­شود، متفاوت خواهد بود. البته بايستي توجه داشت که افزون بر اين صفات پايه­اي، اتکاپذيري صفات ديگري نيز دارد که ترکيبي از يک يا چند صفت پايه­اي ذکر شده هستند. براي مثال امنيت[58]وجود همزمان الف) قابليت در دسترس بودن براي کاربران احراز هويت شده ب) محرمانگي، و ج) جامعيت است. مقاوم بودن[59]يک صفت تکميلي ديگر اتکاپذيري است که اتکاپذيري با در نظر گرفتن ورودي­هاي ناصحيح است. به عبارتي سيستمي را مقاوم مي­گوييم که به ازاي ورودي ناصحيح کماکان عملکرد صحيحي را از خود نشان دهد. از جمله نمونه­هاي ديگر صفات ثانوية اتکاپذيري مي­توان به موارد زير اشاره نمود:

  • پاسخگويي[60]: در دسترس بودن و جامعيت هويت شخصي که عملياتي را انجام مي­دهد.
  • صحت[61]: جامعيت محتوي و فرستندة يک پيام و شايد برخي اطلاعات ديگر همانند زمان ارسال پيام.
  • انکارناپذيري[62]: در دسترس بودن و جامعيت هويت فرستندة يک پيام (انکارناپذيري ارسال) يا گيرندة پيام (انکارناپذيري دريافت).

وزن­دهي متفاوتي که به صفات مختلف اتکاپذيري مي­شود، توازن تکنيک­هاي مورد استفاده­اي که براي اتکاپذير ساختن سيستم بکار گرفته مي­شوند را تحت تاثير قرار مي­دهد. اين مساله زماني دشوار مي­شود که با صفاتي مواجه باشيم که همراستا نباشند؛ براي مثال در قابليت در دسترس بودن و ايمني يا قابليت در دسترس بودن و امنيت.

 

1-2-3 روش­هاي دستيابي به اتکاپذيري

طراحي يک سيستم محاسباتي اتکاپذير، نيازمند بکارگيري مجموعه­اي از چهار تکنيک زير است:

  • تزريق اشکال:عبارتست از تزريق تصنعي اشکال.
  • پيشگيري از اشکال: اين که چگونه بتوان از رخداد و يا مطرح شدن اشکال ممانعت به عمل آورد.
  • تحمل­پذيري اشکال: اين که چگونه بتوان در حين حضور اشکال، سرويس صحيح را ارائه نمود.
  • برداشتن اشکال: اين که چگونه بتوان تعداد و يا شدت اشکال را کاهش داد.
  • پيش­بيني اشکال: اين که چگونه بتوان تعداد اشکال، رخداد آنها در آينده و عواقب احتمالي آنها را برآورد نمود.

 

1-2-3-1 تزريق اشکال

جهت تشخيص اين که سيستم مي­توان اشکال­ها را تشخيص داده، ايزوله کند و سپس بردارد، لازم است تا در ابتدا سيستم بصورت تصنعي دچار اشکال شود. به عبارتي بايستي به سيستم اشکال را تزريق نمود. بديهي است که هر چقدر اين اشکال­ها به اشکال­هاي واقعي و طبيعي شبيه­تر باشد مي­تواند برآورد واقع­بينانه­تري از رفتار سيستم تحت آزمون داشت. روش­هاي تزريق اشکال را مي­توان به سه دستة کلي تقسيم­بندي نمود:

  • روش­هاي تزريق اشکال سخت­افزاري: در اين دسته از روش­هاي تزريق اشکال سعي مي­شود تا سيستم را بصورت سخت­افزاري دچار اشکال نمود. براي مثال مي­توان به افزايش يا کاهش ناگهاني ولتاژ منبع تغذيه، افزايش يا کاهش ناگهاني فرکانس، تاباندن اشعه­ها و مواردي از اين دست اشاره نمود.
  • روش­هاي تزريق اشکال نرم­افزاري:در اين دسته از روش­هاي تزريق اشکال سعي مي­شود تا سيستم را بصورت نرم­افزاري دچار اشکال نمود. براي مثال مي­توان به تغيير داده­هاي متغيرها، پاک کردن و يا اضافه نمودن حلقه­ها، پاک کردن else در شرط­ها و مواردي از اين دست اشاره نمود.
  • روش­هاي تزريق اشکال مبتني بر شبيه­سازي: در اين دسته از روش­ها، به دليل محدوديت­هاي سيستم، سعي مي­شود تا اشکال مورد نظر براي سيستم شبيه­سازي شود و يا از اشکال­هايي استفاده شود که تاثير مشابهي را همانند اشکال­هاي مورد نظر داشته باشند. براي مثال اگر امکان تزريق اشکال تشعشع بر روي رجيستر PC پردازنده وجود نداشته باشد، مي­توان با استفاده از ابزارهاي برنامه­ريزي پردازنده­ها مقدار اين پردازنده را بصورت دستي و يا با استفاده از يک نرم­افزار تغيير داد.

از يک نقطه­نظر ديگر، روش­هاي تزريق اشکال را مي­توان به دو دسته تقسيم­بندي نمود:

  • روش­هاي تزريق اشکال ايستا: در اين دسته از روش­ها، اجراي سيستم متوقف شده و سپس عمليات تزريق اشکال انجام مي­شود. اجراي سيستم، پس از عمليات تزريق اشکال از سر گرفته مي­شود.
  • روش­هاي تزريق اشکال پويا: در اين دسته از روش­ها، عمليات تزريق اشکال در حين اجراي سيستم انجام مي­شود.

 

1-2-3-2 پيشگيري از اشکال

پيشگيري از اشکال با استفاده از تکنيک­هاي کنترل کيفيت که در طول طراحي و پياده­سازي و ساخت سخت­افزار و نرم­افزار مورد استفاده قرار مي­گيرد، ميسر خواهد شد. از جملة اين تکنيک­ها مي­توان به برنامه­نويسي ساختاريافته[63]، پنهان­سازي اطلاعات[64]، ماژولاريزاسيون[65] براي نرم­افزار و طراحي مقاوم[66] براي سخت­افزار اشاره نمود. براي مثال استفاده از حفاظ­ها در برابر تشعشعات مي­تواند از وقوع اشکال­هاي فيزيکي ممانعت کند. از جمله موارد ديگر مي­توان استفاده از ديوارآتشين[67] در نرم­افزار را اشاره نمود.

 

1-2-3-3 تحمل­پذيري اشکال

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

تشخيص خطا، يک سيگنال خطا و يا يک پيغام را در سيستم توليد مي­کند. تکنيک­هاي تشخيص خطا را مي­توان به دو کلاس تقسيم­بندي نمود:

  1. تشخيص خطاي همروند: که در حين تحويل سرويس رخ مي­دهد.
  2. تشخيص خطاي قبضه­اي:که هنگامي انجام مي­شود که تحويل سرويس معلق شده و سپس فرآيند تشخيص خطاهاي معوق و اشکال­هاي خوابيده بر روي آن انجام مي­شود.

فرآيند بازيابي[68]، يک حالت سيستمي را که شامل يک يا چند خطا و يا احتمالا چند اشکال است را به حالتي تبديل مي­کند که آن خطاها و يا اشکال­هاي تشخيص داده شده ديگر وجود نداشته باشند. بنابراين بايستي توجه نمود که فرآيند بازيابي، حالت سيستم را به حالتي که بدون اشکال و خطا است تبديل نمي­کند. بلکه مي­توان تنها ادعا نمود که آن دسته از اشکال­ها و خطاهايي که گزارش شده بودند، ديگر وجود ندارند.

بازيابي شامل دو فرآيند مديريت اشکال[69]و مديريت خطاست[70].          مديريت خطا، خطاها را از حالت سيستمي حذف مي­کند که ممکن است سه فرم داشته باشد:

  1. بازگشت به عقب[71] که در آن تبديل حالت شامل برگشت سيستم به عقب به يک حالت قابل اطمينان است. چنين حالتي را نقطه وارسي[72] مي­ناميم که در فصل­هاي بعدي بطور مفصل به آن مي­پردازيم.
  2. جبران کردن[73] که در آن سيستم به اندارة کافي داراي افزونگي[74] است تا بتواند خطاهاي موجود را از سيستم حذف کند.
  3. حرکت به جلو[75] که در آن سيستم به يک حالتي برود که از پيش مشخص است که يک حالت بدون خطا مي­باشد.

مديريت اشکال فرآيندي است که سعي مي­کند که از فعال شدن مجدد اشکال­ها جلوگيري کند. مديريت اشکال شامل چهار گام است:

  • تشخيص اشکال[76]که فرآيندي است که سعي مي­کند تا مکان و نوع دلايل رخداد خطا را مشخص سازد.
  • ايزوله­سازي اشکال[77]که فرآيندي است که سعي مي­کند تا مولفه­هاي اشکال­دار را از سيستم خارج سازد.
  • بازپيکربندي سيستم[78]که فرآيندي است که سعي مي­کند تا ماموريت سيستم را بر روي مولفه­هاي يدک سوئيچ کند و يا وظايف را به مولفه­هايي که دچار خرابي نشده­اند، انتساب کند.
  • بازمقداردهي سيستم[79]که فرآيندي است که پيکربندي جديد را چک و رکورد کرده و جداول سيستمي را به روزرساني مي­کند.

پس از مديريت اشکال، نگهداري اصلاحي صورت مي­گيرد که اشکال­هاي ايزوله شده توسط فرآيند مديريت اشکال را از سيستم استخراج مي­کند. آنچه که تحمل­پذيري اشکال را از نگهداري اشکال متمايز مي­کند، اين است که نگهداري اشکال به مشارکت يک عامل خارجي نياز دارد.

 

1-2-3-4 برداشتن اشکال

برداشتن اشکال در طول فازهاي طراحي و عملياتي يک سيستم انجام مي­شود. برداشتن اشکال در طول فاز طراحي چرخة عمر يک سيستم شامل 3 فاز است: درستي­يابي[80]، تشخيص و تصحيح. درستي بدين معني است که آيا سيستم، مشخصه­هاي مورد نظر را داراست يا خير. اگر سيستم، اين مشخصه­ها را دارا نبود، دو گام برداشته مي­شود: تشخيص اشکال­هايي که موجب شدند تا درستي يابي مورد قبول واقع نشود و سپس اجراي تصحيحات مورد نياز. پس از انجام تصحيحات، فرآيند درستي­يابي بايستي تکرار شود تا اين اطمينان حاصل شود که فرآيند برداشتن اشکال، تاثيرات جانبي نداشته است.

چک کردن و بررسي مشخصه­ها معمولا اعتبارسنجي[81] ناميده مي­شود. يافتن اشکال­هاي مشخصه­ها مي­تواند در هر فازي از طول عمر سيستم اتفاق بيفتد.

تکنيک­هاي درستي­يابي را مي­توان بر مبناي اين که سيستم در حال استفاده است يا خير کلاس­بندي نمود. درستي­يابي يک سيستم بدون اجراي واقعي را درستي­يابي ايستا مي­گويند. درستي­يابي پويا، درستي­يابي سيستم در حين اجراي سيستم است.

1-2-3-5 پيش­بيني اشکال

پيش­بيني اشکال از طريق ارزيابي رفتار سيستم با در نظرگرفتن رخداد و يا فعال­سازي اشکال انجام مي­شود. ارزيابي دو جنبه دارد:

  • ارزيابي کيفي[82] يا توصيفي[83] که هدف آن، تعيين، کلاس­بندي و رتبه­بندي مدهاي خرابي و يا ترکيبي از رويدادهاست (خرابي­هاي مولفه­اي يا شرايط محيطي) که مي­توانند منجر به خرابي سيستم شوند.
  • ارزيابي کمّي[84] يا احتمالاتي[85] که هدف آن ارزيابي احتمالاتي ويژگي­هاي اتکاپذيري است.

روش­هاي ارزيابي کيفي و کمّي کاملا مشخص هستند(همانند مد خرابي و آناليز تاثير براي ارزيابي کيفي يا زنجيرة مارکوف[86] و شبکه­هاي پتري[87] براي ارزيابي کمّي). روش­هاي ارزيابي قابليت اطمينان همانند دياگرام­هاي بلوکي قابليت اطمينان[88] و يا درخت­هاي اشکال[89] براي هر دوي اين ارزيابي­هاي قابل استفاده هستند.

ارزيابي اتکاپذيري بر روي چرخة عمر يک سيستم را مي­توان با استفاده از نماد پايداري[90]، رشد[91] و کاهش که مي­توانند براي ويژگي­هاي مختلف اتکاپذيري استفاده شوند، مشخص نمود. اين نمادها با شدت خرابي[92](تعداد خرابي به ازاي هر واحد) نمايش داده مي­شوند. در طول عمر يک سيستم، شدت خرابي، ابتدا کاهش مي­يابد(قابيت اطمينان افزايش مي­يابد)، سپس پايدار شده(قابيت اطمينان پايدار مي­شود) و در نهايت با فرسايش سيستم افزايش مي­يابد(قابيت اطمينان کاهش مي­يابد).

مي­توان از تغييرات تحويل سرويس صحيح-ناصحيح براي تعريف قابليت اطمينان، قابليت در دسترس بودن و قابليت نگهداري به عنوان اندازه­هاي­هاي اتکاپذيري استفاده نمود:

  • قابليت اطمينان: يک اندازه از تحويل مداوم سرويس صحيح که معادل معياري از مدت زمان تا وقوع خرابي است.
  • قابليت در دسترس بودن: يک اندازه از تحويل سرويس صحيح با در نظرگرفتن تغييرات سرويس صحيح و ناصحيح. به عبارتي مدت زماني که سيستم، سرويس صحيح ارائه مي­کند به مجموع زماني که سيستم، سرويس صحيح و سرويس ناصحيح را ارائه مي­کند.
  • قابليت نگهداري: يک اندازه از مدت زمان لازم براي احياي سيستم از زمان رخداد آخرين خرابي است که معادل معياري از مدت زمان تحويل مداوم سرويس ناصحيح است.
  • ايمني: يک بسط از قابليت اطمينان است؛ هنگامي که حالت سرويس صحيح و حالت­هاي سرويس ناصحيح منجر به خرابي غيرفاجعه­بار در سيستم مي­شوند. ايمني، اندازه­اي از ايمن­بودن مداوم است که معادل مدت زمان لازم تا خرابي­هاي فاجعه­بار است. بنابراين، ايمني همان قابليت اطمينان با در نظر گرفتن خرابي­هاي فاجعه­بار است. به عبارتي، قابليت اطمينان، مدت زمان مورد تا وقوع خرابي است؛ در حالي که ايمني، مدت زمان مورد نياز تا وقوع خرابي­هاي فاجعه­بار است.

واژه­شناسي خرابي: ارتباط مابين اشکال، خطا، خرابي

در اين بخش، تقدم و تاخر زماني رويدادهاي اشکال، خطا و خرابي مورد بررسي قرار مي­گيرد:

  • يک اشکال، زماني اشکال فعال[93] ناميده مي­شود که منجر به رخداد خطا شود. در غيراينصورت، اشکال را اشکال خوابيده[94] مي­نامند. يک اشکال فعال مي­تواند يک اشکال داخلي[95] يا دروني (که قبلا در سيستم خوابيده بود و هم­اکنون به دليل فرآيندهاي محاسباتي و يا شرايط محيطي فعال شده است) و يا يک اشکال خارجي[96] باشد. فعال­سازي اشکال[97]، فرآيندي است که موجب مي­شود تا يک اشکال خوابيده در سيستم تيديل به يک اشکال فعال شود. بيشتر اشکال­هاي داخلي معمولا در حالت­هاي خوابيده و فعال نوسان مي­کنند.
  • انتشار خطا در يک مولفه (انتشار داخلي) به دليل يک فرآيند محاسباتي صورت مي­گيرد. در اين فرآيند، يک خطا به خطا يا خطاهاي ديگر تبديل مي­شود. با توجه به شکل 1-5، انتشار خطا از مولفة C1 به مولفة C2 که سرويس را از C1 دريافت مي­کند (انتشار خارجي) هنگامي رخ مي­دهد که از طريق انتشار داخلي، يک خطا به واسط سرويس مولفة C1 برسد. در اين زمان، سرويس تحويل داده شده به C2 خراب مي­شود و خرابي C1 همانند يک اشکال خارجي براي C2 خواهد شد.
  • يک خرابي زماني رخ مي­دهد که يک خطا به واسط سرويس برشد و منجر شود تا سيستم، سرويس ناصحيح را ارائه کند. خرابي يک مولفه مي­تواند منجر به يک اشکال گذرا[98] و يا دائمي[99] خارجي براي سيستم ديگري شود که با اين سيستم خراب در تعامل

همانگونه که قابل مشاهده است، اشکال پس از فعال­سازي منجر به رخداد خطا مي­شود. يک خطا در صورتي که در سيستم کنترل نشده و نقاب­بندي نشود، مي­تواند به انواع ديگري از خطاها شده و يا بطور مستقيم منجر به رخداد خرابي شود. البته بايستي توجه نمود، يک خرابي زماني رخ مي­دهد که خطا به واسط سرويس سيستم برسد و خروجي سيستم را تغيير دهد. رخداد يک خرابي، به نوبة خود مي­تواند منجر به رخداد يک اشکال در يک سيستم ديگر شود.

 

در کتب درسي ديگر، واژه­هاي اشکال، خطا، خرابي، نقص، قطعي و مواردي از اين دست، اگرچه واژه­هاي نامطلوبي براي عملکرد سيستم تلقي مي­شوند، اما مي­توان گاها آنها را به جاي هم استفاده نمود. اما همانگونه که سعي گرديد تا بدينجا تاکيد شود، در کتاب­هايي که با محوريت اتکاپذيري، تحمل­پذيري اشکال و مواردي از اين قبيل ارائه مي­گردند، استفادة صحيح از اين واژه­ها در جايگاه خود حائز اهميت است. بنابراين، بايستي سعي شود، تا از استفاده­هاي نادرست اين واژگان در اين حيطه اجتناب نمود.

دنياي مهندسي، دنياي توازن، موازنه و بده­-بستان است. بدين معني که همواره بهبود يک سيستم از يک نقطه­نظر در تناظر تحميل هزينه­هايي از نقطه­نظرات ديگر به همان سيستم است. به عبارتي براي به دست آوردن يک مزيت، به ناچار بايستي مزيتي ديگر را با مخاطره مواجه نمود. هزينه­اي که در ازاي افزايش قابليت اتکاپذيري بايستي پرداخت شود، افزونگي[100] است. افزونگي به طور کلي به معناي چندتايي کردن سيستم است. حال مي­توان اين چندتايي کردن را از جوانب مختلفي براي سيستم در نظر گرفت: سخت­افزار، نرم­افزار، زمان و نرم­افزار.

 

انواع افزونگي­ها

تمامي روش­هاي افزايش تحمل­پذيري اشکل، تمريني براي بکارگيري و مديريت افزونگي هستند. در صورتي کار يک سيستم با تعداد مشخصي از منابع انجام مي­شود، افزونگي به معناي داشتن تعدادي بيش از آن تعداد معين است. هنگامي که يک سيستم، دچار خرابي مي­شود، از آن منابع افزونة سيستم استفاده مي­شود.

چهارنوع افزونگي وجود دارد:

  • افزونگي سخت­افزاري[101]
  • افزونگي نرم­افزاري[102]
  • افزونگي زماني[103]
  • افزونگي اطلاعاتي[104]

اشکال­هاي سخت­افزاري را معمولا مي­توان با استفاده از افزونگي­هاي سخت­افزاري، زماني و اطلاعاتي محافظت نمود؛ در حالي که اشکال­هاي سخت­افزاري معمولا با استفاده از افزونگي نرم­افزاري محافظت مي­شوند.

در افزونگي سخت­افزاري، به جاي استفاده از يک سخت­افزار از چندين سخت­افزار استفاده مي­شود. حال مي­توان کل سخت­افزار را چندتايي کرد و يا بخش­هايي از سخت­افزار اصلي را چندتايي نمود. براي مثال، به جاي داشتن يک تک پردازنده، مي­توان دو يا چند پردازنده داشت که هر يک از اين پردازنده کارکرد يکساني دارند. با داشتن دو پردازنده، مي­توان خرابي يک پردازنده را تشخيص داد (اما اين که کدام پردازنده خراب شده است را خير). با داشتن سه پردازنده و راي­گيري اکثريت مي­توان پردازندة خراب را تشخيص داد. اين دسته از افزونگي­ها، افزونگي­هاي ايستا[105] ناميده مي­­شوند که هدف اصلي آنها، نقاب بندي فوري خرابي­هاي سيستم است. در افزونگي­ها ايستا، افزونگي­هاي از پيش­درنظرگرفته شدة سيستم، خرابي را در سيستم تحمل­ مي­کنند و در حين اجراي سيستم، بازپيکربندي[106] صورت نمي­گيرد. يعني هيچ مولفه­اي در سيستم در صورت رخداد خرابي، جايگزين مولفة ديگري نمي­شود. فرم ديگري از افزونگي سخت­افزاري، افزونگي پويا[107]ست که در اين نوع از افزونگي، در صورت رخداد خرابي، بازپيکربندي صورت مي­گيرد. براي مثال مولفه­­هاي افزونة جايگزين، جايگزين مولفه­هاي اصلي مي­شوند که خرابي آنها محرز شده است. البته، ترکيب اين دو نوع از افزونگي­ها نيز ميسر است که به آن افزونگي سخت­افزاري ترکيبي مي­گويند.

افزونگي سخت­افزاري مي­تواند از يک دوتايي کردن تا يک ساختار پيچيده که در هنگام خرابي به واحدهاي يدک سوئيچ مي­کند، متنوع باشد. بديهي است که اين دسته از افزونگي­­ها سربارهايي را از جمله هزينه، وزن، مساحت مورد نياز، سيم­کشي، نويزپذيري را به سيستم تحميل مي­کنند. بنابراين زماني که رويکرد افزونگي مورد نظر انتخاب مي­شود، بايستي به اين سربارها نيز توجه شود.

افزونگي نرم­افزاري غالبا در  برابر خرابي­هاي نرم­افزاري مورد استفاده قرار مي­گيرد. بطور کلي، هر قطعة نرم­افزار که طراحي و پياده­سازي مي­شود، شامل تعداد زيادي اشکال يا باگ است که اشکال­زدايي اين دسته از اشکال­ها ممکن است هزينة زيادي را به سيستم تحميل کند. يک روش مقابله با اين دسته از خرابي­هاي نرم­افزار، استفاده از دو نسخة متفاوت نرم­افزاري است که کارکرد يکساني دارند. براي مثال دو الگوريتم متفاوت با دو زبان برنامه­نويسي مختلف که توسط برنامه­نويسان متفاوتي برنامه­نويسي شده­­اند که هر دوي آنها مرتب­سازي اعداد را انجام مي­دهند. استفاده از نسخه­ها متفاوت نرم­افزاري، موجب مي­شود تا اشکال و يا باگي که يک نسخه را با خرابي مواجه کرده است با احتمال کمي در نسخة ديگري وجود داشته باشد.

شناخته­شده ترين فرم افزونگي اطلاعاتي، کدينگ تشخيص خطا و تصحيح خطاست. در اين دسته از افزونگي، تعداد بيت­هاي بيشتري به همراه بيت­هاي دادة اصلي ارسال مي­شود. اين بيت­ها، بيت­هاي چک[108] يا بيت­هاي کنترلي[109] يا بيت­هاي افزونه[110] ناميده مي­شوند. با استفاده از اين بيت­هاي افزونه مي­توان در صورت رخداد خطا بر روي کل اطلاعات ارسالي، عمليات تشخيص و يا تصحيح خطا را انجام داد. از کدهاي تشخيص و تصحيح خطا، امروزه به طور گسترده در واحدهاي حافظة پردازنده­ها و دستگاه­هاي ذخيره­سازي استفاده مي­شود. بايستي توجه نمود که کدهاي کنترل خطا همانند ديگر انواع افزونگي اطلاعاتي به سخت­افزارهاي اضافي براي پردازش داده­هاي افزونه نياز دارند. لذا افزونگي اطلاعاتي، خود نيازمند افزونگي سخت­افزاري در سيستم است. از کدهاي تشخيص و تصحيح خطا، همچنين براي محافظت از داده­هاي ارتباطي در کانال­هاي نويزي استفاده مي­شود. اين کانال­ها، در معرض خرابي­هاي گذراي زيادي هستند. اين کانال­ها مي­توانند لينک­هاي ارتباطي مابين پردازنده­هاي مختلفي باشند که در مکان­هاي مختلفي هستند (اينترنت) و يا پردازنده­هايي که در يک شبکة ناحية محلي[111](LAN) وجود دارند. در صورتي که از کدهاي تشخيص خطا استفاده شود، گيرندة اطلاعات، به فرستنده اطلاع مي­دهد تا فرستنده، اطلاعات را مجددا ارسال نمايد. در حالي که در کدهاي تصحيح خطا، گيرنده، مي­توان خود بصورت مستقل، اطلاعات دريافتي خطادار را تصحيح نمايد.

گره­هاي محاسباتي مي­توانند از افزونگي زماني از طريق اجراي مجدد همان برنامه در همان نرم­افزار و بر روي همان سخت­افزار استفاده بهره­ ببرند. از افزونگي­هاي زماني مي­توان در برابر اشکال­هاي گذرا بيشترين بهره را با کمترين هزينه برد. براي مثال، اگر يک تابع بر روي يک پردازنده، دو بار اجرا شود، در صورتي که يکي از اين بارها، تابع خروجي ناصحيحي را توليد کند، مبتني بر اين که خروجي­هاي يک تابع نرم­افزاري در يک سخت­افزار در دو اجراي مختلف بايستي يکسان باشند مي­توان تشخيص داد که يکي از اين اجرا ناصحيح بوده است. همچنين با اجراي سه بار همان تابع مي­توان اجراي ناصحيح را تشخيص داد. اگرچه افزونگي زماني در مقايسه با ديگر انواع افزونگي­ها، سربار کمتري را به سيستم تحميل مي­کند، اما سربار کارايي آن در مقايسه به ديگر افزونگي­­ها بسيار بالاست. از اين رو گزينة مناسبي براي استفاده در سيستم­هاي بي­درنگ نيستند؛ چرا که در اين سيستم،ها، سرحدهاي زماني بسيار حائز اهميت هستند و خروجي­ها بايستي در اين سرحدها توليد شوند.

1-3 شاخص­هاي تحمل­پذيري اشکال

تحمل­پذيري اشکال بدين معني است که سيستم به گونه­اي طراحي شود که در حين حضور اشکال و يا در عين حضور اشکال کماکان عملکرد صحيح خود را ارائه کند و يا در صورت اختلال کارکرد سيستم، کارايي سيستم تنزل تدريجي داشته باشد و يکباره دچار خرابي نشود.

از آنجايي که تحمل­پذيري اشکال پيرامون افزايش قابليت اتکاپذيري سيستم است، اين مساله مهم است که شاخص­هاي مناسبي را براي ارزيابي در اختيار داشت. در اين بخش، برخي از اين شاخص­ها را مورد بررسي قرار مي­دهيم.

1-3-1 شاخص­هاي سنتي

در ابتدا شاخص­هاي سنتي ارزيابي اتکاپذيري را بررسي مي­کنيم. دو شاخص مهم از اين دسته از شاخص­ها، قابليت اطمينان و قابليت در دسترس­بودن است.

اگر قابليت اطمينان را با R(t) بصورت تابعي از زمان نمايش دهيم، احتمال درست کار کردن سيستم در بازة زماني [0,t) خواهد بود. اين شاخص در سيستم­هايي حائز اهميت است که تداوم عملکرد صحيح سيستم مدنظر مي­باشد. به عنوان مثال مي­توان به يک قلب مصنوعي اشاره نمود که بايد در تمامي لحظات زماني درست کار کند و يا يک هواپيما که اختلال عملکرد در کسري از زمان مي­تواند منجر به عواقب فاجعه­باري شود.

دو پارامتر همراستا با قابليت اطمينان MTTF يا Mean Time to Failure يا متوسط زمان تا خرابي و MTBF يا Mean Time Between Failures يا متوسط زمان مابين خرابي­هاست. MTTF، متوسط زماني که سيستم اجرا مي­شود تا زماني که يک خرابي رخ مي­دهد؛ در حالي که دومي متوسط زمان مابين دو خرابي متوالي است. تفاوت مابين اين به دليل مدت زمان مورد نياز براي تعمير خرابي نخست است که اين زمان MTTR يا Mean Time to Repair يا متوسط زمان تعمير ناميده مي­شود. رابطة زير مابين اين سه پارامتر برقرار است:

MTBF= MTTF + MTTR

شکل 1-7 ارتباط بين پارامترهاي MTBF، MTTR و MTTF

 

شکل 1-7، ارتباط مابين اين پارامترها را نمايش مي­دهد.

اگر قابليت در دسترس بودن را با A(t) نمايش دهيم، متوسط سهم و کسري از زمان [0,t] است که در آن سيستم سرويس صحيح خود را ارائه مي­کند. اين شاخص براي کاربردهايي که در آن تداوم عملکرد صحيح سيستم مهم است، ضروري و مهم نيست؛ اما براي سيستم­هايي که خارج از دسترس بودن سيستم حتي در زمان­هايي کوچکي مي­تواند هزينة زيادي داشته باشد، بسيار مهم است. سيستم­هاي رزرواسيون هواپيمايي نياز دارند تا همواره در دسترس باشند؛ لذا خارج از دسترس بودن مقطعي آنها مي­تواند منجر به از دست دادن مشتريان شود.

قابليت در دسترس بودن بلند مدت را که با A نمايش مي­دهند مي­توان بصورت زير تعريف نمود:

A را مي­توان بصورت احتمال اين که سيستم در برخي از نقاط تصادفي صحيح کار کند، تعريف نمود. البته تنها در سيستم­هايي اين تعريف صادق است که امکان تعمير مولفه­هاي اشکال­دار وجود دارد. قابليت در دسترس­بودن بلند مدت را مي­توان از MTTF، MTBF و MTTR محاسبه نمود:

يک شاخص مرتبط ديگر، قابليت در دسترس بودن نقطه­اي[112] است که با Ap(t) نمايش داده مي­شود که احتمال در دسترس بودن سيستم در يک نقطة مشخص زماني است.

يک سيستم با قابليت اطمينان پايين مي­تواند قابليت دسترس­بودن بالايي داشته باشد. سيستمي را فرض کنيد که هر ساعت دچار خرابي مي­شود، اما يک ثانيه پس از هر خرابي دوباره عملياتي مي­شود.

چنين سيستمي داراي MTBF برابر با يک ساعت است و درنتيجه قابليت اطمينان اين سيستم پايين است. با اين وجود، قابليت در دسترس بود بالاست:

A=3500/3600=0.99972

1-3-2 شاخص­هاي شبکه

افزون بر شاخص­هاي سيستمي کلي که در بخش گذشته بررسي شد، شاخص­هاي تخصصي­تري نيز وجود دارند که بر روي شبکه­هاي کامپيوتري تمرکز مي­کنند. اين شبکه، پردازنده­ها را به هم متصل مي­کنند. ساده­ترين شاخص در اين زمينه، اتصال[113] است. منظور از اين اتصال، مينيمم تعداد گره­ها و خط­هايي است که بايستي خراب شوند تا شبکه منقطع شود. براي مثال، شبکه­اي که با خرابي يک گره يا لينک منقطع مي­شود، آسيب­پذيرتر از شبکه­اي است که دست کم با خرابي چهار گره منقطع مي­شود.

اتصال، يک شاخص پايه­اي از قابليت اطمينان شبکه است که با استفاده از آن مي­توان شبکه را به دو حالت متمايز تقسيم­بندي کرد: متصل و منقطع. براي مثال شکل 1-8 را در نظر بگيريد. هر دو شبکه در اين شکل متصل هستند. اما شبکة N1 نسبت به شبکة N2 متصل­تر است. بنابراين، احتمال اين که N2 به واحدهاي کوچکتري در صورت رخداد خرابي تقسيم شود، بيشتر است.

براي بيان اين نوع از مقاومت­هاي اتصالاتي، مي­توان از شاخص­هاي ديگري نيز استفاده نمود. دو شاخص از اين دسته از شاخص­ها، متوسط زوج-گره به ازاي مسافت[114] و قطر شبکه[115] (ماکسيمم مسافت زوج-گره­اي) هستند که با استفاده از آنها مي­توان خرابي لينک­ها و يا گره­ها را محاسبه نمود.

شکل 1-8 اتصال به عنوان يک شاخص تحمل­پذيري اشکال

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

[1]Dependability

[2]Reliability

[3]Availability

[4] Safety

[5] Security

[6] Maintainability

[7]Threats

[8]Fault

[9] Error

[10] Failure

[11]Attitudes

[12] Confidentiality

[13]Integrity

[14]Means

[15]Fault Prevention

[16] Fault Tolerance

[17] Fault Removal

[18] Fault Forecasting

[19]Function

[20] Usability

[21] Performance

[22]Cost

[23]Outage

[24]Service Restoration

[25]Active Fault

[26] Latent Fault

[27]Failure Domain

[28]Controllability of Failures

[29]Consistency of Failures

[30]Consequences of Failures

[31]Value Failure

[32]Realtime Systems

[33]Controlled Failure

[34]Uncontrolled Failure

[35]Consistent Failure

[36]Inconsistent Failure

[37]Performance Failure

[38] Detected Error

[39] Latent Error

[40]Phase of Creation or Occurrence

[41]Design Faults

[42]Operational Faults

[43]Internal Faults

[44]External Faults

[45] Domain

[46]Hardware Faults

[47]Software Faults

[48] Phenomenological Cause

[49]Natural Faults

[50]Human-Made Faults

[51] Intent

[52]Persistence

[53] Permanent Faults

[54] Transient Faults

[55]Design Faults

[56] Physical Faults

[57] Interaction Faults

[58]Security

[59]Robustness

[60]Accountability

[61] Authenticity

[62] Non-Repudiability

[63]Structured Programming

[64]Information Hiding

[65]Modularization

[66]Rigorous Design

[67]Firewall

[68]Recovery

[69]Fault Handling

[70]Error Handling

[71]Rollback

[72]Checkpoint

[73]Compensation

[74]Redundancy

[75]Rollforward

[76]Fault Diagnosis

[77]Fault Isolation

[78]System Reconfiguration

[79]System Reinitialization

[80]Verification

[81]Validation

[82] Qualitative

[83] Ordinal

[84] Quantitative

[85] Probabilistic

[86] Markov Chain

[87] Petri Net

[88] Reliability Block Diagram

[89] Fault Trees

[90] Stability

[91] Growth

[92] Failure Intensity

[93] Active Fault

[94] Dormant Fault

[95] Internal Fault

[96] External Fault

[97] Fault Activation

[98] Transient

[99] Permanent

[100] Redundancy

[101] Hardware Redundancy

[102] Software Redundancy

[103] Time Redundancy

[104] Information Redundancy

[105] Static Redundancy

[106] Reconfiguration

[107] Dynamic Redundancy

[108] Check bits

[109] Control bits

[110] Redundant bits

[111] Local Area Network

[112] Point Availability

[113] Connectivity

[114] Average Node-Pair Distance

[115] Network Diameter

نقد و بررسی‌ها

هنوز بررسی‌ای ثبت نشده است.

اولین کسی باشید که دیدگاهی می نویسد “سيستم های تحمل پذير اشکال”

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

نقد و بررسی‌ها

هنوز بررسی‌ای ثبت نشده است.

اولین کسی باشید که دیدگاهی می نویسد “سيستم های تحمل پذير اشکال”

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *