Поуздани софтверски системи

Циљ и исход предмета

Оспособљавање студената за разумевање архитектуре и принципа пројектовања и функционисања поузданих софверских система. Студенти су способни да разумеју архитектуру, методе и шаблоне за пројектовање поузданих софверских система, као и да имплементирају једноставне програме који раде у таквом окружењу.

Теоријска настава

Начини да се направи поуздан софтвер. Избегавање и превенција грешака. Уклањање грешака. Предвиђање грешке/отказа. Толеранција грешке. Типови опоравака. Софтверска редундантност. Редундантност информација или података. Временска редундантност. Робустни софтвер. Разноврсност пројектовања. Разноврсност података. Временска разноврсност. Архитектонска структура за различит софтвер. Истоветне грешке и недостатак различитости. Проблем поређења конзистентности. Ефекат домина. Општи трошкови. Технике програмирања. Тврђења. Контролне тачке. Недељиве акције. N-version софтверска парадигма. Модел развоја поузданих система. Блокови опоравка. N-version програмирање. Дистрибуирани блокови опоравка. N-self-checking програмирање. Консенсус блок опоравка. Прихватљиво гласање. Блокови понављања. Програмирање са N копија. Пресуђивања у два пролаза. N-варијантно програмирање. Системи са довољно ресурса. Шема поузданости на основу података. Оптимално програмирање са аутоконфигурисањем.

Практична настава

Шаблони у развоју поузданих софтверских система. Шаблони архитектуре система: Одређивање минималне целине толеранције на отказе. Јединица за ублажавање ефеката отказа. Дефинисање података који ће се испитивати на појаву грешке. Повећање редундантности. Блокови опоравка. Обезбеђивање самосталности у раду. Обезбеђивање независног интерфејса за одржавање. Јединствени систем извештавања. Ажурирање софтвера без утицаја на њехов рад. Шаблони детекције: Корелација грешака. Баријера за ограничавање отказа. Тестирање параметара. Heartbeat. Потврде у комуникацији. Избегавање транзијентних отказа. Гласање и консензус. Рутинско одржавање.  Шаблони опоравка: Карантин. Руковање грешкама. Рестартовање. Rollback и Roll-forward. Повратак на референтну тачку. Прелазак на редундантну јединицу (Failover).

1 thought on “Поуздани софтверски системи”

Comments are closed.