J. Ułasiewicz Systemy czasu rzeczywistego 1
1 Wiarygodność funkcjonalna - pojęcia podstawowe
System RTS steruje obiektami zewnętrznymi. Błędne sterowanie może doprowadzić do zagrożenia mienia lub nawet życia.
Wiarygodność funkcjonalna systemu informatycznego (ang.
dependability) - własność, która pozwala jego użytkownikom mieć uzasadnione zaufanie do usług, które ten system dostarcza.
Usługa (ang. service) jest tym co użytkownik spodziewa się otrzymać a użytkownikiem może być osoba lub inny system.
Interfejs usługi (ang. service interface) - Użytkownik otrzymuje usługę poprzez interfejs usługi
Uszkodzenie (ang. failure) - z uszkodzeniem systemu mamy do czynienia wtedy gdy system przestanie świadczyć usługę lub jest ona niezgodna z jego specyfikacją.
Błąd (ang. error) - przyczyną uszkodzenia jest błąd. Błąd jest to część stanu systemu, która jest odpowiedzialna za będące jego następstwem uszkodzenie.
Defekt (ang . fault) - przyczyną błędu jest defekt. Defekt jest to stwierdzona lub hipotetyczna przyczyna wystąpienia błędu.
Defekt
aktywacja Bląd propagacja Uszkodzenie
Defekt
fault
error
failure
Łańcuch naruszeń wiarygodności funkcjonalnej
Wiarygodność funkcjonalan
PDF created with pdfFactory trial version www.pdffactory.com
J. Ułasiewicz Systemy czasu rzeczywistego 2
2 Atrybuty wiarygodności funkcjonalnej
Atrybuty pozwalają określić właściwości oczekiwane od systemu i oszacować jakość systemu
• dostępności (ang. availability),
• niezawodności (ang. reliability),
• bezpieczeństwo (ang. safety),
• naprawialność (ang. maintainability),
• integralność (ang . integrity)
• ochrona (ang. confidentiality).
Dostepność
Niezawodność
Bezpieczeństwo
Atrybuty
Naprawialność
Integralność
Zapobieganie defektom
Wiarygodnośc
Tolerowanie defektów
Środki
funkcjonalna
Usuwanie defektów
Przewidywanie defektów
Zagrożenia
Defekt (fault)
Bląd (error)
Uszkodzenie (failure)
Drzewo wiarygodności funkcjonalnej
Dostępność ( ang. availability) - system jest w stanie nieprzerwanie świadczyć usługi. Miarą dostępności jest stosunek czasu w którym system jest sprawny do czasu w którym powinien być sprawny.
Niezawodność ( ang. reliability) - zdolność do nieprzerwanej bezbłędnej pracy. System wysoce niezawodny pracuje długi okres czasu bez wystąpienia uszkodzenia.
Bezpieczeństwo ( ang. safety) - jest zapewniane wtedy gdy uszkodzenie systemu nie powoduje katastrofalnych skutków.
Integralność ( ang. integrity)- brak niedozwolonych zmian stanu systemu.
Wiarygodność funkcjonalan
PDF created with pdfFactory trial version www.pdffactory.com
J. Ułasiewicz Systemy czasu rzeczywistego 3
Różnica pomiędzy dostępnością a niezawodnością:
Jeżeli system jest niesprawny przez 1 milisekundę w ciągu godziny to jego dostępność jest wysoka (większa od 0.999999) ale niezawodność jest niezadowalająca gdyż system wykazuje uszkodzenie co godzinę.
Klasyfikacja uszkodzeń
Uszkodzenia mogą mieć:
• różną domenę,
• sposób postrzegania przez wielu użytkowników
• konsekwencje dla systemu
Domena uszkodzenia – obszar gdzie uszkodzenie się objawia.
Podstawowe domeny: uszkodzenia wartości i synchronizacji
• Uszkodzenie wartości (ang . value failure) - system podaje nieprawidłową wartość
• Uszkodzeniem synchronizacji (ang . timing failure) - wartość jest prawidłowa ale pojawi się w niewłaściwym czasie.
Zapobieganie uszkodzeniom synchronizacji jest szczególnie istotne w systemach czasu rzeczywistego.
Postrzeganie uszkodzenia - gdy usługa jest świadczona na rzecz wielu użytkowników to jej uszkodzenie może być przez każdego z nich różnie postrzegane.
• Uszkodzenie spójne (ang . consistent failure) - jest ono stwierdzony przez wszystkich użytkowników
• Uszkodzeniem niespójne (ang . inconsistent failure) - ta sama usługa u jednych użytkowników będzie dostępna a u innych nie (uszkodzenie bizantyjskie).
Wiarygodność funkcjonalan
PDF created with pdfFactory trial version www.pdffactory.com
J. Ułasiewicz Systemy czasu rzeczywistego 4
Typy uszkodzeń
Symptomy uszkodzeń
Wartości
Fałszywy alarm
Synchronizacji
Degradacja usługi
Bezpieczne
Domena
zatrzymanie
Sygnalizowane
Percepcja
Spójne
Uszkodze
Niesygnalizowane
przez wielu
Niespójne
nia
Złudne
uzytkowników
Bizantyjskie
Konsekwencje
Łagodne
Istotne
Niebezpieczne
waga uszkodzenia
Katastroficzne
Klasyfikacja uszkodzeń
Wiarygodność funkcjonalan
PDF created with pdfFactory trial version www.pdffactory.com
J. Ułasiewicz Systemy czasu rzeczywistego 5
3 Środki osiągania wiarygodności funkcjonalnej
Istnieją różne środki zapewnienia wiarygodności funkcjonalnej:
• zapobieganie defektom (ang. fault prevention),
• tolerowanie defektów (ang. fault tolerance),
• usuwanie defektów (ang. fault removal),
• przewidywanie defektów (ang. fault forecasting).
3.1 Zapobieganie defektom
Zapobieganie defektom odbywa się na etapie projektowania i wytwarzania sprzętu i oprogramowania.
• zastosowanie specjalistycznych metodologii projektowania,
• zastosowanie formalnych metod dowodzenia poprawności programów,
• stosowanie narzędzi weryfikacyjnych (żywotność, zakleszczenia)
• wyczerpujące testowanie,
• dobry projekt architektury systemu,
• wysoka jakość kodu,
Metodologie projektowania
Metodologia zawiera wskazania do sposobu realizacji etapów:
• Specyfikacji
• Projektowania
• Implementacji
• Testowania
• Integracji
Wiarygodność funkcjonalan
PDF created with pdfFactory trial version www.pdffactory.com
J. Ułasiewicz Systemy czasu rzeczywistego 6
Specyfikacja
Projektowanie
Programowanie
Testowanie
Integracja
Model kaskadowy (Waterfall Model) tworzenia oprogramowania Język UML
Do specyfikacji szeroko stosuje się język UML (ang. Unified Modelling Language). Jest to język symboli graficznych używany do dokumentowania oprogramowania. Jest on obecnie standardem przemysłowym.
Nie jest możliwe opisanie systemu z jednego tylko punktu widzenia.
Stosuje się opis wielu aspektów systemu.
• Diagram klas
• Diagram obiektów
• Diagram przypadków użycia
• Diagram stanów
• Diagram przebiegu
• Diagram czynności
• Diagram kooperacji (współpracy)
• Diagram komponentów
• Diagram wdrożenia
Wiarygodność funkcjonalan
PDF created with pdfFactory trial version www.pdffactory.com
J. Ułasiewicz Systemy czasu rzeczywistego 7
Proces 1
Proces 2
Proces 3
Komunikat 1()
Komunikat 2()
Odpowiedź 1()
Odpowiedź 2()
Przykład diagramu przebiegu w języku UML
Wiarygodność funkcjonalan
PDF created with pdfFactory trial version www.pdffactory.com
J. Ułasiewicz Systemy czasu rzeczywistego 8
3.2 Tolerowanie defektów
Tolerowanie defektów polega na zachowaniu ciągłości dostarczania usług pomimo występowania defektów.
• wykrywanie błędów (ang. error detection)
• odzyskanie prawidłowego stanu systemu (ang. system recovery).
Metody:
• Zwielokrotnienie jednostek funkcjonalnych - procesory, pamięci, układy wejścia/ wyjścia, linie komunikacyjne; Klastry.
• Wykrywanie defektów jednostek funkcjonalnych – budzik (ang.
watchdog), kody detekcyjne, pulsy (ang. heartbeat)
• Przełączanie jednostek funkcjonalnych ( ang. failover)
Administrator
Scenariusz
Administrator
bezpieczestwa
reagowania na
procesów
Zakończenie
HAM
defekt
procesu
Impulsy
monitorujące
restart
heartbeat
defekt
procesy
PR
PR
PR
PR
PR
1
2
3
3
N
nadzorowane
Procesy PR1 – PRN nadzorowane przez administrator bezpieczeństwa HAM (ang.
high availability manager) w systemie QNX6 Neutrino.
3.3 Usuwanie defektów
Usuwanie defektów prowadzone jest na etapie
tworzenia systemu
eksploatacji.
Składa się ono z trzech kroków:
• weryfikacji (sprawdzenia, czy zachowanie zgodne jest ze specyfikacją),
• diagnozy defektów
• usuwania defektów
3.4 Przewidywanie defektów
Analiza statystyczna istniejących systemów
Wiarygodność funkcjonalan
PDF created with pdfFactory trial version www.pdffactory.com
J. Ułasiewicz Systemy czasu rzeczywistego 9
4 Normy bezpieczeństwa
NORMA EC 61508
Seria norm IEC 61508, dotyczy elektrycznych, elektronicznych i programowalnych elektronicznych systemów wiążących się z wiarygodnością funkcjonalną.
Własności norm:
• Ogólność - może być stosowana do wszystkich systemów elektrycznych, elektronicznych, programowalnych wiążących się z bezpieczeństwem, niezależnie od zastosowania.
• Udostępnia metodę do opracowania specyfikacji wymagań bezpieczeństwa
• Wprowadza podejście opierające się na analizie ryzyka
• Ustala docelowe miary liczbowe uszkodzeń systemów
Zawartość:
Część 1 – Wymagania ogólne
Część 2 – Wymagania dotyczące elektrycznych, elektronicznych, programowalnych elektronicznych systemów wiążących się z bezpieczeństwem
Część 3 – Wymagania dotyczące oprogramowania
Część 4 – Definicje i skrótowce
Część 5 – Przykłady metod określania poziomu nienaruszalności bezpieczeństwa
Część 6 – Wskazówki do stosowania norm IEC 61508-2 i IEC 61508-3
Część 7 – Przegląd technik i sposobów
Wiarygodność funkcjonalan
PDF created with pdfFactory trial version www.pdffactory.com