150 likes | 164 Views
Predictability Verification with Petri Net Unfoldings. Agnes Madalinski 1 and Victor Khomenko 2 1 Faculty of Engineering Science, University Austral de Chile 2 School of Computing Science, Newcastle University, UK. Predictability. 2. Concept of fault diagnosis. diagnosis. observations.
E N D
Predictability Verification with Petri Net Unfoldings Agnes Madalinski1 and Victor Khomenko2 1Faculty of Engineering Science, University Austral de Chile 2School of Computing Science, Newcastle University, UK
Concept of fault diagnosis diagnosis observations system actions (repair, reconfigure) faults detection, localisation and identification of faults • diagnosis: task of explaining an occurrance of a fault given an observation of the system’s behaviour • predictability: the possibility of predicting a fault before it actually occurs by monitoring the visible behaviour 3
Predictability diagnosis • a fault is predictable if it is always possible to predict its occurrence by observing the visible actions of the system observations system o1, o2 fault will occur • assumptions: • the system has finitely many reachable states • the system is deadlock-free • any infinite execution has infinitely many occurrences of observable transitions (i.e. the system is divergence-free) 4
O = {a,b,c} U = {u, f} F = {f} System model • labelled Petri net N=(P,T,,M0,O,U,ℓ) • O set of observable transition labels • U set of unobservable transition labels • ℓ : T → O U • F U set of fault transition labels • not predictable w.r.t. f 5
Witness of predictability violation A witness of predictability violation is a pair of traces such that: o1 o2 o3 f can be finite or infinite; the rest of this trace after f is not important no faults ∞ synchronisation on observable, no faults no synchronisation required 6
Building the verifier– sync. product a b c f synchronisation
Building the verifier– switch a b c f synchronisation desynchronisation
Building the verifier– switch a b c f synchronisation desynchronisation
Model checking • reduce the problem of predictability to LTL-X model checking by building a verifier • property to check: • existence of an infinite trace of the verifier containing a fault f • such a trace can be mapped to a witness of predictability violation • ◊f
Experimental results • predictability is a new field – mostly theoretical work, no benchmarks, no tools • we created three series of scalable benchmarks • based on producer-buffer-consumer system • each benchmark has predictable and non-predictable variants • used parallel LTL-X model checking based on unfoldings • showed the feasibility of the proposed approach • good levels of parallelisation can be achieved
Conclusions and future work • proposed a better way of verifying predictability • previous work: de-synchronise dynamically, use a customised algorithm • our work: de-synchronise statically, use a general-purpose algorithm • moving from theory to practical verification • the method can be trivially generalised to high-level Petri nets: • the verifier construction can be lifted to HL nets • parallel LTL-X model checking based on unfoldings works for HL nets too