www.eprace.edu.pl » iso-cmm » Pojęcie jakości i atrybuty jakości » Niezawodność

Niezawodność

Zarys

Definicja

W przeciwieństwie do uprzednio omawianych właściwości istnieje powszechna jednomyślność co do terminologii w tej dziedzinie. Ta uzgodniona terminologia została skodyfikowana przez Laprie [Laprie 92]. Późniejsza korekta projektu ([Laprie 94]) tworzy podstawę tego paragrafu.

Niezawodność jest taką cechą systemu komputerowego, która powoduje, że możemy mieć uzasadnione zaufanie do jego usług. Niezawodność ma następujące atrybuty:

Trzy ostatnie atrybuty odnoszą się do dziedziny bezpieczeństwa i zostaną omówione w następnym rozdziale.

Systematyka

Rys. 2.4 pokazuje drzewo niezawodności, atrybuty niezawodności, sposoby jej osiągania i czynniki ją osłabiające.

Rysunek 2.4. Drzewo niezawodności

Środki

Środki niezawodności są parametrami, według których ocenia się niezawodność systemu.

Dostępność

Dostępność systemu jest miarą jego gotowości do użycia. Dostępność jest mierzona jako granica prawdopodobieństwa, że system funkcjonuje prawidłowo w czasie t przy t zmierzającym do nieskończoności. Jest to tzw. dostępność stanu ustalonego w systemie. Może ona być obliczona jako:

gdzie MTTF – średni czas do awarii (mean time to failure), a MTTR to średni czas naprawy (mean time to repair).

Pewność

Pewność systemu jest miarą jego zdolności do nieprzerwanego działania w pewnym interwale czasowym. Może być ona mierzona jako średni czas do awarii (MTTF).

Utrzymywalność

Utrzymywalność systemu jest jego zdolnością do poddawania się naprawom i ewolucji. Jest to cecha trudniejsza do precyzyjnego zmierzenia, niż dwie poprzednie. Ilościową miarą utrzymywalności może być MTTR, ale to nie wszystko, biorąc pod uwagę komplikacje nieodłącznie związane z naprawą. Niektóre systemy są utrzymywane przez użytkownika, niektóre przez producenta, a istnieją też takie, które utrzymywane są w pewnej mierze przez obie strony.

Łatwość użytkowania

Obejmuje ona "zespół właściwości odnoszących się do wysiłku niezbędnego do użytkowania i do indywidualnej oceny tego użytkowania przez określony jawnie lub domniemany zbiór użytkowników". Z własnością tą łączą się pojęcia takie jak łatwość zrozumienia, łatwość szkolenia i łatwość eksploatacji.

Bezpieczeństwo.

Z punktu widzenia niezawodności, bezpieczeństwo to brak katastrofalnych konsekwencji dla otoczenia. Leveson [Leveson 95] definiuje je jako wolność od wypadków i strat. Prowadzi to binarnej miary bezpieczeństwa: system jest bezpieczny albo nie. Bezpieczeństwo jest także rozpatrywane osobno w następnym rozdziale.

Poufność polega na niewystępowaniu ujawniania informacji bez autoryzacji.

Integralność polega na niewystępowaniu nieodpowiednich zmian informacji.

Poufność i integralność będą osobno omawiane w kontekście bezpieczeństwa.

Osłabianie (brak) niezawodności

Osłabienie niezawodności obejmuje wady, błędy i awarie oprogramowania i sprzętu, z którego składa się system.

Awarie

Awaria jest to stan systemu, kiedy jego zachowanie jest odmienne od zamierzonego. Zauważmy, że definiujemy awarię pod względem zamierzenia, a nie pod względem specyfikacji. Jest wiele różnych sposobów, na jakie system ulega awariom. Rys. 2.5 pokazuje tak zwane formy (tryby) awarii systemu. Mogą one być luźno zgrupowane w trzy kategorie:


Rysunek 2.5.
Klasy awarii [Laprie 94]

Awarie dziedziny obejmują awarie wartości i awarie czasową. Awaria wartości następuje, jeśli obliczana jest nieprawidłowa wartość, niespójna ze stosownym obliczeniem. Awaria czasowa następuje, jeśli system dostarcza swoich usług zbyt wcześnie albo zbyt późno.

Skrajną formą awarii czasowej jest awaria zatrzymująca – system nie dostarcza żadnych usług użytkownikowi. Bardzo trudno jest rozróżnić bardzo późną awarię czasową od awarii zatrzymującej. Dlatego istnieją systemy, które posiadają wyłącznie awarie zatrzymujące, są one nazywane systemami fail-stop [Schlichting 83]. Przyjęcie systemu fail-stop prowadzi do wielu uproszczeń w projektowaniu zależności systemu. Innym przypadkiem awarii zatrzymujących prowadzącym do uproszczeń jest stan, w którym system po awarii nie generuje żadnych wyników. Jest to określane mianem fail-silent.

