310 likes | 442 Views
Diagnosztikai problémák megoldása T-invariáns analízissel. dr. Bartha Tamás bartha@mit.bme.hu Varr ó-Gyapay Szilvia gy a pay @mit.bme.hu BME Méréstechnika és Információs Rendszerek Tanszék.
E N D
Diagnosztikai problémák megoldása T-invariáns analízissel dr. Bartha Tamásbartha@mit.bme.huVarró-Gyapay Szilviagyapay@mit.bme.hu 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 Formális módszerek az informatikában 2004/2005.
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 Formális módszerek az informatikában 2004/2005.
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) abduktív diagnosztika konzisztencia-bázisú diagnosztika Formális módszerek az informatikában 2004/2005.
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 Formális módszerek az informatikában 2004/2005.
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 Formális módszerek az informatikában 2004/2005.
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 Formális módszerek az informatikában 2004/2005.
Diagnosztikai Petri háló elemei C A1 A2 B1 A3 A4 B2 D A1 A2 A3 A4 … D C B1 B2 … … … tény definit klóz alternatívokok megfigyelés Formális módszerek az informatikában 2004/2005.
Viselkedés modell transzformálása Bemenet: teljes viselkedési modell CBM = BMIS Kimenet: Petri-háló modellPN = (P, T, E, M0) PTE fori 1 to klózok_száma(CBM) i-ik klóz beolvasása if p1 p2 … pn p az i-ik klóz then TT{ti} PP{p1,p2, …,pn,p} EE{(p1, ti); (p2,ti); …;(pn,ti); (ti, p)} end if end for Formális módszerek az informatikában 2004/2005.
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} Formális módszerek az informatikában 2004/2005.
Diagnosztikai Petri háló: kezdeti állapotok Formális módszerek az informatikában 2004/2005.
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} Formális módszerek az informatikában 2004/2005.
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} Formális módszerek az informatikában 2004/2005.
Diagnosztikai Petri háló: hibajelenségek Formális módszerek az informatikában 2004/2005.
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) Formális módszerek az informatikában 2004/2005.
Teljes diagnosztikai Petri háló Formális módszerek az informatikában 2004/2005.
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 Formális módszerek az informatikában 2004/2005.
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) Formális módszerek az informatikában 2004/2005.
Megfigyelésekkel kiegészített diagnosztikai Petri-háló modell Formális módszerek az informatikában 2004/2005.
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 Formális módszerek az informatikában 2004/2005.
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: Formális módszerek az informatikában 2004/2005.
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} Formális módszerek az informatikában 2004/2005.
Diagnosztikai algoritmus, 1.rész Bemenet: PND = (P, {TIS,T‘,T +,T -}, E, M0) Kimenet: diagnosztikai megoldások H halmaza LPND T-invariánsai minimális alapjainak listája forall t T - forall L t DT {t’ TIS t’ } forall TIS, fedi DT–t -ot tartalmazó invariáns törlése L–ből end for end for end for Formális módszerek az informatikában 2004/2005.
Diagnosztikai algoritmus végrehajtása TIS= {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} Formális módszerek az informatikában 2004/2005.
Diagnosztikai algoritmus végrehajtása TIS= {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} Formális módszerek az informatikában 2004/2005.
Diagnosztikai algoritmus végrehajtása TIS= {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} Formális módszerek az informatikában 2004/2005.
Diagnosztikai algoritmus végrehajtása TIS= {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} Formális módszerek az informatikában 2004/2005.
Diagnosztikai algoritmus, 2. rész X for allt T+ H’ for all L t IT {t’ TIS t’ } H’H’ {IT} end for XX {H’ } end for Xelemeinek kombinációi adják a H halmazt Formális módszerek az informatikában 2004/2005.
Diagnosztikai algoritmus végrehajtása TIS= {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= Formális módszerek az informatikában 2004/2005.
Diagnosztikai algoritmus végrehajtása TIS= {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} Formális módszerek az informatikában 2004/2005.
Diagnosztikai algoritmus végrehajtása TIS= {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} Formális módszerek az informatikában 2004/2005.
Diagnosztikai eredmény • Inkonzisztens T-invariánsok: • temp_indic(red) 1 és 3oil_light(on) 2 és 4 • 1 és 2tossw, tgcl 5hole_in_oil_sump(yes) - • tossw, tgcl nem konzisztens, kizárni 1 , 2 , 5 és 7 • Konzisztenciakritérium által kizárt hipotézisek: • 6 és 8acc_resp(irreg) - miatt • Konzisztens hipotézis halmaz: • 3 és 4piston_state(worn) diagnózis! Formális módszerek az informatikában 2004/2005.