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

Hasonló dokumentumok
Biztonságkritikus rendszerek Gyakorlat: Architektúrá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

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

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

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

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

Biztonságkritikus rendszerek architektúrája

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

A szolgáltatásbiztonság alapfogalmai

A szolgáltatásbiztonság alapfogalmai

A szolgáltatásbiztonság alapfogalmai

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

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

Robusztusság tesztelés

Szoftver architektúra tervek ellenőrzése

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

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

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

OpenCL alapú eszközök verifikációja és validációja a gyakorlatban

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

Mintapélda: Rendszertesztelés a SAFEDMI projektben

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

Beágyazott információs rendszerek

A modellellenőrzés érdekes alkalmazása: Tesztgenerálás modellellenőrzővel

Megbízhatósági analízis

Biztonságkritikus rendszerek architektúrája

A modellellenőrzés érdekes alkalmazása: Tesztgenerálás modellellenőrzővel

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

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

Digitális technika VIMIAA01 9. hét

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

Szoftverminőségbiztosítás

Digitális eszközök típusai

Szoftver karbantartás

Nagy Gergely április 4.

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

Operációs rendszerek. Bemutatkozás

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

3. Biztonságkritikus rendszerek

Számítógép architektúrák záróvizsga-kérdések február

Elosztott rendszer architektúrák

Szárazföldi autonóm mobil robotok vezérlőrendszerének kialakítási lehetőségei. Kucsera Péter ZMNE Doktorandusz

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

Speciális tesztelési feladatok

Programozható logikai vezérlõk

MIKROELEKTRONIKA, VIEEA306

Mikrorendszerek tervezése

Funkciópont elemzés: elmélet és gyakorlat

A szoftver-folyamat. Szoftver életciklus modellek. Szoftver-technológia I. Irodalom

Üzletmenet folytonosság menedzsment [BCM]

A szoftverellenőrzés szerepe

Modell alapú tesztelés mobil környezetben

Programtervezés. Dr. Iványi Péter

Alapszintű formalizmusok

Informatikai rendszertervezés

8.3. AZ ASIC TESZTELÉSE

IBM felhő menedzsment

Processzusok (Processes), Szálak (Threads), Kommunikáció (IPC, Inter-Process Communication)

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

Informatikai rendszertervezés

Irányítástechnika Elıadás. PLC-k programozása

Biztonsági kézikönyv. PFF-HM31A decentralizált biztonsági vezérlés MOVIPRO -hoz

Integrált áramkörök/3 Digitális áramkörök/2 CMOS alapáramkörök Rencz Márta Ress Sándor

Az IEC PRP & HSR protokollok használata IEC61850 kommunikációjú védelmi automatika hálózatokban

Szoftver értékelés és karbantartás

Unit Teszt. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) Unit Teszt / 22

Biztonságkritikus rendszerek

Szoftver-mérés. Szoftver metrikák. Szoftver mérés

Processzusok (Processes), Szálak (Threads), Kommunikáció (IPC, Inter-Process Communication)

TM Szervó vezérlő és dekóder

Digitális technika (VIMIAA01) Laboratórium 9

ÉRZÉKELŐK ÉS BEAVATKOZÓK I. 0. TANTÁRGY ISMERTETŐ

Utolsó módosítás:

Kinek szól a könyv? A könyv témája A könyv felépítése Mire van szükség a könyv használatához? A könyvben használt jelölések. 1. Mi a programozás?

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

Neurális hálózatok bemutató

Digitális technika (VIMIAA01) Laboratórium 9

Digitális technika (VIMIAA02) Laboratórium 4

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

Tesztelési feladatok és kihívások a FALCON projektben

5. KOMBINÁCIÓS HÁLÓZATOK LEÍRÁSÁNAK SZABÁLYAI

TxRail-USB Hőmérséklet távadó

Programrendszerek tanúsítása szoftverminőség mérése

TM Vasúti átjáró vezérlő. Railroad-crossing controller. Használati útmutató. User's manual

SYS700-PLM Power Line Monitor modul DDC rendszerelemek, DIALOG-III család

Dr. Schuster György október 30.

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

MŰSZAKI TESZTTERVEZÉSI TECHNIKÁK STRUKTÚRA ALAPÚ, VAGY FEHÉRDOBOZ TECHNIKÁK TAPASZTALAT ALAPÚ TECHNIKÁK

Fejlesztés kockázati alapokon 2.

Programfejlesztési Modellek

