Product Design, Manufacturing & Innovation Resources
بيت » مخطط إعادة الهيكلة

مخطط إعادة الهيكلة

1975-06-01
  • Brian Randell
مهندس برمجيات يحلل مخطط كتلة الاسترداد في بيئة مكتبية حديثة.

(صورة تم إنشاؤها للتوضيح فقط)

The recovery block scheme is a برمجة fault-tolerance technique based on design diversity and backward error recovery. It structures a program as a series of blocks, each with a primary module, an acceptance test, and one or more alternate modules. If the primary module’s output fails the acceptance test, the system state is restored, and an alternate module is executed.

يُعدّ مفهوم كتلة الاسترداد، الذي قدمه برايان راندل، منهجًا منظمًا لتحقيق تحمل الأعطال في البرمجيات. ويعتمد هذا المفهوم على مبدأ توفير وحدات برمجية احتياطية، تُعرف بالبدائل، لعملية معينة، بالإضافة إلى آلية للتحقق من صحة نتائج تلك العملية. وتتمثل المكونات الرئيسية في: اختبار القبول (AT)، والبديل الأساسي (P)، وسلسلة من البدائل الثانوية (Q1، Q2، ...). قبل تنفيذ البديل الأساسي، يحفظ النظام نقطة تفتيش لحالته الراهنة. عند اكتمال البديل الأساسي، يُجرى اختبار القبول على المخرجات. يُعدّ اختبار القبول جزءًا أساسيًا من المنطق الذي يتحقق من أن النتيجة مقبولة؛ ولا يُشترط فيه إثبات الصحة المطلقة، بل يكفي إثبات أن النتيجة معقولة ومتسقة.

إذا اجتازت النتيجة اختبار القبول، يتم تجاهل نقطة التحقق، ويستمر البرنامج. أما إذا فشل اختبار القبول، أو إذا فشل البديل الأساسي نفسه في التنفيذ (مثلاً، بسبب خطأ أثناء التشغيل)، يقوم النظام بالتراجع. يستعيد النظام الحالة من نقطة التحقق المحفوظة، ثم ينفذ البديل التالي في التسلسل (Q1). بعد ذلك، تخضع مخرجات Q1 لاختبار القبول نفسه. تستمر هذه العملية حتى ينتج عن أحد البدائل نتيجة تجتاز الاختبار، أو حتى يتم استنفاد جميع البدائل، وعندها يتم الإعلان عن فشل على مستوى النظام.

تعتمد فعالية وحدات الاسترداد على تنوع البدائل. ينبغي تصميم وتنفيذ الوحدات الأساسية والثانوية بشكل مستقل، ويفضل أن يتم ذلك بواسطة فرق مختلفة باستخدام خوارزميات أو لغات برمجة مختلفة. يقلل هذا من احتمالية وجود خلل تصميمي مشترك (خطأ برمجي) في جميع البدائل، مما قد يؤدي إلى فشلها جميعًا في اختبار القبول بنفس الطريقة. يُعد اختبار القبول نفسه نقطة فشل واحدة، ويجب أن يكون أبسط وأكثر موثوقية من الوحدات التي يختبرها. بالمقارنة مع برمجة الإصدارات المتعددة، وهي تقنية أخرى لتحمل أخطاء البرمجيات، يمكن أن تكون وحدات الاسترداد أكثر كفاءة لأنها تُنفذ وحدة واحدة فقط في كل مرة، ولكنها تُسبب تأخيرًا بسبب احتمالية التراجع وإعادة التنفيذ.

UNESCO Nomenclature: 1203
- علوم الحاسب الآلي

يكتب

البرنامج/الخوارزمية

الاضطراب

تزايدي

الاستخدام

متخصصة/متخصصة

السلائف

  • مفاهيم معالجة الاستثناءات في لغات البرمجة
  • آليات معالجة قواعد البيانات والتراجع عنها
  • Early work on program verification and correctness
  • المبادئ العامة للتكرار من هندسة الأجهزة

التطبيقات

  • البرمجيات بالغة الأهمية للسلامة في أنظمة إشارات السكك الحديدية
  • أنظمة حماية المفاعلات النووية
  • تطبيقات الفضاء الجوي حيث يكون فشل البرمجيات كارثيًا
  • أنظمة تشغيل تجريبية مقاومة للأعطال

براءات الاختراع:

NA

أفكار ابتكارات محتملة

بسبب عمليات جمع البيانات من خلال برامج الروبوت، والتي تتجاوز حاليًا 40 ألفًا يوميًا، فإن هذا المحتوى مخصص لأعضاء المجتمع فقط.
> تسجيل الدخول < أو > سجل < (مجاني 100٪) للوصول إلى هذا، وكذلك جميع المحتويات والأدوات الأخرى المقيدة.

ذات صلة بـ: كتل الاسترداد، تحمل أخطاء البرمجيات، تنوع التصميم، اختبار القبول، استرداد الأخطاء العكسية، نقاط التفتيش، برايان راندل، البرمجيات الحساسة للسلامة، الوحدات الزائدة، برمجة الإصدارات المتعددة.

السياق التاريخي

مخطط إعادة الهيكلة

1970
1970
1970-01-01
1975-06-01
1980
1980
1980
1970
1970
1970
1973
1980
1980
1980
1982-07-01

(إذا كان التاريخ غير معروف أو غير ذي صلة، على سبيل المثال "ميكانيكا الموائع"، يتم توفير تقدير تقريبي لظهوره الملحوظ)

الاختراع والابتكار والمبادئ التقنية ذات الصلة

الصور بالحجم الكامل والتنزيلات متاحة فقط 100% مجاناً للأعضاء المسجلين.