diagnosztikai problémák megoldása t-invariáns analízissel
DESCRIPTION
Diagnosztikai problémák megoldása T-invariáns analízissel. dr. Bartha Tamás [email protected] Varr ó-Gyapay Szilvia gy a pay @mit.bme.hu BME Méréstechnika és Információs Rendszerek Tanszék. - PowerPoint PPT PresentationTRANSCRIPT
2005.03.17. Formális módszerek az informatikában 2004/2005. 1
Diagnosztikai problémák megoldása T-invariáns
analízissel
dr. Bartha Tamá[email protected]
Varró-Gyapay [email protected]
BME Méréstechnika és Információs Rendszerek Tanszék
L.Portinale: Exploiting T-invariant Analysis in Diagnostic Reasoning on a Petri Net Model, LNCS 691, Springer, 1993 alapján
2005.03.17. Formális módszerek az informatikában 2004/2005. 2
A diagnosztikai probléma
• Modell-bázisú diagnosztika:
– BM: viselkedési modell (kauzalitási modell) : lehetséges hibák halmaza +: megfigyelhető jelenségek -: megfigyelések által kizárt jelenségek
, , ,DP BM
2005.03.17. Formális módszerek az informatikában 2004/2005. 3
A diagnosztikai probléma (folyt.)
• Diagnosztikai probléma formális definíciója:– D: megfigyelésekből származó adatok– H: diagnosztikai megoldás vagy magyarázat
(hipotézis)
, , ,DP BM
,n BM H n
,D D ,m BM H m
konzisztencia-bázisú diagnosztika
abduktív diagnosztika
2005.03.17. Formális módszerek az informatikában 2004/2005. 4
Viselkedés modellek
• Kauzalitási modell: állapotok + következmények– rendszermodell: leírja a viselkedést nominális esetben– megbízhatósági modell: rendszermodell + hibák
jelenlétében mutatott viselkedés (finomítással)– hibamodell: csak a hibák esetén mutatott viselkedés
• Hibamodell– kezdeti állapotok (külső zavaró hatás): nincs előzmény– belső állapotok: nem figyelhetők meg– manifesztációk: megfigyelhető hibajelenségek– fault error failure– következmények: hibaterjedési mechanizmusok
2005.03.17. Formális módszerek az informatikában 2004/2005. 5
Definit logikai program
• Definit logikai program: definit klózok halmaza– definit klózok: A1 A2 … An B
– A1, A2, … An, B ponált logikai változók (predikátumok)
– definit klózok negálásmentesek!– kezdeti állapot: C típusú logikai állítás
– célállítás: D1 D2 … Dk típusú logikai állítás
• Murata tételei:– Definit logikai program reprezentálható Petri
hálóval– Klózrendszer megoldása a megfeleltetett Petri
háló minimális alapú T-invariánsainak megkeresése
2005.03.17. Formális módszerek az informatikában 2004/2005. 6
Petri-háló alapú viselkedés modellek
• Definit logikai programnak megfelel egy Petri-háló:– logikai változók: helyek
– tények kezdeti állapot: forrás tüzelések egy helyre
– definit klózok: átmenetek• (több) bemeneti hely a logikai előfeltétel változó
• (egy) kimeneti hely a következmény változó
– célállítás: nyelő tüzelés
( ), ( )IS p v p initial_state v modeled_values p
2005.03.17. Formális módszerek az informatikában 2004/2005. 7
Diagnosztikai Petri háló elemei
C D A1 A2 B1 A3 A4 B2
C D
A1 A2
B1
A3 A4
B2
… … …
…
tény definit klóz alternatívokok
megfigyelés
2005.03.17. Formális módszerek az informatikában 2004/2005. 8
Viselkedés modell transzformálása
Bemenet: teljes viselkedési modell CBM = BM ISKimenet: Petri-háló modell PN = (P, T, E, M0)P T E for i 1 to klózok_száma(CBM )
i -ik klóz beolvasása
if p1 p2 … pn p az i -ik klóz thenT T {ti }
P P {p1, p2, …, pn, p }
E E {(p1, ti ); (p2, ti ); …; (pn, ti ); (ti , p )}
end if
end for
2005.03.17. Formális módszerek az informatikában 2004/2005. 9
Példa: kezdeti állapotok
Kezdeti állapotok:– piston_state: értékkészlet = {normal, worn}– ground_clearance: értékkészlet = {normal,
low}– oil_sump_state: értékkészlet = {normal, worn}– spark_plug_mileage: értékkészlet = {normal,
high}– carbur_tuning: értékkészlet = {regular, irreg}
2005.03.17. Formális módszerek az informatikában 2004/2005. 10
Diagnosztikai Petri háló: kezdeti állapotok
piston_state(worn)
oil_consumption(high)
exhaust_smoke(black)
oil_light(on)
oil_lack(intense)
oil_sump_state(worn) ground_clearance(low)
hole_in_oil_sump(yes)
spark_plug_mileage(high)
spark_ign(irreg)
engine_temp(high) carbur_tuning(irreg)
t1 t2
t3
t5
t6 t7 t8
t9
t10
2005.03.17. Formális módszerek az informatikában 2004/2005. 11
Példa: belső állapotok
Belső állapotok:– oil_consumption: értékkészlet = {normal,
high}– oil_sump: értékkészlet = {normal, holed}– oil_lack: értékkészlet = {normal, intense}– engine_temp: értékkészlet = {normal, high}– incr_cool_temp: értékkészlet = {normal, high}– cool_leakage: értékkészlet = {absent, high}– spark_ign: értékkészlet = {normal, irreg}– mixt: értékkészlet = {regular, irreg}– mixt_ign: értékkészlet = {normal, irreg}
2005.03.17. Formális módszerek az informatikában 2004/2005. 12
Példa: hibajelenségek
Hibajelenségek (manifesztációk):– exhaust_smoke: értékkészlet = {normal,
black}– hole_in_oil_sump: értékkészlet = {no, yes}– oil_light: értékkészlet = {off, on}– temp_indic: értékkészlet = {normal, red}– smoke_from_eng: értékkészlet = {no, yes}– acc_resp: értékkészlet = {normal, irreg}
2005.03.17. Formális módszerek az informatikában 2004/2005. 13
Diagnosztikai Petri háló: hibajelenségek
oil_consumption(high)
exhaust_smoke(black)
oil_light(on)
oil_lack(intense)
hole_in_oil_sump(yes)
smoke_from_eng(yes)
cool_leakage(high)
spark_ign(irreg)
engine_temp(high) carbur_tuning(irreg)
incr_cool_temp(high) mixt(irreg)
mixt_ign(irreg)
acc_resp(irreg)temp_indic(red)
t4
t5
t6 t7 t8
t9
t10
t11
t12t13
t14
t15
t16
t17
2005.03.17. Formális módszerek az informatikában 2004/2005. 14
Példa: viselkedési modell
piston_state(worn) oil_consumption(high)ground_clearance(low) oil_sump_state(worn) oil_sump(holed)spark_plug_mileage(high) spark_ign(irreg)oil_consumption(high) exhaust_smoke(black)oil_consumption(high) oil_lack(intense)oil_sump(holed) oil_lack(intense)oil_sump(holed) hole_in_oil_sump(yes)engine_temp(high) incr_cool_temp(high)incr_cool_temp(high) temp_indic(high)incr_cool_temp(high) cool_leakage(high)cool_leakage(high) smoke_from_eng(yes)carbur_tuning(irreg) engine_temp(high) mixt(irreg)mixt(irreg) mixt_ign(irreg)mixt_ign(irreg) acc_resp(irreg)
2005.03.17. Formális módszerek az informatikában 2004/2005. 15
Teljes diagnosztikai Petri hálópiston_state(worn)
oil_consumption(high)
exhaust_smoke(black)
oil_light(on)
oil_lack(intense)
oil_sump_state(worn) ground_clearance(low)
hole_in_oil_sump(yes)
smoke_from_eng(yes)
cool_leakage(high)
spark_plug_mileage(high)
spark_ign(irreg)
engine_temp(high) carbur_tuning(irreg)
incr_cool_temp(high) mixt(irreg)
mixt_ign(irreg)
acc_resp(irreg)temp_indic(red)
t1 t2
t3
t4
t5
t6 t7 t8
t9
t10
t11
t12t13
t14
t15
t16
t17
2005.03.17. Formális módszerek az informatikában 2004/2005. 16
Példa: kezdőállapot és megfigyelések
• Kezdőállapot: piston_state(worn) oil_sump_state(worn) ground_clearance(low) spark_plug_mileage(high) carbur_tuning(irreg)
• Megfigyelések (manifesztációk):– oil_light(on)– hole_in_oil_sump(no)– temp_indic(red)– acc_resp(normal)
exhaust_smoke,smoke_from_eng:nem figyelhetők meg,nem érzékelhetők
2005.03.17. Formális módszerek az informatikában 2004/2005. 17
Példa: modell és konzisztencia feltételek
• Hibamodell, a normál működést nem tartalmazza
• Megfigyelések:– oil_light(on)– hole_in_oil_sump(no)– temp_indic(red)– acc_resp(normal)
• Konzisztencia feltételek: + = {oil_light(on), temp_indic(red)} - = {hole_in_oil_sump(yes), acc_resp(irreg)
2005.03.17. Formális módszerek az informatikában 2004/2005. 18
Megfigyelésekkel kiegészített diagnosztikai Petri-háló modell
piston_state(worn)
oil_consumption(high)
exhaust_smoke(black)
oil_light(on)oil_lack(intense)
oil_sump_state(worn) ground_clearance(low)
hole_in_oil_sump(yes)
smoke_from_eng(yes)
cool_leakage(high)
spark_plug_mileage(high)
spark_ign(irreg)
engine_temp(high) carbur_tuning(irreg)
incr_cool_temp(high) mixt(irreg)
mixt_ign(irreg)
acc_resp(irreg)temp_indic(red)
t1
tpsw tossw tgcl tspmh
t2
t3
t4
t5
t6 t7 t8
t9
t10
t11
t12t13
t14
tcti
t15
t16
t17
ttir tari
tolo
thosy
2005.03.17. Formális módszerek az informatikában 2004/2005. 19
T-invariáns analízis alkalmazása
• T-invariáns jelentősége:– teljes tüzelési szekvencia során nem marad
token• kezdeti állapotok tokeneket juttatnak a modellbe
• tokenek a belső állapotokon keresztül terjednek
• célállításnak megfelelő nyelő tüzelés kiüríti a hálót
– diagnosztika: minimális alapú T-invariánsok keresése
2005.03.17. Formális módszerek az informatikában 2004/2005. 20
Konzisztencia feltételek
• Megfigyelésekhez tartozó tranzíciók:– T + = {tolo , ttir}
– T - = {thosy , tari}
• Konzisztencia feltételek figyelembe vétele– inkonzisztencia:
– (részleges) pozitív megoldás:
– (részleges) negatív megoldás:
sup( ) sup( )T T
sup( ) T
sup( ) T
2005.03.17. Formális módszerek az informatikában 2004/2005. 21
Minimális alapú T-invariánsok
1 = {tossw, tgcl, t2, t7, t10, t11, t12, ttir}
2 = {tossw, tgcl, t2, t7, t9, tolo}
3 = {tpsw, t1, t6, t10, t11, t12, ttir}
4 = {tpsw, t1, t6, t9, tolo}
5 = {tossw, tgcl, t2, t8, thosy}
6 = {tossw, tcti, t1, t6, t10, t15, t16, t17, tari}
7 = {tossw, tgcl, tcti, t2, t7, t10, t15, t16, t17, tari}
8 = {tspmh, t3, t4, t17, tari}
2005.03.17. Formális módszerek az informatikában 2004/2005. 22
Diagnosztikai algoritmus, 1.rész
Bemenet: PND = (P, {TIS,T ‘,T +,T -}, E, M0)
Kimenet: diagnosztikai megoldások H halmaza
L PND T-invariánsai minimális alapjainak listája
for all t T -
for all L t DT {t’ TIS t’ }
for all TIS, fedi DT –t
-ot tartalmazó invariáns törlése L –ből
end for
end for
end for
2005.03.17. Formális módszerek az informatikában 2004/2005. 23
Diagnosztikai algoritmus végrehajtása
T IS = {tossw, tgcl, tpsw, tcti, tspmh}
T + = {tolo, ttir}
T - = {thosy, tari}
1 = {tossw, tgcl, t2, t7, t10, t11, t12, ttir}
2 = {tossw, tgcl, t2, t7, t9, tolo}
3 = {tpsw, t1, t6, t10, t11, t12, ttir}
4 = {tpsw, t1, t6, t9, tolo}
5 = {tossw, tgcl, t2, t8, thosy}
6 = {tossw, tcti, t1, t6, t10, t15, t16, t17, tari}
7 = {tossw, tgcl, tcti, t2, t7, t10, t15, t16, t17, tari}8 = {tspmh, t3, t4, t17, tari}
2005.03.17. Formális módszerek az informatikában 2004/2005. 24
Diagnosztikai algoritmus végrehajtása
T IS = {tossw, tgcl, tpsw, tcti, tspmh}
T + = {tolo, ttir}
T - = {thosy, tari}
1 = {tossw, tgcl, t2, t7, t10, t11, t12, ttir}
2 = {tossw, tgcl, t2, t7, t9, tolo}
3 = {tpsw, t1, t6, t10, t11, t12, ttir}
4 = {tpsw, t1, t6, t9, tolo}
5 = {tossw, tgcl, t2, t8, thosy}
6 = {tossw, tcti, t1, t6, t10, t15, t16, t17, tari}
7 = {tossw, tgcl, tcti, t2, t7, t10, t15, t16, t17, tari}
8 = {tspmh, t3, t4, t17, tari}
2005.03.17. Formális módszerek az informatikában 2004/2005. 25
Diagnosztikai algoritmus végrehajtása
T IS = {tossw, tgcl, tpsw, tcti, tspmh}
T + = {tolo, ttir}
T - = {thosy, tari}
3 = {tpsw, t1, t6, t10, t11, t12, ttir}
4 = {tpsw, t1, t6, t9, tolo}
6 = {tossw, tcti, t1, t6, t10, t15, t16, t17, tari}
8 = {tspmh, t3, t4, t17, tari}
2005.03.17. Formális módszerek az informatikában 2004/2005. 26
Diagnosztikai algoritmus végrehajtása
T IS = {tossw, tgcl, tpsw, tcti, tspmh}
T + = {tolo, ttir}
T - = {thosy, tari}
3 = {tpsw, t1, t6, t10, t11, t12, ttir}
4 = {tpsw, t1, t6, t9, tolo}
2005.03.17. Formális módszerek az informatikában 2004/2005. 27
Diagnosztikai algoritmus, 2. rész
X
for all t T +
H’ for all L t
IT {t’ TIS t’ }
H’ H’ {IT }
end for
X X {H’ }
end for
X elemeinek kombinációi adják a H halmazt
2005.03.17. Formális módszerek az informatikában 2004/2005. 28
Diagnosztikai algoritmus végrehajtása
T IS = {tossw, tgcl, tpsw, tcti, tspmh}
T + = {tolo, ttir}
T - = {thosy, tari}
3 = {tpsw, t1, t6, t10, t11, t12, ttir}
4 = {tpsw, t1, t6, t9, tolo}
H’ =
X =
2005.03.17. Formális módszerek az informatikában 2004/2005. 29
Diagnosztikai algoritmus végrehajtása
T IS = {tossw, tgcl, tpsw, tcti, tspmh}
T + = {tolo, ttir}
T - = {thosy, tari}
3 = {tpsw, t1, t6, t10, t11, t12, ttir}
4 = {tpsw, t1, t6, t9, tolo}
H’ = {tpsw}
X = {tpsw}
2005.03.17. Formális módszerek az informatikában 2004/2005. 30
Diagnosztikai algoritmus végrehajtása
T IS = {tossw, tgcl, tpsw, tcti, tspmh}
T + = {tolo, ttir}
T - = {thosy, tari}
3 = {tpsw, t1, t6, t10, t11, t12, ttir}
4 = {tpsw, t1, t6, t9, tolo}
H’ = {tpsw} {tpsw} = {tpsw}
X = {tpsw} {tpsw} = {tpsw}
2005.03.17. Formális módszerek az informatikában 2004/2005. 31
Diagnosztikai eredmény
• Inkonzisztens T-invariánsok:
– temp_indic(red) 1 és 3 oil_light(on) 2 és 4
1 és 2 tossw, tgcl 5 hole_in_oil_sump(yes) -
– tossw, tgcl nem konzisztens, kizárni 1 , 2 , 5 és 7
• Konzisztencia kritérium által kizárt hipotézisek: 6 és 8 acc_resp(irreg) - miatt
• Konzisztens hipotézis halmaz: 3 és 4 piston_state(worn) diagnózis!