Biztonságkritikus rendszerek architektúrája

Hasonló dokumentumok
Biztonságkritikus rendszerek architektúrája

Biztonságkritikus rendszerek architektúrája (2. rész)

Architektúra tervezési példák: Architektúrák biztonságkritikus rendszerekben

Hibatűrés. Majzik István Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék

Hibatűrés. Majzik István Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék

Hibatűrés. Majzik István Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék

Hibatűrés. Majzik István Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék

Szolgáltatásbiztos rendszerek: Architektúra tervezési példák

Hibatűrés. Majzik István Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék

Mintapélda: Rendszertesztelés a SAFEDMI projektben

Biztonságkritikus rendszerek Gyakorlat: Architektúrák

A szolgáltatásbiztonság alapfogalmai

A szolgáltatásbiztonság alapfogalmai

A szolgáltatásbiztonság alapfogalmai

A hibakezelés tesztelése: Hibainjektálás

Biztonsági folyamatirányító. rendszerek szoftvere

Norway Grants. Az akkumulátor mikromenedzsment szabályozás - BMMR - fejlesztés technológiai és műszaki újdonságai. Kakuk Zoltán, Vision 95 Kft.

Védelem a véletlenszerű egyedi hibák veszélyeztető hatása ellen Biztonsági stratégiák

Közlekedési automatika Biztonsági architektúrák

MSP430 programozás Energia környezetben. Kitekintés, további lehetőségek

Előadó: Nagy István (A65)

A Hibatűrő Rendszerek Kutatócsoport EU kutatási projektekjei

A fejlesztési szabványok szerepe a szoftverellenőrzésben

Megbízhatósági analízis

Operációs rendszerek. Bemutatkozás

Intelligens Érzékelők

SZOFTVER-MINŐSÉGBIZTOSÍTÁS BIZTONSÁGKRITIKUS RENDSZEREK. Széchenyi István Egyetem. Alapfogalmak

Autóipari beágyazott rendszerek. Kockázatelemzés

Szoftver architektúra tervek ellenőrzése

Programozó- készülék Kezelőkozol RT óra (pl. PC) Digitális bemenetek ROM memória Digitális kimenetek RAM memória Analóg bemenet Analóg kimenet

Rendszermodellezés. Modellellenőrzés. Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék

3. A DIGILENT BASYS 2 FEJLESZTŐLAP LEÍRÁSA

Új kompakt X20 vezérlő integrált I/O pontokkal

IBM felhő menedzsment

Autóipari beágyazott rendszerek. Komponens és rendszer integráció

Foglalkozási napló a 20 /20. tanévre

A LOGSYS GUI. Fehér Béla Raikovich Tamás, Laczkó Péter BME MIT FPGA laboratórium

Beágyazott információs rendszerek

Bokor Péter. DECOS Nemzeti Nap október 15. Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék

TANMENET 2018/2019. tanév

Számítógépek felépítése, alapfogalmak

Autóipari beágyazott rendszerek. Funkcionális biztonságossági koncepció

Alapszintű formalizmusok

TELE-OPERATOR UTS v.14 Field IPTV műszer. Adatlap

Laboratóriumi műszerek megvalósítása ARM alapú mikrovezérlővel és Linux-szal

Biztonságkritikus rendszerek Gyakorlat: Megbízhatósági analízis

Számítógép-rendszerek fontos jellemzői (Hardver és Szoftver):

Autóipari beágyazott rendszerek CAN hardver

A számítógép egységei

Szoftverminőségbiztosítás

Rendszertervezés ágazat

Szoftverminőségbiztosítás

Ismerkedjünk tovább a számítógéppel. Alaplap és a processzeor

Digitális technika VIMIAA01 9. hét Fehér Béla BME MIT

Digitális technika VIMIAA01 9. hét

Rubin SMART COUNTER. Műszaki adatlap 1.1. Státusz: Jóváhagyva Készítette: Forrai Attila Jóváhagyta: Parádi Csaba. Rubin Informatikai Zrt.

1002D STRUKTÚRÁJÚ, KRITIKUS ÜZEMBIZTONSÁGÚ RENDSZER (SCS 1 ) ELEMZÉSE DISZKRÉT-DISZKRÉT MARKOV MODELLEL

