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