540 likes | 654 Views
Kvalitatív hibaterjedési analízis. Autonóm és hibatűrő információs rendszerek Kocsis Imre ikocsis @ mit.bme.hu 2013.10.14. Hibaterjedés. Függőségek erőforráshasználat adatcsere Hibaterjedés: erőforrás-állapot adat … vagy hiánya. Hibaterjedés függő komponensek között.
E N D
Kvalitatív hibaterjedési analízis Autonóm és hibatűrő információs rendszerek Kocsis Imre ikocsis@mit.bme.hu 2013.10.14.
Hibaterjedés • Függőségek • erőforráshasználat • adatcsere • Hibaterjedés: • erőforrás-állapot • adat • … vagy hiánya
Hibaterjedés függő komponensek között EPA: az eltérés data flow-szerű terjedését vizsgáljuk Eltérés a hibamentes rendszer viselkedéséhez képest Belső és külső hibákra is (Laprie et al.: Basic Concepts of and Taxonomy of Dep. And SecureComputing, 2004)
Önálló komponensek: hibaautomata v1, v0, v4, v2, v0, … actual E1, E0, E2, E0, E0, … • 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 egyerrorokat olvasó és író automata! ( / mutáció) Inputs and outputs: behavior v0, v0, v3, v2, v0, … reference
Pontosítsunk. • Legyen egy (al)rendszer „doménje” • Tipikusan <bemeneti-belső-kimeneti> változó-vektor • Tranzíciós rendszer: • : állapottér, kezdőállapotok • : tranzíciós reláció • Alternatív leírás: őrfeltételek az állapotot adó változókon • Elsőrendű logika • „Programszerű” modellezés: PC változó! • Control Flow Graph
Követelménymodellezés • Kripke struktúra: • : „labeling” atomi kijelentésekkel • Temporális logikák: követelmények futásokon • LTL: „idővonalak” (lineáris idő) • X: „holdsneXttime” • F: „holdssimetimesintheFuture” • G: „holdsGlobally” • U: „holdsUntil” • „Branchingtime”: pl. CTL • CTL: „innen” minden/legalább egy nyomra
Kompozit modellek • „Referencia” és „valódi” (actual) komponens • Valódi komponens: • Lehet mutáció (jobbra lent épp nem az) • A bemenetek eltérhetnek a „referencia-futástól” • Ötlet: hasonlítsuk össze a kettőt!
Kompozit modell Kompozit modell, mint error-automata: bemeneti és kimeneti változókon predikátumok
Példa: CruiseControl {OK, OMISSION, VALUEERR} …,ss3,ss2,ss1,ss0
Példa: CruiseControl {OK, OMISSION, VALUEERR} …,ss3,ss2,ss1,ss0 …,sk3,sk2,sk1,sk0 {OK, OMISSION, VALUEERR}
Példa: CruiseControl {OK, OMISSION, ERRACTIVE, VALUEERR} …,ssp3,ssp2,ssp1,ssp0
Temporális absztrakció a hibaautomatán E1, E0, E2, E2, E0, … • Rendszerfutás: hibák sorozatai a kapcsolatokon • „no error” error • Lehetséges hiba-futások halmazának particionálása: szindrómák • Időbeli absztrakció • 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… S5
Miért? Dinamikusvizsgálatokkorlátai • Állapottér-kezelésproblémái • precízmodellezés • kompozitrendszerek • lásdmodellellenőrzés (Formálismódszerek) • Modellezésiproblémák • "feketedoboz" rendszerek • Sebesség - valósidejűdiagnosztika?
Hibaterjedés statikus leírása • Informálisan: dinamikaelhagyása • Állapot-absztrakció • komponensekbelsőhibamódja • Absztrakcióazadatfolyamon • térbeli: kvalitatívhibamódok • időbeli: hiba-futásklasszifikálása • mellékhatás: ütemezés, szinkronitáselvesztése
Elemtípus-szintű hibaterjedés statikus leírása • Reláció • bemeneti szindróma-változók • kimeneti szindróma-változók • (belső) hibaállapot • Topológia • dinamikus struktúrák modellezése? • Valódi pesszimista túlabsztrahálás • „pessimistic overabstraction” • szemantika
Hibaterjedés statikus analízise • Kihívások • mérnöki modellezés • kvalitatív hibamódok között teljes rendezés? • Szindróma-készletek kompozicionalitása • leképezés matematikai analízisre • analízis-megoldás illesztése nyílt rendszertervezési és rendszermenedzsment eszközökhöz • metamodellezés
Példa Speedsensor (km/h) Varioussensors
Példa Cruisecontrolkeypad, boolean status message: Active/inactive Increase CC speedvalue Decrease CC speedvalue Varioussensors
Példa Acceleratorpedalsensor (0-100 integer) Varioussensors
Példa Ignitionstatesensor (on/off) Varioussensors
Példa Enginesensor: rotation (1/min) and temperature (Celsius) Varioussensors
Példa Cruisecontrol When CC is active, periodicallyemitssimulatedpedalpositionstokeepthespeedset.
Példa Enginecontrol Computesnecessaryfuelvalveposition. Ignitionoff: valve = 0 Active CC overridesrealpedalpositionifCC >= pedalPosition Engine status influencescomputation (protection)
Példa Cruisecontrol Fuelvalve Enginecontrol Varioussensors
Példa Cruisecontrol
Syndromes • Simpleexistentialpartitioning of error-runs • Example: simulatedPedalPositionerrordictionary • OK, OMISSION, ERRACTIVE, VALUEERR
Syndromes • Simpleexistentialpartitioning of error-runs • Example: simulatedPedalPositionerrordictionary • OK, OMISSION, ERRACTIVE, VALUEERR Propagationrelation: (speed, keyStatus, simPedalPos) (failure) syndromes
Syndromes • Simpleexistentialpartitioning of error-runs • Example: simulatedPedalPositionerrordictionary • OK, OMISSION, ERRACTIVE, VALUEERR Will be omittedforsake of simplicity
Syndrome relations The questiontoask: whatdoweknowaboutthecomponent? • 1. Nothing: relationcontainsallcombinations • 2. No internal fault modes: for OK inputsOK output • 3. Detection of input OMISSIONs • Response? e.g. fail-silentfor input OMISSIONs • 4. Contextualknowledge: inputsarefail-silent • No VALUEERR and therefore MIXED
Szindróma-relációk The questiontoask: whatdoweknowaboutthecomponent? • 1. Nothing: relationcontainsallcombinations • 2. No internal fault modes: for OK inputsOK output • 3. Detection of input OMISSIONs • Response? e.g. fail-silentfor input OMISSIONs • 4. Contextualknowledge: inputsarefail-silent • No VALUEERR and therefore MIXED Firstruleset: assumptions 2. + 3. + 4. Secondruleset: assumptions 2. + 3.
CC FS a kihagyásra + rules CC_1 – CC_4
Analízis-példa ERRACTIVE Fixed (hypothesisor monitoring)
Analízis-példa speed = ? ERRACTIVE keyStatus = ?
Analízis-példa speed = ? ERRACTIVE keyStatus = ? Wesimulate ConstraintSatisfactionProblemsolvingbyhand
Analízis-példa {OK, OMISSION, VALUEERR} {VALUEERR}
Analízis-példa • Solution: • Conclusion: • for a fail-silentcruisecontrolcomponent, • weneed a fail-silentkeypad.
Analízis-példa VALUEERR simPedalPos = ? OK
Analízis-példa • Conclusion: cruisecontrolmasksspeedsensorvalueerrorsonlysometimes • Actuallywhenit is inactive
Analízis-példa VALUEERR OK, VALUEERR OK
Analízis-példa VALUEERR OK, VALUEERR OK OK More involvedrules. Normal op.: CC>= pedal uses CC Safestate: valve = 0 Candetect OMISSION, butnot CC ERRACTIVE
Analízis-példa VALUEERR OK, VALUEERR OK OK OK, ERROPEN, VALUEERR