Új generációs informatikai és kommunikációs megoldások ANMS. távközlési hálózatok informatikai hálózatok kutatás és fejlesztés gazdaságos üzemeltetés

Nagy Gergely április 4.

Digitális rendszerek. Digitális logika szintje

Programozható Logikai Vezérlő

Élettartam teszteknél alkalmazott programstruktúra egy váltóvezérlő példáján keresztül

Specifikáció alapú teszttervezési módszerek

Kvantum-hibajavítás I.

Specifikáció alapú teszttervezési módszerek

Aktív zajcsökkentést demonstráló rendszer továbbfejlesztése. Csofcsics Donát Gusztáv Tamás

Digitális technika (VIMIAA02) Laboratórium 1

Digitális technika (VIMIAA02) Laboratórium 3

Hálózati ismeretek. Az együttműködés szükségessége:

Digitális technika (VIMIAA02) Laboratórium 3

Fejlesztés kockázati alapokon 2.

Digitális technika (VIMIAA02) Laboratórium 1

WAGO PLC-vel vezérelt hő- és füstelvezetés

Yottacontrol I/O modulok beállítási segédlet

Projekt beszámoló. NEWSIT News basedearlywarning System forintradaytrading: Hír alapú Korai Figyelmeztető Rendszer Napon belüli Kereskedéshez

Hibadetektáló és javító kódolások

Mérő- és vezérlőberendezés megvalósítása ARM alapú mikrovezérlővel és Linux-szal

Szoftver újrafelhasználás

Szoftver karbantartási lépések ellenőrzése

Autóipari beágyazott rendszerek. Integrált és szétcsatolt rendszerek

The modular mitmót system. DPY kijelző kártya C API

Nyíregyházi Egyetem Matematika és Informatika Intézete. Input/Output

(1) 10/100/1000Base-T auto-sensing Ethernet port (2) 1000Base-X SFP port (3) Konzol port (4) Port LED-ek (5) Power LED (Power)

Architektúra, megszakítási rendszerek

elektronikus adattárolást memóriacím

IDAXA-PiroSTOP. PIRINT PiroFlex Interfész. Terméklap

Mintavételes szabályozás mikrovezérlő segítségével

Modell alapú tesztelés mobil környezetben

Miskolci Egyetem Alkalmazott Informatikai Intézeti Tanszék A minőségbiztosítás informatikája. Készítette: Urbán Norbert

Tartalomjegyzék. Előszó... xi. 1. Bevezetés Mechanikai, elektromos és logikai jellemzők... 13

Aktív zajcsökkentő rendszerek megvalósítása szenzorhálózattal

Roger UT-2. Kommunikációs interfész V3.0

Számítógép felépítése

Verifikáció és validáció Általános bevezető

Összeadás BCD számokkal

3. Biztonságkritikus rendszerek

Adatok ábrázolása, adattípusok

Számítógép architektúra

Számítógépek felépítése

KIBŐVÍTETT RUGALMAS AUTOMATIZÁLÁS

Átírás:

Biztonságkritikus rendszerek architektúrája Rendszertervezés és -integráció előadás dr. Majzik István Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék BME-MIT

Célkitűzés Hibahatások ellenére a veszély elkerülése Fail-safe működés Meghibásodás esetén is biztonságos működés Fail-stop működés A megállás (lekapcsolás) biztonságos állapot Detektált hiba esetén le kell állítani a rendszert Hibadetektálás a kritikus feladat Fail-operational működés A megállás (lekapcsolás) nem biztonságos állapot Detektált hiba esetén is szükséges szolgáltatás teljes, vagy csökkentett (degradált) Hibatűrés szükséges BME-MIT 15.

Jellegzetes megoldások fail-stop működéshez BME-MIT 17.

Egycsatornás feldolgozás önellenőrzéssel Egy feldolgozási (végrehajtási) folyamat Ütemezett hardver öntesztek o Induláskor: Részletes önteszt o Futás közben: Lappangó állandósult hibák detektálása o Ajánlott többféle módon Rendszeres szoftver önellenőrzés o Alkalmazásfüggő hibadetektálás o Vezérlési folyam, adatfeldolgozás ellenőrzése Hátrányok: o Hibafedés korlátos: pedig a SIL teljesítése ettől függ! o Hibakezelés megvalósítása (pl. lekapcsolás) nem megbízható BME-MIT 18.

