Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék Kvalitatív hibaterjedési analízis Autonóm és hibatűrő információs rendszerek Kocsis Imre 2014
Hibaterjedés Függőségek o erőforráshasználat o adatcsere Hibaterjedés: o erőforrás-állapot o adat o … vagy hiánya
Hibaterjedés függő komponensek között (Laprie et al.: Basic Concepts of and Taxonomy of Dep. And Secure Computing, 2004) Eltérés a hibamentes rendszer viselkedéséhez képest Eltérés a hibamentes rendszer viselkedéséhez képest EPA: az eltérés data flow- szerű terjedését vizsgáljuk Belső és külső hibákra is
4 Problem Dependability and security: Mandated by business needs & regulatory compliance Dependability and security: Mandated by business needs & regulatory compliance Controls: technical, management, operational; checked by audits e.g. Risk Assesment of physical faults Threat Service impact HA only short Cashier outages At most longer service completion Cashier transactionality Maximum business impact IT audit & compliance today Rudimentary Computer Assisted Audit Tools & Techniques (CAATT) labour-intensive work Complexity and system/service change rate rise Continous auditing? Full coverage instead of sampling? IT audit & compliance today Rudimentary Computer Assisted Audit Tools & Techniques (CAATT) labour-intensive work Complexity and system/service change rate rise Continous auditing? Full coverage instead of sampling? The example was radically simplified! BPM: rapidly becoming the norm in some sectors CMDBs: mandated by ITIL v3 (and necessity) Idea: automated dependability and security analysis on existing models Idea: automated dependability and security analysis on existing models
5 Example Single Fault Outage OK Failover DELAYED STUCK DELAYED
Fault Propagation Transformation Calculus
Hibaterjedés modellezésének szintjei
Önálló komponensek: hibaautomata Inputs and outputs: behavior v 0, v 0, v 3, v 2, v 0, … reference v 1, v 0, v 4, v 2, v 0, … actual E 1, E 0, E 2, E 0, E 0, … Kapcsolatok: protokoll- automata saját abc-vel Kompozit-automata: referencia + egy adott mutáció Adathiba: referenciarendszer viselkedésétől eltérés Ill. hipotézise Klasszifikáció: „mérnöki tapasztalat” A végeredmény egy errorokat olvasó és író automata! ( / mutáció)
Pontosítsunk.
Követelménymodellezés
LTL & CTL
LTL
Kompozit modellek „Referencia” és „valódi” (actual) komponens Valódi komponens: o Lehet mutáció (jobbra lent épp nem az) o A bemenetek eltérhetnek a „referencia-futástól” Ötlet: hasonlítsuk össze a kettőt!
Hibahatás-alapú kvalitatív modellezés
Kompozit modell Kompozit modell, mint error-automata: bemeneti és kimeneti változókon predikátumok
18 Példa: Cruise Control
19 {OK, OMISSION, VALUEERR} …,s s3,s s2,s s1,s s0 Példa: Cruise Control
20 {OK, OMISSION, VALUEERR} …,s s3,s s2,s s1,s s0 …,s k3,s k2,s k1,s k0 {OK, OMISSION, VALUEERR} Példa: Cruise Control
21 …,s sp3,s sp2,s sp1,s sp0 {OK, OMISSION, ERRACTIVE, VALUEERR} Példa: Cruise Control
Temporális absztrakció a hibaautomatán Rendszerfutás: hibák sorozatai a kapcsolatokon o „no error” error Lehetséges hiba-futások halmazának particionálása: szindrómák o Időbeli absztrakció o Példa: vegyük a legsúlyosabbat ( „súlyossági” reláció!) Végeredmény: „táblázat” (reláció) a bemeneti/kimeneti szindrómákon (+ belső hibamód) „Overabstraction”: kútfőből építkezve a táblázat akár „hamis” sorokat is tartalmazhat… E 1, E 0, E 2, E 2, E 0, … S5S5
Miért? Dinamikus vizsgálatok korlátai Állapottér-kezelés problémái o precíz modellezés o kompozit rendszerek o lásd modellellenőrzés (Formális módszerek) Modellezési problémák o "fekete doboz" rendszerek Sebesség - valósidejű diagnosztika?
Hibaterjedés statikus leírása Informálisan: dinamika elhagyása Állapot-absztrakció o komponensek belső hibamódja Absztrakció az adatfolyamon o térbeli: kvalitatív hibamódok o időbeli: hiba-futás klasszifikálása o mellékhatás: ütemezés, szinkronitás elvesztése
Elemtípus-szintű hibaterjedés statikus leírása Reláció o bemeneti szindróma-változók o kimeneti szindróma-változók o (belső) hibaállapot Topológia o dinamikus struktúrák modellezése? Valódi pesszimista túlabsztrahálás o „pessimistic overabstraction” o szemantika
Hibaterjedés statikus analízise Kihívások o mérnöki modellezés o kvalitatív hibamódok között teljes rendezés? o Szindróma-készletek kompozicionalitása o leképezés matematikai analízisre o analízis-megoldás illesztése nyílt rendszertervezési és rendszermenedzsment eszközökhöz metamodellezés
Példa
28 Various sensors Speed sensor (km/h) Példa
29 Various sensors Cruise control keypad, boolean status message: Active/inactive Increase CC speed value Decrease CC speed value Példa
30 Various sensors Accelerator pedal sensor (0-100 integer) Példa
31 Various sensors Ignition state sensor (on/off) Példa
32 Various sensors Engine sensor: rotation (1/min) and temperature (Celsius) Példa
33 Cruise control When CC is active, periodically emits simulated pedal positions to keep the speed set. Példa
Engine control Computes necessary fuel valve position. 1.Ignition off: valve = 0 2.Active CC overrides real pedal position if CC >= pedalPosition 3.Engine status influences computation ( protection) Példa
35 Various sensors Cruise control Engine control Fuel valve Példa
Cruise control Példa
Simple existential partitioning of error-runs Example: simulatedPedalPosition error dictionary o OK, OMISSION, ERRACTIVE, VALUEERR Failure category nameDescription OKNo error in the run OMISSION{OK, OMISSION} ω ERRACTIVE{OK, ERRACTIVE} ω VALUEERR{OK, VALUEERR} ω MIXEDAt least two different errors that are not OK Syndromes
Simple existential partitioning of error-runs Example: simulatedPedalPosition error dictionary o OK, OMISSION, ERRACTIVE, VALUEERR Failure category nameDescription OKNo error in the run OMISSION{OK, OMISSION} ω ERRACTIVE{OK, ERRACTIVE} ω VALUEERR{OK, VALUEERR} ω MIXEDAt least two different errors that are not OK Propagation relation: (speed, keyStatus, simPedalPos) (failure) syndromes Syndromes
Simple existential partitioning of error-runs Example: simulatedPedalPosition error dictionary o OK, OMISSION, ERRACTIVE, VALUEERR Failure category nameDescription OKNo error in the run OMISSION{OK, OMISSION} ω ERRACTIVE{OK, ERRACTIVE} ω VALUEERR{OK, VALUEERR} ω MIXEDAt least two different errors that are not OK Will be omitted for sake of simplicity Syndromes
The question to ask: what do we know about the component? 1. Nothing: relation contains all combinations 2. No internal fault modes: for OK inputs OK output 3. Detection of input OMISSIONs o Response? e.g. fail-silent for input OMISSIONs 4. Contextual knowledge: inputs are fail-silent o No VALUEERR and therefore MIXED Syndrome relations
The question to ask: what do we know about the component? 1. Nothing: relation contains all combinations 2. No internal fault modes: for OK inputs OK output 3. Detection of input OMISSIONs o Response? e.g. fail-silent for input OMISSIONs 4. Contextual knowledge: inputs are fail-silent o No VALUEERR and therefore MIXED First ruleset: assumptions Second ruleset: assumptions Szindróma-relációk
Rule IDspeedkeyStatussimSpeedPos CC_1OK CC_2OKOMISSION CC_3OMISSIONOKOMISSION CC_4OMISSION FS szenzor és CC
Rule IDspeedkeyStatussimSpeedPos CC_5OKVALUEERROK, OMISSION, ERRACTIVE, VALUEERR CC_6OMISSIONVALUEERROK, OMISSION, ERRACTIVE, VALUEERR CC_7VALUEERROKOK, VALUEERR CC_8VALUEERROMISSIONOK, OMISSION, VALUEERR CC_9VALUEERR OK, OMISSION, ERRACTIVE, VALUEERR CC FS a kihagyásra
Rule IDspeedkeyStatussimSpeedPos CC_5OKVALUEERROK, OMISSION, ERRACTIVE, VALUEERR CC_6OMISSIONVALUEERROK, OMISSION, ERRACTIVE, VALUEERR CC_7VALUEERROKOK, VALUEERR CC_8VALUEERROMISSIONOK, OMISSION, VALUEERR CC_9VALUEERR OK, OMISSION, ERRACTIVE, VALUEERR + rules CC_1 – CC_4 CC FS a kihagyásra
45 ERRACTIVE Fixed (hypothesis or monitoring) Analízis-példa
46 ERRACTIVE speed = ? keyStatus = ? Analízis-példa
47 ERRACTIVE speed = ? keyStatus = ? We simulate Constraint Satisfaction Problem solving by hand Analízis-példa
48 Rule IDspeedkeyStatussimSpeedPos CC_1OK CC_2OKOMISSION CC_3OMISSIONOKOMISSION CC_4OMISSION CC_5OKVALUEERROK, OMISSION, ERRACTIVE, VALUEERR CC_6OMISSIONVALUEERROK, OMISSION, ERRACTIVE, VALUEERR CC_7VALUEERROKOK, VALUEERR CC_8VALUEERROMISSIONOK, OMISSION, VALUEERR CC_9VALUEERR OK, OMISSION, ERRACTIVE, VALUEERR Analízis-példa
Rule IDspeedkeyStatussimSpeedPos CC_1OK CC_2OKOMISSION CC_3OMISSIONOKOMISSION CC_4OMISSION CC_5OKVALUEERROK, OMISSION, ERRACTIVE, VALUEERR CC_6OMISSIONVALUEERROK, OMISSION, ERRACTIVE, VALUEERR CC_7VALUEERROKOK, VALUEERR CC_8VALUEERROMISSIONOK, OMISSION, VALUEERR CC_9VALUEERR OK, OMISSION, ERRACTIVE, VALUEERR Analízis-példa
Rule IDspeedkeyStatussimSpeedPos CC_1OK CC_2OKOMISSION CC_3OMISSIONOKOMISSION CC_4OMISSION CC_5OKVALUEERROK, OMISSION, ERRACTIVE, VALUEERR CC_6OMISSIONVALUEERROK, OMISSION, ERRACTIVE, VALUEERR CC_7VALUEERROKOK, VALUEERR CC_8VALUEERROMISSIONOK, OMISSION, VALUEERR CC_9VALUEERR OK, OMISSION, ERRACTIVE, VALUEERR {OK, OMISSION, VALUEERR} {VALUEERR} Analízis-példa
speedkeyStatussimSpeedPos OK, OMISSION, VALUEERRVALUEERRERRACTIVE 51 Solution: Conclusion: for a fail-silent cruise control component, we need a fail-silent keypad. Analízis-példa
52 simPedalPos = ? VALUEERR OK Analízis-példa
53 Rule IDspeedkeyStatussimSpeedPos CC_1OK CC_2OKOMISSION CC_3OMISSIONOKOMISSION CC_4OMISSION CC_5OKVALUEERROK, OMISSION, ERRACTIVE, VALUEERR CC_6OMISSIONVALUEERROK, OMISSION, ERRACTIVE, VALUEERR CC_7VALUEERROKOK, VALUEERR CC_8VALUEERROMISSIONOK, OMISSION, VALUEERR CC_9VALUEERR OK, OMISSION, ERRACTIVE, VALUEERR Analízis-példa
54 Rule IDspeedkeyStatussimSpeedPos CC_1OK CC_2OKOMISSION CC_3OMISSIONOKOMISSION CC_4OMISSION CC_5OKVALUEERROK, OMISSION, ERRACTIVE, VALUEERR CC_6OMISSIONVALUEERROK, OMISSION, ERRACTIVE, VALUEERR CC_7VALUEERROKOK, VALUEERR CC_8VALUEERROMISSIONOK, OMISSION, VALUEERR CC_9VALUEERR OK, OMISSION, ERRACTIVE, VALUEERR Conclusion: cruise control masks speed sensor value errors only sometimes Actually when it is inactive Analízis-példa
55 VALUEERR OK OK, VALUEERR Analízis-példa
56 VALUEERR OK OK, VALUEERR OK More involved rules. 1.Normal op.: CC>= pedal uses CC 2.Safe state: valve = 0 3.Can detect OMISSION, but not CC ERRACTIVE Analízis-példa
57 VALUEERR OK OK, VALUEERR OK, ERROPEN, VALUEERR OK Analízis-példa
58 VALUEERR OK OK, VALUEERR OK, ERROPEN, VALUEERR OK Note: in practice this is a one-pass operation; the whole system is translated to a single CSP problem Analízis-példa
59 Possible system outputs: OK, ERROPEN, VALUEERR Conclusion: speed sensor value errors can compromise not only functionality, but system safety. Analízis-példa