Istnieją dwa typy spostrzegania awarii. Awaria może być konsystentna albo niekonsystentna. W przypadku awarii konsystentnej, wszyscy użytkownicy systemu w taki sam sposób spostrzegają awarię. W przypadku awarii niekonsystentnej, niektórzy użytkownicy spostrzegają ją inaczej niż inni. Ten rodzaj awarii jest nazywany awarią bizantyjską i jest on najtrudniejszy do wykrycia.

Ostatecznie możemy sklasyfikować awarie pod względem ich konsekwencji dla otoczenia na łagodne i katastrofalne. System, który może się jedynie zawiesić w łagodny sposób jest określany fail-safe.

Błędy

Błąd jest to stan systemu, który po pewnym czasie prowadzi do awarii, jeżeli występujaca nieprawidłowość nie zostanie odpowiednio wcześnie naprawiona. Niezależnie od tego, czy błędy prowadzą do awarii, są one funkcją trzech głównych czynników:

  1. redundancji w systemie,

  2. aktywności systemu (błąd może odejść zanim spowoduje uszkodzenia),

  3. od tego co użytkownik uważa za akceptowalne zachowanie (np. w transmisji danych „akceptowalny współczynnik błędów”).

Wady

Wada może być zdefiniowana jako hipotetyczna przyczyna błędu. Jak pokazano na rys. 2.6, wady można posegregować wzdłuż pięciu głównych osi: przyczyna, natura, faza tworzenia, granice i trwałość.

Rysunek 2.6. Klasy wad [Laprie 94]

Wady fizyczne to te, które powstają z powodu niekorzystnych zjawisk fizycznych. Inne wady to nieprawidłowości wynikające z niedoskonałości człowieka; mogą one być wynikiem wielu składników: błędnego projektu, nieodpowiedniego wykonania, czy nieodpowiedniego użytkowania. Wady mogą być również wywoływane przez wewnętrzne bądź zewnętrzne części systemu. W końcu, wady mogą być także trwałe i tymczasowe, czyli takie, które same znikają po pewnym czasie. Wady tymczasowe wynikające z fizycznego otoczenia (tymczasowych wad zewnętrznych) są nazywane wadami przelotnymi. Bardziej szczegółowe rozważania na ten temat czytelnik może znaleźć w [Laprie 94].

Powiązania pomiędzy osłabieniami

Patologia wad.

W powyższym modelu wady produkują błędy, które z kolei prowadzą do awarii. Wada, która jeszcze nie spowodowała błędu nazywana jest uśpioną. Wada, która spowodowała błąd nazywana jest aktywną. Błąd może być ukryty bądź przechwycony. Błąd może także zniknąć zanim zostanie wykryty lub zanim spowoduje awarię. Błędy przeważnie się propagują, powodując kolejne błędy. Błędy mogą być zaobserwowane, natomiast aktywne wady nie. Awaria następuje, kiedy błąd oddziałuje na usługę dostarczaną użytkownikowi.

System najczęściej składa się z komponentów. Awaria komponentu może, ale nie musi wywołać awarii systemu. Jeśli użytkownik bezpośrednio nie widzi usługi dostarczanej przez uszkodzony komponent, żadna awaria się nie wydarzyła (z punktu widzenia użytkownika). Awaria nastąpiła jedynie z punktu widzenia systemu, który używa danego komponentu.

Inne spojrzenie na wady, błędy i awarie

Niektórzy uważają podany podział na wady, błędy i awarie za mylący. Heimerdinger i Weinstock [Heimerdinger 92] zaproponowali wyeliminowanie terminu „błąd” w celu lepszego zrozumienia problemu. Ich zdaniem awaria ma taki sam sens i znaczenie jak błąd. Ponadto według nich każda wada w rozważanym podsystemie, komponencie rozważanego systemu uważana jest w pewnym sensie za awarię (błąd). Wada prowadzi do następnych wad lub awarii lub też nie ma dalszych konsekwencji.

A co zatem z błędami? Według powyższej definicji błędy są biernym pojęciem związanym z niewłaściwymi wartościami w stanie systemu. Niezwykle trudno jest określić kryteria rozróżnienia pomiędzy awariami i błędami, niemniej jednak pozostaniemy przy utrwalonej terminologii: wada, błąd, awaria.



komentarze

Copyright © 2008-2010 EPrace oraz autorzy prac.