Hibadetektálás megvalósítása Alkalmazásfüggő (ad-hoc) technikák o Hihetőség vizsgálat o Időzítések ellenőrzése o Visszahelyettesítés o Struktúra ellenőrzése (elfogadható tartományok) (túl korán, túl későn ) (inverz függvénnyel) (pl. kettős láncolással) Alkalmazásfüggetlen mechanizmusok (áttekintés) o Hardver támogatású ellenőrzések CPU szintű: Illegális utasításkód, user/supervisor mód stb. MMU szintű: Memóriatartományok védelme o OS szintű ellenőrzések Rendszerhívások érvénytelen paraméterei Erőforrások hozzáférésének védelme BME-MIT 19.

Példa: Memória tesztelése Hibátlan cella állapotai: Átmenetek összeragadás tesztjéhez: Leragadási hibák esetén: Tranzíciós hiba esetén (w1): Teszt: Marching algoritmusok (w/r): BME-MIT 20.

Példa: Szoftver utasítás-szekvencia ellenőrzése Végrehajtási útvonalak ellenőrzése (monitor) o Referencia: Vezérlési gráf a forráskód alapján Forráskód: Vezérlési gráf: a: for (i=0; i<max; i++) { b: if (i==a) { c: n=n-i; } else { d: m=m-i; } e: printf( %d\n,n); } f: printf( Ready. ) c a b e f d BME-MIT 21.

Példa: Szoftver utasítás-szekvencia ellenőrzése Végrehajtási útvonalak ellenőrzése (monitor) o Referencia: Vezérlési gráf a forráskód alapján o Aktuális futás: Jelzőszámok alapján ellenőrizhető Felműszerezett forráskód: Vezérlési gráf (referencia): a: S(a); for (i=0; i<max; i++) { b: S(b); if (i==a) { c: S(c); n=n-i; } else { d: S(d); m=m-i; } e: S(e); printf( %d\n,n); } f: S(f); printf( Ready. ) c a b e f d BME-MIT 22.

Példa: SAFEDMI mozdonyvezetői kezelőfelület Mozdonyvezető Safety Integrity Level 2 o Információ megjelenítés o Parancs feldolgozás o EVC kommunikáció Biztonságos vezeték nélküli kommunikáció o Konfiguráció o Diagnosztika o Szoftver frissítés DMI Maintenance Centre EVC European Vital Computer BME-MIT 23.

Példa: SAFEDMI hardver architektúra Fail-stop működés Reaktív fail-safety (hibadetektálás és -kezelés) Generikus (COTS) hardver elemek; a hibadetektálás és hibakezelés megvalósítása szoftver alapú megoldásokkal ERTMS TRAINBORNE SYSTEMS commercial field bus Vcc EXCLUSION LOGIC SAFE DMI LCD lamp LCD DISPLAY Speaker wireless interface Keyboard BME-MIT 24.

Példa: SAFEDMI hardver architektúra Komponensek: Keyboard RAM ROM Log Device Thermometer Keyboard Controller Cabin Identifier bus Bus Controller CPU Watch dog LCD lamps Controller Graphic Controller Audio Controller LCD lamps LCD matrix Video Pages Speaker Flash audio Device to communicate with EVC Device to communicate with BD BME-MIT 25.

Alap üzemmódok: Példa: SAFEDMI hibakezelés o Startup, Normal, Configuration, Safe módok Hibakezelés: Suspect állapot o Átmeneti állapot o Hibaszámlálás: Tranziens állandósult hiba megkülönböztetéséhez BME-MIT 26.

Példa: SAFEDMI elindítás utáni öntesztek CPU öntesztelése: o Külső watchdog áramkör (periodikus életjelek) o Alap funkcionalitás Komplex funkciók (aritmetikai és logikai egység, utasításdekódolás, regiszter dekódolás, belső buszok megmozgatása) Memória tesztelése: o Marching algoritmusok (leragadás, összeragadás tesztelése) Szoftver integritás (EPROM tartalom): o Hibadetektáló kódolás Perifériák tesztelése: o Operátori (mozdonyvezetői) segítséggel (pl. hang érzékelés) BME-MIT 27.

