Kvalitatív hibaterjedési analízis

Preview:

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 Imreikocsis@mit.bme.hu

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