System krytyczny dla bezpieczeństwa - Safety-critical system

Przykłady systemów krytycznych dla bezpieczeństwa. W kierunku ruchu wskazówek zegara kolejności od góry: w kokpicie szkła z C-141 , a rozrusznikiem , dyspozytorni z elektrowni jądrowej oraz Space Shuttle .

System krytyczny dla bezpieczeństwa ( SCS ) lub system krytyczny dla życia to system, którego awaria lub nieprawidłowe działanie może spowodować jeden (lub więcej) z następujących wyników:

  • śmierć lub poważne obrażenia osób
  • utrata lub poważne uszkodzenie sprzętu/mienia
  • szkodliwość dla środowiska

System związany z bezpieczeństwem (lub czasami system związany z bezpieczeństwem ) obejmuje wszystko (sprzęt, oprogramowanie i aspekty ludzkie) potrzebne do wykonania jednej lub więcej funkcji bezpieczeństwa, w których awaria spowodowałaby znaczny wzrost ryzyka bezpieczeństwa dla ludzi lub środowiska zaangażowany. Systemy związane z bezpieczeństwem to takie, które nie ponoszą pełnej odpowiedzialności za kontrolowanie zagrożeń, takich jak utrata życia, poważne obrażenia lub poważne szkody dla środowiska . Awaria systemu związanego z bezpieczeństwem byłaby tak niebezpieczna tylko w połączeniu z awarią innych systemów lub błędem ludzkim . Niektóre organizacje zajmujące się bezpieczeństwem zapewniają wytyczne dotyczące systemów związanych z bezpieczeństwem, na przykład Health and Safety Executive (HSE) w Wielkiej Brytanii .

Ryzykiem tego rodzaju zarządza się zazwyczaj metodami i narzędziami inżynierii bezpieczeństwa . System o krytycznym znaczeniu dla bezpieczeństwa został zaprojektowany tak, aby tracić mniej niż jeden cykl życia na miliard (10 9 ) godzin pracy. Typowe metody projektowania obejmują probabilistyczną ocenę ryzyka , metodę łączącą analizę rodzajów i skutków awarii (FMEA) z analizą drzewa błędów . Systemy krytyczne dla bezpieczeństwa są coraz częściej oparte na komputerach .

Systemy niezawodności

Istnieje kilka reżimów niezawodności dla systemów krytycznych dla bezpieczeństwa:

  • Uszkodzone systemy nadal działają, gdy ich systemy sterowania ulegną awarii. Przykładami są windy , termostaty gazowe w większości domowych pieców i pasywnie bezpieczne reaktory jądrowe . Tryb awaryjny jest czasami niebezpieczny. Uruchomienie broni jądrowej w przypadku utraty łączności zostało odrzucone jako system kontroli dla amerykańskich sił nuklearnych, ponieważ nie działa prawidłowo: utrata łączności spowodowałaby uruchomienie, więc ten tryb działania uznano za zbyt ryzykowny. Kontrastuje to z zabójczym zachowaniem systemu Perimeter zbudowanego w czasach sowieckich.
  • Systemy Fail-soft są w stanie kontynuować tymczasowe działanie ze zmniejszoną wydajnością w przypadku awarii. Przykładem tego jest większość opon zapasowych: zazwyczaj są one objęte pewnymi ograniczeniami (np. ograniczeniem prędkości) i prowadzą do obniżenia zużycia paliwa. Innym przykładem jest „Tryb awaryjny” występujący w większości systemów operacyjnych Windows.
  • Systemy odporne na awarie stają się bezpieczne, gdy nie mogą działać. Wiele systemów medycznych należy do tej kategorii. Na przykład pompa infuzyjna może ulec awarii i dopóki ostrzega pielęgniarkę i przestaje pompować, nie grozi utratą życia, ponieważ jej odstęp bezpieczeństwa jest wystarczająco długi, aby umożliwić reakcję człowieka. W podobnym duchu, przemysłowy lub domowy sterownik palnika może ulec awarii, ale musi ulec awarii w trybie bezpiecznym (tj. wyłączyć spalanie, gdy wykryje usterki). Powszechnie wiadomo,że systemy broni jądrowej uruchamiane na polecenie są odporne na awarie, ponieważ w przypadku awarii systemów komunikacyjnych nie można nakazać uruchomienia. Sygnalizacja kolejowa została zaprojektowana tak, aby była bezpieczna w razie awarii.
  • Systemy odporne na awarie zapewniają maksymalne bezpieczeństwo, gdy nie mogą działać. Na przykład, podczas gdy bezpieczne drzwi elektroniczne odblokowują się podczas awarii zasilania, te bezpieczne w razie awarii zablokują się, zapewniając bezpieczeństwo obszaru.
  • Systemy Fail-Passive nadal działają w przypadku awarii systemu. Przykładem jest autopilot samolotu . W przypadku awarii samolot pozostawałby w stanie sterowalnym i pozwalał pilotowi przejąć i dokończyć podróż oraz wykonać bezpieczne lądowanie.
  • Systemy odporne na awarie pozwalają uniknąć awarii usług, gdy błędy zostaną wprowadzone do systemu. Przykładem mogą być systemy sterowania dla zwykłych reaktorów jądrowych . Normalną metodą tolerowania usterek jest ciągłe testowanie części systemu przez kilka komputerów i włączanie części zamiennych w przypadku awarii podsystemów. Dopóki wadliwe podsystemy są wymieniane lub naprawiane w normalnych odstępach czasu, systemy te są uważane za bezpieczne. Komputery, zasilacze i terminale sterujące używane przez ludzi muszą być w jakiś sposób zduplikowane w tych systemach.