Példa: SAFEDMI működés közbeni ellenőrzések Hardver perifériák: o Ütemezett tesztek: Kisebb erőforrásigényűek (CPU, memória, ) o Adat elfogadhatósági tesztek: I/O műveletek esetén Kommunikációs és konfigurációs funkciók: o Adat elfogadhatósági tesztek (hihetőségi vizsgálatok) o Hibadetektáló és hibajavító kódok Adott hibagyakoriság fölött a kapcsolat bontása Üzemmód váltások és kezelői bemenetek feldolgozása: o Végrehajtási útvonalak (vezérlési gráf) ellenőrzése o Időtúllépés (time-out) ellenőrzése o Megerősített parancskiadás (jóváhagyás szükséges) Grafikus adatmegjelenítés (bitképek összeállítása): o Duplikált végrehajtás és összehasonlítás BME-MIT 28.

Két- vagy többcsatornás feldolgozás komparálással Két vagy több feldolgozási csatorna o Közös bemenet o Kimenetek komparálása o Eltérés esetén leállás Nagy hibafedés Komparátor kritikus elem o De egyszerű! Speciális komparálás : o Operátori ellenőrzés Hátrányok: o Közös eredetű hiba? o Hosszú lappangási idő = n stop BME-MIT 29.

Példa: Safety microcontroller (itt: TI Hercules) BME-MIT 30.

Példa: Egy SCADA rendszer Supervisory Control and Data Acquisition HMI A+ A- I/O Érzékelők és beavatkozók BME-MIT 31.

Példa: SCADA szoftver architektúra Két csatorna A két csatorna által számolt bitmap váltakozó megjelenítése (operátor az összehasonlító; eltérés esetén villogás) Szinkronizáció: Belső hibadetektálás (mielőtt a kimenetre kerülne) Channel 1 Channel 2 GUI Pict A Input Database Control Communication protocol Pict B Syncron Syncron I/O Control Database Input Communication protocol BME-MIT 32.

Példa: SCADA telepítési opciók Két csatorna ugyanazon a számítógépen: Közös platform hatásainak kezelése o Statikusan linkelt szoftver modulok o Időben, memóriában és diszken elkülönülő végrehajtás o Diverz adattárolás Bináris adatokra (jelek): Inverz adatábrázolás (ponált/negált) Technológiai adatbázis különböző indexelése Két csatorna különböző szervereken o Szinkronizáció dedikált belső hálózaton Rendelkezésre állás növelése (hibatűrés): A+ A - B+ o Újraindulás (tranziens hibára) I/O I/O o Kétszer 2-ből 2 séma B - BME-MIT 33.

Példa: SCADA hibadetektálás összefoglalása Véletlen hardver hibákra működés közben: Csatornák komparálása: Operátori illetve I/O o Operátornak: Villogó RGB-BGR szimbólum jelzi a rendszeres képernyőfrissítést és színhelyességet Watchdog processz o Többi processz futásának ellenőrzése (rendszeres életjelek vizsgálata) Az adatbázis tartalmának rendszeres összehasonlítása o Lappangó hibák detektálása Szándékolatlan vezérlésre, közös hibákra: Megerősített (háromfázisú) parancskiadás: o Előkészítés (de a beavatkozás zárolva diverz modulokkal) o Visszaolvasás független modulokon keresztül o Operátori jóváhagyás (eltérő GUI műveletekkel) BME-MIT 34.

Példa: SCADA megerősített parancskiadás Channel 1 Channel 2 locking locking I/O BME-MIT 35.

Kétcsatornás feldolgozás független ellenőrzéssel Független csatorna o Safety bag : csak biztonsági ellenőrzés o Eltérő tervezésű o Megengedhető, biztonságos viselkedés ellenőrzése Példa: o Elektra biztosítóberendezés o Szabályok az elsődleges csatorna működésének ellenőrzésére n stop BME-MIT 36.

Példa: Alcatel (Thales) Elektra Két csatorna: Logikai csatorna: CHILL (CCITT High Level Language) eljárás-orientált programnyelv Biztonsági csatorna: PAMELA (Pattern Matching Expert System Language) szabály-orientált programnyelv BME-MIT 37.

