Pouzdani softverski sistemi

Cilj i ishod predmeta

Osposobljavanje studenata za razumevanje arhitekture i principa projektovanja i funkcionisanja pouzdanih sofverskih sistema. Studenti su sposobni da razumeju arhitekturu, metode i šablone za projektovanje pouzdanih sofverskih sistema, kao i da implementiraju jednostavne programe koji rade u takvom okruženju.

Teorijska nastava

Načini da se napravi pouzdan softver. Izbegavanje i prevencija grešaka. Uklanjanje grešaka. Predviđanje greške/otkaza. Tolerancija greške. Tipovi oporavaka. Softverska redundantnost. Redundantnost informacija ili podataka. Vremenska redundantnost. Robustni softver. Raznovrsnost projektovanja. Raznovrsnost podataka. Vremenska raznovrsnost. Arhitektonska struktura za različit softver. Istovetne greške i nedostatak različitosti. Problem poređenja konzistentnosti. Efekat domina. Opšti troškovi. Tehnike programiranja. Tvrđenja. Kontrolne tačke. Nedeljive akcije. N-version softverska paradigma. Model razvoja pouzdanih sistema. Blokovi oporavka. N-version programiranje. Distribuirani blokovi oporavka. N-self-checking programiranje. Konsensus blok oporavka. Prihvatljivo glasanje. Blokovi ponavljanja. Programiranje sa N kopija. Presuđivanja u dva prolaza. N-varijantno programiranje. Sistemi sa dovoljno resursa. Šema pouzdanosti na osnovu podataka. Optimalno programiranje sa autokonfigurisanjem.

Praktična nastava

Šabloni u razvoju pouzdanih softverskih sistema. Šabloni arhitekture sistema: Određivanje minimalne celine tolerancije na otkaze. Jedinica za ublažavanje efekata otkaza. Definisanje podataka koji će se ispitivati na pojavu greške. Povećanje redundantnosti. Blokovi oporavka. Obezbeđivanje samostalnosti u radu. Obezbeđivanje nezavisnog interfejsa za održavanje. Jedinstveni sistem izveštavanja. Ažuriranje softvera bez uticaja na njehov rad. Šabloni detekcije: Korelacija grešaka. Barijera za ograničavanje otkaza. Testiranje parametara. Heartbeat. Potvrde u komunikaciji. Izbegavanje tranzijentnih otkaza. Glasanje i konsenzus. Rutinsko održavanje.  Šabloni oporavka: Karantin. Rukovanje greškama. Restartovanje. Rollback i Roll-forward. Povratak na referentnu tačku. Prelazak na redundantnu jedinicu (Failover).

1 thought on “Pouzdani softverski sistemi”

Comments are closed.