Upload
shana
View
45
Download
2
Embed Size (px)
DESCRIPTION
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. - PowerPoint PPT Presentation
Citation preview
Budapesti Műszaki és Gazdaságtudományi EgyetemMé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 [email protected]
2013.10.14.
Hibaterjedés
Hardware resourcesSoftware Elements
Service Architecture
Függőségeko erőforráshasználato adatcsere
Hibaterjedés:o erőforrás-állapoto adato … 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
EPA: az eltérés data flow-szerű terjedését vizsgáljuk
Belső és külső hibákra is
Önálló komponensek: hibaautomata
generic infrastructure
element
Inputs and outputs: behavior
v0, v0, v3, v2, v0, … reference
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 egy errorokat olvasó és író automata! ( / mutáció)
Pontosítsunk. Legyen egy (al)rendszer „doménje”
o Tipikusan <bemeneti-belső-kimeneti> változó-vektor Tranzíciós rendszer:
o : állapottér, kezdőállapotoko : tranzíciós reláció
Alternatív leírás: őrfeltételek az állapotot adó változókono Elsőrendű logika
„Programszerű” modellezés: PC változó!o 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ő)
o X: „holds neXt time”o F: „holds simetimes in the Future”o G: „holds Globally”o U: „holds Until”
„Branching time”: pl. CTLo CTL: „innen” minden/legalább egy nyomra
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!
Kompozit modell
Kompozit modell, mint error-automata: bemeneti és kimeneti változókon predikátumok
11
Példa: Cruise Control
12
{OK, OMISSION, VALUEERR}
…,ss3,ss2,ss1,ss0
Példa: Cruise Control
13
{OK, OMISSION, VALUEERR}
…,ss3,ss2,ss1,ss0
…,sk3,sk2,sk1,sk0
{OK, OMISSION, VALUEERR}
Példa: Cruise Control
14
…,ssp3,ssp2,ssp1,ssp0
{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áko 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…
E1, E0, E2, E2, E0, …
S5
Miért? Dinamikus vizsgálatok korlátai Állapottér-kezelés problémái
o precíz modellezéso kompozit rendszereko lásd modellellenőrzés (Formális módszerek)
Modellezési problémáko "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ódoko időbeli: hiba-futás klasszifikálásaomellé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óko kimeneti szindróma-változóko (belső) hibaállapot
Topológiao dinamikus struktúrák modellezése?
Valódi pesszimista túlabsztraháláso „pessimistic overabstraction”o szemantika
Hibaterjedés statikus analízise Kihívások
omérnöki modellezéso kvalitatív hibamódok között teljes rendezés?o Szindróma-készletek kompozicionalitásao leképezés matematikai analízisreo analízis-megoldás illesztése nyílt rendszertervezési és
rendszermenedzsment eszközökhöz• metamodellezés
Példa
21
Various sensors
Speed sensor (km/h)
Példa
22
Various sensors
Cruise control keypad, boolean status message:Active/inactiveIncrease CC speed valueDecrease CC speed value
Példa
23
Various sensors
Accelerator pedal sensor (0-100 integer)
Példa
24
Various sensors
Ignition state sensor (on/off)
Példa
25
Various sensors
Engine sensor: rotation (1/min) and temperature (Celsius)
Példa
26
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 = 02. Active CC overrides real pedal position if CC >= pedalPosition3. Engine status influences computation (protection)
Példa
28
Various sensors
Cruise control
Engine controlFuel valve
Példa
Cruise control
Példa
Simple existential partitioning of error-runs Example: simulatedPedalPosition error dictionary
o OK, OMISSION, ERRACTIVE, VALUEERR
Failure category name DescriptionOK No error in the runOMISSION {OK, OMISSION}ω
ERRACTIVE {OK, ERRACTIVE}ω
VALUEERR {OK, VALUEERR}ω
MIXED At least two different errors that are not OK
Syndromes
Simple existential partitioning of error-runs Example: simulatedPedalPosition error dictionary
o OK, OMISSION, ERRACTIVE, VALUEERRFailure category name DescriptionOK No error in the runOMISSION {OK, OMISSION}ω
ERRACTIVE {OK, ERRACTIVE}ω
VALUEERR {OK, VALUEERR}ω
MIXED At 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, VALUEERRFailure category name DescriptionOK No error in the runOMISSION {OK, OMISSION}ω
ERRACTIVE {OK, ERRACTIVE}ω
VALUEERR {OK, VALUEERR}ω
MIXED At 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 OMISSIONso Response? e.g. fail-silent for input OMISSIONs
4. Contextual knowledge: inputs are fail-silento 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 OMISSIONso Response? e.g. fail-silent for input OMISSIONs
4. Contextual knowledge: inputs are fail-silento No VALUEERR and therefore MIXED
First ruleset: assumptions 2. + 3. + 4.
Second ruleset: assumptions 2. + 3.
Szindróma-relációk
Rule ID speed keyStatus simSpeedPos
CC_1 OK OK OK
CC_2 OK OMISSION OMISSION
CC_3 OMISSION OK OMISSION
CC_4 OMISSION OMISSION OMISSION
FS szenzor és CC
Rule ID speed keyStatus simSpeedPos
CC_5 OK VALUEERR OK, OMISSION, ERRACTIVE, VALUEERR
CC_6 OMISSION VALUEERR OK, OMISSION, ERRACTIVE, VALUEERR
CC_7 VALUEERR OK OK, VALUEERR
CC_8 VALUEERR OMISSION OK, OMISSION, VALUEERR
CC_9 VALUEERR VALUEERR OK, OMISSION, ERRACTIVE, VALUEERR
CC FS a kihagyásra
Rule ID speed keyStatus simSpeedPos
CC_5 OK VALUEERR OK, OMISSION, ERRACTIVE, VALUEERR
CC_6 OMISSION VALUEERR OK, OMISSION, ERRACTIVE, VALUEERR
CC_7 VALUEERR OK OK, VALUEERR
CC_8 VALUEERR OMISSION OK, OMISSION, VALUEERR
CC_9 VALUEERR VALUEERR OK, OMISSION, ERRACTIVE, VALUEERR
+ rules CC_1 – CC_4
CC FS a kihagyásra
38
ERRACTIVE
Fixed (hypothesis or monitoring)
Analízis-példa
39
ERRACTIVE
speed = ?
keyStatus = ?
Analízis-példa
40
ERRACTIVE
speed = ?
keyStatus = ?
We simulate Constraint Satisfaction Problem solving by hand
Analízis-példa
41
Rule ID speed keyStatus simSpeedPos
CC_1 OK OK OK
CC_2 OK OMISSION OMISSION
CC_3 OMISSION OK OMISSION
CC_4 OMISSION OMISSION OMISSION
CC_5 OK VALUEERR OK, OMISSION, ERRACTIVE, VALUEERR
CC_6 OMISSION VALUEERR OK, OMISSION, ERRACTIVE, VALUEERR
CC_7 VALUEERR OK OK, VALUEERR
CC_8 VALUEERR OMISSION OK, OMISSION, VALUEERR
CC_9 VALUEERR VALUEERR OK, OMISSION, ERRACTIVE, VALUEERR
Analízis-példa
Rule ID speed keyStatus simSpeedPos
CC_1 OK OK OK
CC_2 OK OMISSION OMISSION
CC_3 OMISSION OK OMISSION
CC_4 OMISSION OMISSION OMISSION
CC_5 OK VALUEERR OK, OMISSION, ERRACTIVE, VALUEERR
CC_6 OMISSION VALUEERR OK, OMISSION, ERRACTIVE, VALUEERR
CC_7 VALUEERR OK OK, VALUEERR
CC_8 VALUEERR OMISSION OK, OMISSION, VALUEERR
CC_9 VALUEERR VALUEERR OK, OMISSION, ERRACTIVE, VALUEERR
Analízis-példa
Rule ID speed keyStatus simSpeedPos
CC_1 OK OK OK
CC_2 OK OMISSION OMISSION
CC_3 OMISSION OK OMISSION
CC_4 OMISSION OMISSION OMISSION
CC_5 OK VALUEERR OK, OMISSION, ERRACTIVE, VALUEERR
CC_6 OMISSION VALUEERR OK, OMISSION, ERRACTIVE, VALUEERR
CC_7 VALUEERR OK OK, VALUEERR
CC_8 VALUEERR OMISSION OK, OMISSION, VALUEERR
CC_9 VALUEERR VALUEERR OK, OMISSION, ERRACTIVE, VALUEERR
{OK,OMISSION,VALUEERR}
{VALUEERR}
Analízis-példa
speed keyStatus simSpeedPos
OK, OMISSION, VALUEERR VALUEERR ERRACTIVE
44
Solution:
Conclusion:• for a fail-silent cruise control component, • we need a fail-silent keypad.
Analízis-példa
45
simPedalPos = ?
VALUEERR
OK
Analízis-példa
46
Rule ID speed keyStatus simSpeedPos
CC_1 OK OK OK
CC_2 OK OMISSION OMISSION
CC_3 OMISSION OK OMISSION
CC_4 OMISSION OMISSION OMISSION
CC_5 OK VALUEERR OK, OMISSION, ERRACTIVE, VALUEERR
CC_6 OMISSION VALUEERR OK, OMISSION, ERRACTIVE, VALUEERR
CC_7 VALUEERR OK OK, VALUEERR
CC_8 VALUEERR OMISSION OK, OMISSION, VALUEERR
CC_9 VALUEERR VALUEERR OK, OMISSION, ERRACTIVE, VALUEERR
Analízis-példa
47
Rule ID speed keyStatus simSpeedPos
CC_1 OK OK OK
CC_2 OK OMISSION OMISSION
CC_3 OMISSION OK OMISSION
CC_4 OMISSION OMISSION OMISSION
CC_5 OK VALUEERR OK, OMISSION, ERRACTIVE, VALUEERR
CC_6 OMISSION VALUEERR OK, OMISSION, ERRACTIVE, VALUEERR
CC_7 VALUEERR OK OK, VALUEERR
CC_8 VALUEERR OMISSION OK, OMISSION, VALUEERR
CC_9 VALUEERR VALUEERR OK, OMISSION, ERRACTIVE, VALUEERR
Conclusion: cruise control masks speed sensor value errors only sometimes Actually when it is inactive
Analízis-példa
48
VALUEERR
OK
OK, VALUEERR
Analízis-példa
49
VALUEERR
OK
OK, VALUEERR
OK
More involved rules.1. Normal op.: CC>= pedal uses CC2. Safe state: valve = 03. Can detect OMISSION, but not CC ERRACTIVE
Analízis-példa
50
VALUEERR
OK
OK, VALUEERR
OK, ERROPEN, VALUEERR
OK
Analízis-példa
51
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
52
Possible system outputs: OK, ERROPEN, VALUEERR
Conclusion: speed sensor value errors can compromise not only functionality, but system safety.
Analízis-példa
53
Problem
Form processing
Money takeover
Record transaction
Largetransaction?
Receipt
Launderingsuspected?
Client checkedearlier? Perform full
checkFlag & report
Power6
Compliance DB
Domino
N
N
N
Y
Y
Y
Cashier Module
AppServ3 VM
DB
xSeries Blade Farm
VMware HA
Customer & Account Identification
AppServ1 AppServ2
DB1 DB2
Power6 xSeries WebSphere AS clusterDependability and security:
Mandated by business needs & regulatory complianceControls: 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?
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
54
Example
Form processing
Money takeover
Record transaction
Largetransaction?
Receipt
Launderingsuspected?
Client checkedearlier? Perform full
checkFlag & report
Power6
Compliance DB
Domino
N
N
N
Y
Y
Y
Cashier Module
AppServ3 VM
DB
xSeries Blade Farm
VMware HA
Customer & Account Identification
AppServ1 AppServ2
DB1 DB2
Power6 xSeries WebSphere AS cluster
SingleFault
Fault
Outage
OK
Failover
DELAYED
STUCK
DELAYED