Összefoglalás: Architektúrák Fail-safe működés Meghibásodás esetén is biztonságos működés Fail-stop működés Fail-operational működés A megállás (lekapcsolás) biztonságos állapot Detektált hiba esetén le kell állítani a rendszert Hibadetektálás a kritikus feladat A megállás (lekapcsolás) nem biztonságos állapot Detektált hiba esetén is szükséges szolgáltatás teljes, vagy csökkentett (degradált) Hibatűrés szükséges BME-MIT 40.

Összefoglalás: Architektúrák fail-stop működéshez 1. Egycsatornás feldolgozás beépített ellenőrzéssel o o Hardver: Bekapcsoláskor önteszt (POST) és ütemezett öntesztek (BIST) Szoftver: Online (ön)ellenőrzés 2. Kétcsatornás feldolgozás komparálással o o Replikált feldolgozási csatornák közös bementekkel (probléma: közös hibák a csatornákban) Csatornák kimenetének komparálása 3. Kétcsatornás feldolgozás független ellenőrzéssel o o Független, diverz ellenőrző csatorna Az elsődleges csatorna kimenetének biztonsági ellenőrzése = n stop n stop BME-MIT 41.

Jellegzetes megoldások failoperational működéshez: Hibatűrés BME-MIT 42.

Célkitűzés Hibahatások -> veszély elkerülése Fail-safe működés Fail-stop működés A megállás (lekapcsolás) biztonságos állapot Detektált hiba esetén le kell állítani a rendszert Hibadetektálás a kritikus feladat Fail-operational működés A megállás (lekapcsolás) nem biztonságos állapot Detektált hiba esetén is szükséges szolgáltatás teljes, vagy csökkentett (degradált) Hibatűrés szükséges BME-MIT 43.

Hibatűrő rendszerek Hibatűrés célja: Szolgáltatást nyújtani hiba esetén is o Leállás helyett autonóm hibakezelés működés közben o Beavatkozás a hibaok hibajelenség láncba Alapfeltétel: Redundancia (tartalékolás): Többlet erőforrások a hibás komponensek kiváltására o Hardver o Szoftver o Információ o Idő Redundancia típusai Együttes megjelenés is o Hideg: Normál esetben passzív; lassú átkapcsolás hiba esetén o Langyos: Normál esetben csökkentett terhelés o Meleg (forró): Normál esetben aktív; gyors átkapcsolás BME-MIT 46.

A redundancia típusai Redundancia / tulajdonság Hideg tartalék (passzív redundancia) Langyos tartalék (másodlagos funkciók) Meleg tartalék (aktív redundancia) Alapelv Csak hiba esetén aktiválva Csökkentett terheléssel működik Ugyanúgy működik, mint az elsődleges Előnye Nem hibásodik meg a passzív komponens Kisebb meghibásodási tényezőjű tartalék Gyorsan átveheti az elsődleges helyét Hátránya Lassan veszi át az elsődleges helyét Közepes sebességű feladat átvétel Azonos meghibásodási tényező Példa Kikapcsolt tartalék számítógép Naplózó számítógép belép elsődlegesként Árnyék számítógép BME-MIT 48.

Példa: Információ redundancia: Hibajavító kódolás Kódoló Átvitel, tárolás Dekódoló Hibadetektáló kódolás (EDC): Csak jelezni tudja a hibát o Paritásbit: Hamming távolság megnövelése, 1 bithiba detektálható o Ellenőrző összeg: Fájlok, hosszabb üzenetek esetén alkalmazható Hibajavító kódolás (ECC): Hibahely azonosítás, információ javítás o Nagyobb Hamming távolság: Javítható hibák Pl.: (7,4) bites Hamming kód: 1 bithiba javítható, 1 és 2 bithiba detektálható o Blokkos információ: Bonyolultabb kódok (pl. Reed-Solomon kódok) Pl.: (255, 223) bájtos RS kód: 16 bájthiba javítható Korlátozott hibajavító képesség o Információ tárolás: Hosszú idő alatt olyan sok hiba felgyűlhet, hogy a hibajavító kód nem boldogul vele o Tárakhoz: Periodikus olvasás és javítva visszaírás (pl. memory scrubbing ) 4 adatbit, 3 redundáns bit BME-MIT 49.