Digitális technika (VIMIAA02) Laboratórium 3

Szoftverminőségbiztosítás

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

A PET-adatgy informatikai háttereh. Nagy Ferenc Elektronikai osztály, ATOMKI

Tájékoztató. Használható segédeszköz: számológép

TANMENET 2018/2019. tanév

5-6. ea Created by mrjrm & Pogácsa, frissítette: Félix

Digitális technika (VIMIAA02) Laboratórium 3

Feladat. Bemenő adatok. Bemenő adatfájlok elvárt formája. Berezvai Dániel 1. beadandó/4. feladat április 13. Például (bemenet/pelda.

Átírás:

Hibatűrés Majzik István Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék http://www.mit.bme.hu/ 1

Hibatűrés különféle hibák esetén Hardver tervezési hibák (< 1%): Tipikusan nem számítanak rá (jól tesztelt komponensek) Eltérő tervezésű hardver lenne szükséges Hardver állandósult működési hibák (~10%): Hardver redundancia (pl. tartalék processzor) Hardver időleges működési hibák (~70-80%): Szoftver redundancia (pl. állapotmentés és helyreállítás) Idő redundancia (pl. utasítás újravégrehajtás) Információ redundancia (pl. hibajavító kódolás) Szoftver tervezési hibák (~20-30%): Szoftver redundancia (pl. eltérő tervezésű modulok) 2

Hibatűrés szoftver tervezési hibák esetén 39

Szoftver tervezési hibák Ismételt végrehajtás nem segít (állandósult a hiba) Redundáns modulok: Eltérő tervezés szükséges Variánsok: azonos specifikáció, de eltérő algoritmus és/vagy adatstruktúrák (diverzitás) más fejlesztési környezet, programnyelv elszigetelt fejlesztés az azonos hibák bekövetkezésének csökkentésére Variánsok végrehajtásának technikái: N-verziós programozás (NVP: N-version programming) Javító blokkok (RB: Recovery block) N-önellenőrző programozás (NSCP: N-self-checking programming) Önkonfiguráló optimista programozás (SCOP: Self-configuring optimistic programming) 40

1. N-verziós programozás (NVP) Aktív statikus redundancia: Minden variáns végrehajtása (tipikusan párhuzamosan) Ugyanazon bemenetek Többségi szavazás Elfogadható értéktartományt kell megadni a kimenetekre Szavazó egyszeres hibapont (SPOF), de egyszerű Kritikus komponens: Szavazó és a futtató környezet Variáns1 Bemenet Variáns2 Szavazó Kimenet Variáns3 Hibajelzés 41

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

Ö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) Hibák számától függő Redundancia Mindig Csak hiba esetén Tolerált hibák [N/2-1] N-1 Hibakezelés Maszkolás Helyreállítás 43

3. N-önellenőrző programozás (NSCP) Aktív dinamikus redundancia: N számú önellenőrző komponens Hibadetektálás esetén átkapcsolás az elsődlegesről a (következő) önellenőrző tartalékra Jellegzetes példa: Airbus A-320 fedélzeti számítógép Páronként önellenőrző végrehajtás (szoftver variánsok) Elsődleges pár működik, átkapcsolás hiba esetén Állandósult hardver hiba: Ismételten hibázó pár lekapcsol V1 V2 V3 V4 H H H H 44

4. Önkonfiguráló optimista programozás (SCOP) Adaptív redundancia: Csak a szükséges számú variáns Paraméterek: Hány variáns egyetértése (azonos kimenet) szükséges: a Hány variáns van: n Mennyi idő áll rendelkezésre: t Iteratív végrehajtás 1. Kezdetben a minimális számú (várhatóan egyetértő) variáns végrehajtása: a számú variáns 2. Kimenetek ellenőrzése komparálással: k egyezik Ha k=a, akkor kilépés: OK Ha k<a, akkor (optimista módon) a-k újabb variáns végrehajtása az egyetértés eléréséhez, és folytatás a 2. lépéssel Kilépés hibajelzéssel: Ha nincs több végrehajtható variáns, vagy letelt a t idő 45

Adat diverzitás Alapötlet: Azonos feldolgozási algoritmus, de eltérő adatszerkezetű variánsok (implementáció ezért némileg eltérő) Pl. vektor vagy láncolt lista Pl. más adatbázis kezelő, más lekérdezési mód Másolatok (replikák): Azonos szoftver komponensek, de eltérő állapotok lehetnek Pl. numerikus eltérések, más adatbázis példányok Végrehajtási módok: Újrapróbáló blokk (retry block): Javító blokkok analógiája: Passzív redundancia szerinti végrehajtás N másolat (N-copy programming): NVP analógiája: Aktív redundancia szerinti (párhuzamos) végrehajtás 46