Inżynieria oprogramowania dla systemów krytycznych dla bezpieczeństwa

Inżynieria oprogramowania dla systemów krytycznych dla bezpieczeństwa jest szczególnie trudna. Istnieją trzy aspekty, które można zastosować do wspomagania oprogramowania inżynierskiego dla systemów krytycznych dla życia. Pierwszym z nich jest inżynieria procesu i zarządzanie. Po drugie dobór odpowiednich narzędzi i środowiska dla systemu. Pozwala to programiście systemu na efektywne testowanie systemu poprzez emulację i obserwację jego skuteczności. Po trzecie, zajmij się wszelkimi wymogami prawnymi i regulacyjnymi, takimi jak wymogi FAA dla lotnictwa. Ustalenie standardu, zgodnie z którym system ma być rozwijany, zmusza projektantów do przestrzegania wymagań. Przemysłowi awioniki udało się stworzyć standardowe metody wytwarzania oprogramowania dla awioniki o znaczeniu krytycznym . Podobne normy istnieją dla przemysłu ogólnie ( IEC 61508 ) i motoryzacyjnego ( ISO 26262 ), medycznego ( IEC 62304 ) i nuklearnego ( IEC 61513 ). Standardowym podejściem jest dokładne kodowanie, sprawdzanie, dokumentowanie, testowanie, weryfikacja i analiza systemu. Innym podejściem jest certyfikacja systemu produkcyjnego, kompilatora , a następnie wygenerowanie kodu systemu na podstawie specyfikacji. Inne podejście wykorzystuje metody formalne do generowania dowodów, że kod spełnia wymagania. Wszystkie te podejścia poprawiają jakość oprogramowania w systemach krytycznych dla bezpieczeństwa poprzez testowanie lub eliminację ręcznych kroków w procesie rozwoju, ponieważ ludzie popełniają błędy, a te błędy są najczęstszą przyczyną potencjalnych błędów zagrażających życiu.

Przykłady systemów krytycznych dla bezpieczeństwa

Infrastruktura

Medycyna

Wymagania technologiczne mogą wykraczać poza unikanie awarii, a nawet mogą ułatwić medyczną intensywną opiekę medyczną (która zajmuje się leczeniem pacjentów), a także podtrzymywanie życia (która ma na celu stabilizację pacjentów).

Inżynieria nuklearna

Rekreacja

Transport

Kolej żelazna

  • Sygnalizacja kolejowa i systemy sterowania
  • Wykrywanie peronu do sterowania drzwiami pociągu
  • Automatyczne zatrzymanie pociągu

Automobilowy

Lotnictwo

Lot w kosmos

Zobacz też

Bibliografia

Zewnętrzne linki