Milyen redundancia használandó? Hardver tervezési hibák: (< 1%) o Hardver redundancia, eltérő tervezésű o Gyakran nem számítanak rá (bevált komponensek) Hardver állandósult működési hibák: (~ 20%) o Hardver redundancia (pl. tartalék processzor) Hardver időleges működési hibák: (~ 70-80%) o Idő redundancia (pl. utasítás újravégrehajtás) o Információ redundancia (pl. hibajavító kódok) o Szoftver redundancia (pl. állapotmentés és helyreállítás) Szoftver tervezési hibák: (~ 10%) o Szoftver redundancia, eltérő tervezésű variánsok BME-MIT 50.

1. Állandósult hardver hibák kezelése Többszörözés: Kettőzés: o Komparálással: csak hibadetektálás! o Hibatűrés: Diagnosztikai támogatás és átkapcsolás TMR: Triple-modular redundancy o Hiba maszkolása többségi szavazással o Szavazó kritikus elem (de egyszerű) NMR: N-modular redundancy o Hiba maszkolása többségi szavazással Bemenet Bemenet o Missziós idő túlélése nagyobb esélyű, utána javítás jöhet o Repülőgép fedélzeti eszközök: 4MR, 5MR Normál modul Tartalék modul 1. modul 2. modul 3. modul Diagnosztikai egység Átkapcsoló egység Szavazó egység Kimenet Hibajel Kimenet Hibajel (Többségi szavazás) BME-MIT 51.

A többszörözés megvalósítása Berendezés/számítógép szint: o Szerverek: Nagy rendelkezésre állású szerver fürtök Pl. Linux HA Clustering, Windows Server Failover Clustering o Szoftver támogatás: feladatátvétel (failover) Kártya szint: o Futásidőbeli átkonfigurálás hot-swap Pl. compactpci, HDD, tápegységek o Szoftver támogatás: monitorozás, konfigurációkezelés Alkatrész szint: o Alkatrész szintű többszörözés TMR Önellenőrző áramkörök (kódolt információval dolgoznak) BME-MIT 52.

Példa: Hardver redundancia Több processzor Hibajavító kódolás RAID konfiguráció CPU1 CPU2 MEM ECC D1 D2 Opció: Kettőzött busz, paritás Monitor PS1 PS2 I/O I/O Monitorprocesszor Kettőzött tápegység Kettőzött I/O alrendszer pl. IBM xseries BME-MIT 53.

Példa: RAID diszk egységek (Redundant Array of Independent Disks) BME-MIT 54.

Duplikált Példa: diszkek RAID diszk Hibajavító egységek kódolás (Redundant Azonosítható Array of a Independent hibás diszk: Disks) Paritás elég a javításhoz Konkurens hozzáférés a blokkokhoz Paritás diszk sem szűk keresztmetszet BME-MIT 55.

2. Időleges hardver hibák kezelése Megközelítés: Szoftver alapú o Ismételt végrehajtás esetén a hiba nem jelentkezik o Hibahatások kiküszöbölése a fontos A hiba kezelhető hibamentes állapot beállításával (és részben ismételt végrehajtással) Feladatok: 1.) Hibadetektálás 2.) Hibahatás felmérése 3.) Helyreállítás 4.) Meghibásodás (hibaok) kezelése BME-MIT 56.

1. fázis: Hibadetektálás Alkalmazásfüggetlen (mechanizmus): o Illegális utasítások felismerése o Védelmi szintek, jogosultságok ellenőrzése o Alkalmazásfüggő (ad-hoc): o Időzítés ellenőrzése o Visszahelyettesítés (algoritmus) o Hihetőség vizsgálat o Struktúra ellenőrzés o Diagnosztikai ellenőrzés o BME-MIT 57.

2. fázis: Hibahatások felmérése Motiváció: Hibadetektálás késleltetési ideje alatt a hiba terjedhet a komponensek között hibaok interakciók! hibadetektálás Hibaterjedés behatárolása: Interakciók ellenőrzése o Bemeneti ellenőrzések elvégzése (pl. hihetőség vizsgálat) o Kimeneti ellenőrzések elvégzése (legyen fail-silent ) Hiba által érintett komponensek meghatározása: o Naplózás: Erőforrás használat, kommunikáció o A hibadetektálás késleltetési ideje alatt történt interakciók követése BME-MIT 58.