RB/1/1 Hibrid architektúrák (áttekintés) Elfogadhatósági teszt után komparálás Diagnosztikai ellenőrzés után a hibás lekapcsol RB/2/1 Elfogadhatósági teszt után szavazás Ismételten eltérő lekapcsol (RB/1/1 lesz) NVP/1/1 Variánsok közötti szavazás Ismételten eltérő lekapcsol (komparálás marad) NVP/2/1 4 variáns esetén szavazás Típus / tolerált hardver állandósult hibák / tolerált szoftver tervezési hibák (maximális) száma Ismételten eltérő lekapcsol, újrakonfigurálás után NVP/1/1 lesz 47

Hibrid architektúrák 1. V1 V2 D RB/1/1 V1 V2 D RB/2/1 V1 V1 V1 V2 V2 V2 D D D = RB/1/1 Elfogadhatósági ellenőrzés után komparálás Diagnosztikai ellenőrzés után a hibás hardver lekapcsol RB/2/1 Elfogadhatósági ellenőrzés után szavazás Ismételten eltérő lekapcsol (RB/1/1 marad) 48

Hibrid architektúrák 2. NVP/1/1 NVP/2/1 V1 V2 V3 V1 V1 V1 D V2 V2 D V2 D D D D D V3 V3 NVP/1/1 Variánsok közötti szavazás Ismételten eltérő lekapcsol (komparálás marad, diagnosztikai ellenőrzéssel) NVP/2/1 4 variáns esetén szavazás Ismételten eltérő lekapcsol (NVP/1/1 konfigurálható) 49

Összefoglalás 50

Hibatűrési technikák összehasonlítása Térbeli redundancia (%) TMR N-verziós programozás Javító blokkok 100 Kettőzés 10 Hibajavító kódolás Állapotmentés és helyreállítás Elosztott állapotmentés és helyreállítás Újrapróbálás Újratöltés Újraindítás 0.001 0.1 10 1000 Időbeli redundancia (s) 51

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

Hibatűrés verifikációja Meghibásodás (hiba) előidézése: Hibainjektálás Modell alapon (tervezés közben): Ellenőrzés szimulációval, modellellenőrzéssel Prototípus esetén (tesztelés, robusztusság tesztelés): Hardver hibainjektálás: Meghibásodás (hibaok) létrehozása: pl. busz jelek befolyásolása, tápfeszültség tüske előidézése, nehézion-besugárzás, hőterhelés Hardverfüggő, lassú, drága Szoftver hibainjektálás: Hibaállapot létrehozása (rendszerállapot megváltoztatása): pl. regiszterek, memóriabitek átállítása Szoftver tervezési hiba bevitele kód mutációval Rugalmas, gyors, olcsóbb Hibaoknak való megfelelés kérdéses Hibrid hibainjektálás Szoftver és hardver megoldások ötvözése 53

Hibainjektáló eszközök (példák) Modell alapú injektálás: VHDL, HDL szint: FOCUS, MEFISTO Komponens szint (CPU, diszk, memória): DEPEND Hardver hibainjektálás: Közvetlen hozzáférés jelekhez: RIFLE, GOOFI Besugárzás (nehéz-ion, neutron), hőkamra Szoftver hibainjektálás: Hardver hibaok hatásának szoftver emulációja: FIAT, FERRARI, FTAPE Alacsony szintű emuláció: DOCTOR, Xception Kód mutációs eszközök: FINE, DEFINE, G-SWFIT Protokoll rétegek hibái: ORCHESTRA, Neko, WS-FIT 54

Ár, valósághűség A hibainjektálás absztrakciós szintjei (hardver) 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 55

Összefoglalás: Hibatűrés technikái 1. Állandósult hardver hibák Hardver redundancia: többszörözés 2. Időleges hardver hibák Információ redundancia: Pl. hibajavító kódolás Idő redundancia: Pl. utasítás ismétlés Szoftver alapú hibatűrés 1. Hibadetektálás 2. Hibahatás felmérés 3. Helyreállítás: visszalépő, előrelépő, kompenzáció 4. Hibaok kezelése 3. Szoftver tervezési hibák Eltérő tervezésű variánsok futtatása: NVP, RB, NSCP, SCOP 56