Biztonságkritikus beágyazott rendszerek

VIMIMB07  |  Villamosmérnök MSc  |  Kredit: 5

A tárgy oktatói

Majzik István
Majzik István

habilitált docens

tárgyfelelős

Scherer Balázs
Scherer Balázs

mesteroktató

A tantárgy részletes tematikája

1. Biztonságkritikus rendszerek alapfogalmai: Baleset, kockázat, funkcionális biztonság fogalma. A biztonságintegritási szint (SIL). A megbízhatóság, rendelkezésre állás és a biztonságosság kritériumai és mérőszámai. A biztonságosság (safety) és az informatikai biztonság (security) fogalmak különbsége és kapcsolata. A biztonsági szabványok jelentősége.
2. A fejlesztési folyamatok, életciklus modellek és a minőségbiztosítás szerepe: A CMMI és az ASPICE folyamatmodellek áttekintése. A fejlesztést támogató és menedzsment folyamatok beépülése a fejlesztési életciklusba: projekttervezés; követelmények, követhetőség, verziók és konfigurációk kezelése. Hibajegyek és veszélynapló szerepe.
3. Biztonságkritikus rendszerek fejlesztésének tipikus életciklus modelljei a biztonsági szabványok (pl. ISO 26262) és a folyamat szabványok (pl. ASPICE) alapján. A V-modell szerinti fejlesztési életciklus lépései. Az agilis fejlesztési módszerek megjelenése.
4. Az architektúra tervezésének lépései a követelmények analízise alapján: Logikai és technikai architektúra. Hardver és szoftver együttes tervezés. Modell alapú tervezés (pl. Simulink, Stateflow). Hardver és szoftver komponensek specifikálása, tervezése és integrációja.
5. Hardver komponensek hibáinak detektálási és diagnosztikai módszerei (az ISO 26262 alapján), a hibafedés jellemzése. A kommunikációs hibák kezelése.
6. Az architektúra kialakításának tipikus megoldásai biztonságkritikus rendszerek esetén: Architektúrák fail-stop működéshez. Hibatűrő architektúrák állandósult és tranziens hardver hibák esetén. Hibatűrés szoftver tervezési hibák esetén.
7. A veszély analízis módszerei: Hibafa, eseményfa, ok-következmény analízis, hibamód és hatás analízis (FMEA, FMECA) az architektúra alapján. A kockázati mátrix felépítése, az általános kockázatcsökkentési módszerek áttekintése. A biztonságosság (safety) és az informatikai biztonság (security) együttes elvárásai, ezek közös tervezése.
8. Megbízhatósági analízis módszerek: Kombinatorikus modellek használata, a megbízhatósági blokk diagram felépítése. Redundáns architektúrák analízise.
9. Formális modelleken alapuló tervezés és helyességigazolás: Időfüggő viselkedésű beágyazott vezérlők tervezése időzített automatákkal. A követelmények formalizálása temporális logikákkal és verifikációjuk modellellenőrzéssel.
10. A biztonságos szoftver implementációhoz alkalmazott kódolási szabálykészletek, nyelvi korlátozások: A MISRA C szabálykészlet bemutatása.
11. Tesztelési alapfogalmak áttekintése (az ISTQB ajánlásai alapján). A szisztematikus tesztelési folyamat bemutatása. A tesztfedettség mérésének szerepe.
12. Tesztelési és teszttervezési módszerek: Forráskód ellenőrzés (review, hibaminta keresés, kódolási szabályok ellenőrzése). Specifikáció alapú (fekete doboz) tesztelési módszerek. Struktúra alapú (üvegdoboz, vagy fehér doboz) tesztelési módszerek. Beágyazott rendszerekben alkalmazott szürke doboz módszerek.
13. Tesztelési módszerek alkalmazása: Komponens szintű (unit) tesztelés. Integrációs tesztelés inkrementális illetve funkcionális integrációval. A rendszertesztelés és a validációs tesztelés tipikus módszerei. Monitorozás és debuggolás.
14. Integrációs tesztelés model-, software-, processor-, hardware-in-the-loop (MIL, SIL, PIL, HIL) módszerekkel. A hibakezelés és hibatűrés tesztelése. A Continuous Integration megjelenése és alkalmazása beágyazott rendszerek esetében.