Előrelépő helyreállítás: 3. fázis: Helyreállítás o Hibamentes állapot beállítása szelektív korrekcióval o A detektált hiba és a hibahatás függvénye o Előre figyelembe vett hibák esetén Visszalépő helyreállítás: o Állapot beállítása korábbi hibamentes állapotra o Hibától függetlenül megvalósítható o Állapotmentés és visszaállítás minden komponensre Kompenzáció: o Többlet információ alapján a hibahatás kompenzálható BME-MIT 59.

A helyreállítás lehetőségei A rendszer állapotterében: Hibadetektálás v2 hiba bekövetkezése! hibadetektálás s(t) v1 állapotváltozó BME-MIT 60.

A helyreállítás lehetőségei A rendszer állapotterében: Előrelépő helyreállítás v2 e3! e1 e2 s(t) előrelépés v1 állapotváltozó BME-MIT 61.

A helyreállítás lehetőségei A rendszer állapotterében: Visszalépő helyreállítás v2! s(t) visszalépés állapotmentés v1 állapotváltozó BME-MIT 62.

A helyreállítás lehetőségei A rendszer állapotterében: Kompenzáció v2! s(t) kompenzáció v1 állapotváltozó BME-MIT 63.

A helyreállítás lehetőségei A rendszer állapotterében: A lehetőségek v2 e3! e1 e2 s(t) visszalépés előrelépés kompenzáció állapotmentés v1 állapotváltozó BME-MIT 64.

Visszalépő helyreállítás Állapotmentés és visszaállítás alapján o Checkpoint: állapotmentés (időpontja) o Műveletek: Állapotmentés: időközönként, üzenetek után; stabil tárba Visszaállítás: stabil tárból az operatív memóriába Eldobás: adott számú checkpoint megtartása o Analógia: autosave Műveletek visszavonása alapján o Hiba: téves (szándékolatlan) művelet o Műveletek naplózása szükséges a visszavonáshoz o Analógia: többszintű undo Kombinált módszer is lehetséges BME-MIT 65.

Visszalépő helyreállítás forgatókönyvei t! t! t! t BME-MIT 66.

Checkpoint tartományok a1 b1 c1 a2 b2 c2! t Optimalizálás szempontjai: Korlátos tár az állapotmentéshez (hány állapotmentés lehet) Állapotmentés gyakorisága (mennyi számítást vesztünk el) Hibadetektálás lappangási ideje (milyen jó a detektálás) BME-MIT 67.

Időleges hibák: 4. fázis: A hibaok kezelése o Előre- vagy visszalépő helyreállítás elég Állandósult hibák: Helyreállítás nem lesz sikeres (újra hibadetektálás) o Hiba lokalizálása Diagnosztikai célú tesztelés o Újrakonfigurálás Hibatűrés: Hibás komponens feladatainak teljes átvétele Degradált működés: Egyes funkciók fenntartása Graceful degradation : A kritikus funkciók fenntartása o Javítás, csere BME-MIT 78.

3. Szoftver tervezési hibák kezelése Ismételt végrehajtás nem segít (állandósult hiba) Redundáns modulok: Eltérő tervezés szükséges! Variánsok: azonos specifikáció, de o eltérő algoritmus, adatstruktúrák o más fejlesztési környezet, programnyelv o elszigetelt fejlesztés az azonos hibák bekövetkezésének csökkentésére Variánsok végrehajtásának technikái: o N-verziós programozás o Javító blokkok BME-MIT 79.

N-verziós programozás Aktív statikus redundancia: Minden variáns végrehajtása (párhuzamosan) o Ugyanazon bemenetek o Többségi szavazás Elfogadható értéktartományt kell megadni a kimenetekre Szavazó egyszeres hibapont (SPOF), de egyszerű Variáns 1 Bemenet Variáns 2 Szavazó Kimenet Variáns 3 Hibajelzés BME-MIT 80.

N-önellenőrző programozás Aktív dinamikus redundancia: o N számú önellenőrző komponens o Hibadetektálás esetén átkapcsolás az elsődlegesről az önellenőrző tartalékra Variáns 1 Bemenet Ellenőrző 1 Variáns 2 Ellenőrző 2 Átkapcsoló Kimenet Hibajelzés BME-MIT 81.

Javító blokkok Passzív redundancia: Csak hiba esetén aktiválódik o Variánsok kimenetének elfogadhatósági ellenőrzése o Hiba esetén tartalék variáns (soros) végrehajtása Bemenet Állapotmentés Variáns végrehajtása Állapot visszaállítás Elfogadhatósági ellenőrzés Van-e még variáns? i n n i Kimenet Hibajelzés BME-MIT 87.

