Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
IPZ_1modul.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
611.93 Кб
Скачать

58. Види стійких до відмов архітектур.

Для більшості критичних систем, особливо зі строгими вимогами до працездатності, потрібна системна архітектура, що забезпечує стійкість до збоїв. Прикладами систем, яким необхідний такий вид системної архітектури, є літакові системи, які повинні зберігати працездатність протягом усього часу польоту, телекомунікаційні системи, а також різноманітні системи управління і контролю.

Для побудови отказоустойчивого устаткування зазвичай потрібно багато років. Використовувана в більшості випадків технологія сталого до збоїв обладнання базується на методі потрійного модульного резервування, коли модуль обладнання дублюється три (іноді більше) рази. Вихідні дані кожного модуля порівнюються: якщо один з модулів виходить з ладу і на його виході дані не збігаються з вихідними даними інших модулів, ці дані ігноруються (рис. 18.3).

Рис. 18.3. Потрійне модульне резервування для забезпечення відмовостійкості обладнання

Цей метод забезпечення відмовостійкості припускає, що більшість збоїв у роботі обладнання є результатом відмови компонентів, а не помилок проектування системи; при цьому вважається, що відмови компонентів проявляються незалежно. Також передбачається, що всі складові системи задовольняють специфікації вимог. Внаслідок цього ймовірність одночасної відмови всіх компонентів устаткування вважається дуже малою.

Звичайно. Існує два порівнянних підходу до забезпечення відмовостійкості ПЗ (рис. 18.4 і 18.5). Обидва підходи запозичені з моделей апаратних засобів, де внаслідок надмірності несправні компоненти можна тимчасово виключити з системної конфігурації.

Рис. 18.4. N-варіантне програмування

Рис. 18.5. Блоки відновлення

Опишемо підходи до створення стійкого до відмов програмного забезпечення.

  1. N-вариантное програмування. Відповідно до загальної специфікацією різними командами розробників розробляється кілька версій програмного забезпечення. Ці версії виконуються паралельно на окремих комп'ютерах. Результати їх роботи порівнюються за допомогою системи узгодження, результати якої версії, що не збігаються з двома іншими або не одержані вчасно, відкидаються. Це найбільш часто використовуваний підхід до створення стійкого до відмов програмного забезпечення. Він використовується в системах сигналізації на залізницях, в авіаційних системах і в системах захисту реакторів [14, 15, 29 *].

  2. Блоки відновлення. У цьому методі кожен програмний компонент містить тест, що перевіряє його роботу. Компонент також має підпрограму, яка повторює обчислення, якщо тест виявив неправильне виконання. Але повторні обчислення виконуються іншим модулем компонента, який навмисно побудований на іншій інтерпретації вимог, що пред'являються до компоненту.

Обидва описаних підходу використовують кілька різних архітектур і програмних реалізацій..

Досягти відмінності між різними версіями ПЗ можна також такими способами.

  1. Включення в системну специфікацію вимог використовувати при проектуванні різні підходи. Наприклад, можна зажадати, щоб одна команда розробників використовувала об'єктно-

орієнтоване проектування, а інша - функціонально-орієнтоване.

  1. Включення в специфікацію вимог, щоб для реалізації були використані різні мови програмування. Наприклад, в системі з трьома версіями ПЗ для написання різних версій можна використовувати мови програмування Ada, C + + і Java.

  2. Використовувати при розробці системи різні інструментальні засоби та середовища розробки. 4. Можна зажадати використання конкретних алгоритмів для реалізації певних системних компонентів. Це, звичайно, обмежує свободу розробників і може стати причиною інших проблем.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]