Összehasonlítás Tulajdonság/típus N-verziós prg. Javító blokkok Ellenőrzés Szavazás, Elfogadhatóság relatív abszolút Végrehajtás Párhuzamos Soros Időigény Leglassabb variáns (vagy time-out) Mindig Redundancia aktiválása Tolerált hibák [(N-1)/2] N-1 Hibák számától függő Csak hiba esetén Hibakezelés Maszkolás Helyreállítás BME-MIT 88.

Hibatűrés tesztelése Meghibásodás (hiba) előidézése: Hibainjektálás o Hardver: Hibaok létrehozása: busz jelek kényszerítése, tápfeszültség tüske, részecske-besugárzás, hőterhelés Hardverfüggő, lassú o Szoftver: Hibahatás létrehozása (rendszerállapot megváltoztatása): regiszterek, memóriabitek átállítása (pl. Unix ptrace()) Rugalmas, gyors Hibaokoknak való megfelelés kérdéses o Hibrid Hatás monitorozása (működés közben) BME-MIT 89.

A hibainjektálás szintjei Ár, valósághűség Hibaszimuláció a forráskódban vagy modell szinten a fejlesztőeszközben Regisztertartalom módosítása, memóriakép felülírása Síneken haladó vagy áramkörök lábán megjelenő jelek módosítása Radioaktív sugárzás, ioninjektálás, tápfeszültség zavarása, hőmérséklet BME-MIT 90. 90

Összefoglalás: Hibatűrés technikái 1. Hardver tervezési hibák o Diverz redundáns hardver komponensek 2. Állandósult hardver működési hibák o Hardver redundancia: többszörözés 3. Időleges hardver működési hibák o o o Szoftver redundancia 1. Hibadetektálás 2. Hibahatás felmérés 3. Helyreállítás: előrelépő vagy visszalépő 4. Hibaok kezelése Információ redundancia: Hibajavító kódolás Idő redundancia: Ismétlés 4. Szoftver tervezési hibák o Diverz redundáns szoftver komponensek (NVP, RB) BME-MIT 92.

IEC 61508: Functional safety in electrical / electronic / programmable electronic safety-related systems Szoftver architektúra tervezés Szabvány szerinti módszerek BME-MIT 93.

Az időigény összefoglalása Tiszta idő redundancia: Újrapróbálás (retry) o Alacsony hardver szinten: processzor (mikro)utasítás o Magasabb szinten: funkció, taszk ismételt végrehajtás o Időleges hibák esetén hatásos Idő overhead velejárója a többi típusnak o Hard RT rendszerek: tervezési szempont, hogy mennyire garantálható a hibakezelés ideje o Preferált megoldások: Állandósult hardver hibák: maszkolás, meleg tartalék Időleges hardver hibák: előrelépő helyreállítás Szoftver tervezési hibák: N-verziós programozás BME-MIT 94.

Az időigény áttekintése Térbeli redundancia (%) TMR N-verziós programozás Javító blokkok 100 10 Előrelépő helyreállítás Hibajavító kódolás Visszalépő helyreállítás Elosztott állapotmentés és helyreállítás Újrapróbálás Újratöltés Újraindítás 0.01 0,1 1 10 Időbeli redundancia (s) BME-MIT 95.

Költségoptimalizálás hibatűrés költsége eredő kialakítási költség üzemeltetési költség optimum hibatűrés mértéke BME-MIT 96.

Összefoglalás: Architektúra tervezés Fail-stop megoldások o Egycsatornás feldolgozás önteszttel o Kétcsatornás feldolgozás komparálással o Kétcsatornás feldolgozás független ellenőrzéssel Fail-operational (hibatűrő) megoldások o Hardver tervezési hibák: Diverz redundáns hardver komponensek o Állandósult hardver működési hibák: Többszörözött hardver komponensek o Időleges hardver működési hibák: Szoftver redundancia: Hibadetektálás és helyreállítás Információ redundancia: Hibajavító kódolás Idő redundancia: Végrehajtás ismétlése o Szoftver tervezési hibák: Diverz redundáns szoftver komponensek (NVP, RB) BME-MIT 97.