460 likes | 574 Views
UNIVERSITY OF STUTTGART. Parallel LTL-X Model Checking of High-Level Petri Nets Based on Unfoldings. Claus Schröter* and Victor Khomenko** *University of Stuttgart, Germany **University of Newcastle upon Tyne, UK. Basis for our work. Esparza and Heljanko (ICALP 2000, SPIN 2001):
E N D
UNIVERSITY OF STUTTGART Parallel LTL-X Model Checking of High-Level Petri Nets Based on Unfoldings Claus Schröter* and Victor Khomenko** *University of Stuttgart, Germany **University of Newcastle upon Tyne, UK
Basis for our work Esparza and Heljanko (ICALP 2000, SPIN 2001): A New Unfolding Approach to LTL Model-Checking • Net system is constructed as the product of • the original net system and • an Büchi automaton accepting • Model-checking problem is reduced to detection of • illegal ω-traces and • illegal livelocks • by exploiting finite complete prefixes
Basis for our work • Simplicity of this approach • Partial order semantics of Petri nets • Alleviates the state space explosion problem Input are low level Petri nets Low level Petri nets are not convenient for modelling
ColouredPNs a good intermediate formalism High-level descriptions: • Verification is hard Convenient for modelling Low-level PNs: • Can be efficiently verified • Not convenient for modelling Gap
Coloured PNs {1,2} {1,2} 1 2 u v w<u+v w {1..4}
Coloured PNs {1,2} {1,2} 1 2 u v w<u+v w {1..4}
Coloured PNs {1,2} {1,2} u v w<u+v w {1..4} 1
Coloured PNs {1,2} {1,2} u v w<u+v w {1..4} 2
{1,2} {1,2} 1 2 u v w<u+v w {1..4} Expansion
{1,2} {1,2} 1 2 u v w<u+v w {1..4} Expansion
{1,2} {1,2} 1 2 u v w<u+v w {1..4} Expansion
{1,2} {1,2} 1 2 u v w<u+v w {1..4} Expansion
{1,2} {1,2} 1 2 u v w<u+v w {1..4} Expansion
Expansion {1,2} {1,2} 1 2 • The expansion faithfully models the original net u v w<u+v w {1..4} Blow up in size
Finite complete prefix • Introduced by McMillan in 1992 • Relies on the partial order view of concurrent computation • Represents system states implicitly, using an acyclic net • Satisfies two key properties: • Completeness: Each reachable marking of the original net is represented by at least one reachable marking in the prefix • Finiteness: The prefix is finite and thus can be used as an input to model-checking algorithms
Relationship diagram expansion Low-level PNs Coloured PNs unfolding unfolding ? Low-level prefix Coloured prefix
Relationship diagram expansion Low-level PNs Coloured PNs unfolding unfolding ~ Low-level prefix Coloured prefix Khomenko and Koutny proved isomorphism (TACAS’03)
1 2 u=1 v=2 w=1 u=1 v=2 w=2 1 2 Relationship diagram {1,2} {1,2} 1 2 u v w<u+v w {1..4}
p1:{0,1} p3:{0,1} 0 1 a a a a t1 t2 t3 a a b b p2:{0,1} p4:{0,1} Example: Buffer of capacity 2
Example: Buffer of capacity 2 p1:{0,1} p3:{0,1} 0 1 a a a a t1 t2 t3 a a b b p2:{0,1} p4:{0,1}
Example: Buffer of capacity 2 p1:{0,1} p3:{0,1} 0 a a a a t1 t2 t3 a a b b 1 p2:{0,1} p4:{0,1}
Example: Buffer of capacity 2 p1:{0,1} p3:{0,1} 0 a a a a t1 t2 t3 a a b b 1 p2:{0,1} p4:{0,1}
Example: Buffer of capacity 2 p1:{0,1} p3:{0,1} 1 0 a a a a t1 t2 t3 a a b b p2:{0,1} p4:{0,1}
Example: Buffer of capacity 2 p1:{0,1} p3:{0,1} 0 a a a a t1 t2 t3 a a b b 1 p2:{0,1} p4:{0,1}
Example: Buffer of capacity 2 p1:{0,1} p3:{0,1} a a a a t1 t2 t3 a a b b 1 0 p2:{0,1} p4:{0,1}
p1:{0,1} p3:{0,1} (p2≠0) 0 1 true a a a a true q0 q1 t1 t2 t3 (p2≠0) a a b b I0 q1:{} q0:{} p2:{0,1} p4:{0,1} u0 u1 Example: Buffer of capacity 2 Property: φ = ◊□(p2≠0) Büchi automaton Aφ
Synchronisation • Standard technique: Synchronisation on all transitions Synchronisation sequentialises the system Not suitable for unfolding based verification • Solution: Synchronisation just on those transitions which ‘touch’ the atomic propositions of the formula Concurrency can be exploited
p1:{0,1} p3:{0,1} 0 1 a a a a t1 t2 t3 a a b b q1:{} q0:{} p2:{0,1} p4:{0,1} u0 u1 I0 (p2≠0) Synchronisation
p1:{0,1} p3:{0,1} 0 1 a a a a t1 t2 t3 a a b b q1:{} q0:{} p2:{0,1} p4:{0,1} u0 u1 I0 (p2≠0) Synchronisation p2 p2
p1:{0,1} p3:{0,1} 0 1 a a a a t1 t2 t3 a a b b q1:{} q0:{} p2:{0,1} p4:{0,1} u0 u1 I0 (p2≠0) Synchronisation S:{} B:{} p2 p2
S:{} p1:{0,1} p3:{0,1} 0 1 a a a a t1 t2 t3 a a b b q1:{} q0:{} p2:{0,1} p4:{0,1} u0 u1 I0 (p2≠0) Synchronisation B:{} p2 p2
S:{} p1:{0,1} p3:{0,1} 0 1 a a a a t1 t2 t3 a a b b q1:{} q0:{} p2:{0,1} p4:{0,1} u0 u1 I0 (p2≠0) Synchronisation B:{} p2 p2
p1:{0,1} p3:{0,1} 0 1 a a a a t1 t2 t3 B:{} a a b b q1:{} q0:{} p2:{0,1} p4:{0,1} u0 u1 I0 (p2≠0) Synchronisation S:{} p2 p2
p1:{0,1} p3:{0,1} 0 1 a a a a t1 t2 t3 B:{} a a b b q1:{} q0:{} p2:{0,1} p4:{0,1} u0 u1 I0 (p2≠0) Synchronisation S:{} p2 p2
S:{} p1:{0,1} p3:{0,1} 0 1 a a a a t1 t2 t3 B:{} a a b b q1:{} q0:{} p2:{0,1} p4:{0,1} u0 u1 I0 (p2≠0) Synchronisation p2 p2
Illegal ω-traces • Infinite transition sequence that touches q1 infinitely often violatesφ • To detect such runs we introduce a set I off all transitions putting a token into an accepting Büchi place • An infinite transition sequence of the synchronised net which is fireable from the initial marking and contains infinitely many occurrences of I-transitions violates φ (illegal ω-trace)
Prefix p10 p31 p31 t3 p41 S q0 I0 S u0 p10 q0 q0 B
Prefix p10 p31 p31 t3 p41 S q0 I0 S u0 p10 q0 q0 B
Prefix p10 p31 p31 t3 p41 S q0 I0 S u0 p10 q0 q0 B
Prefix p10 p31 p31 t3 p41 S q0 I0 S u0 p10 q0 q0 B
Prefix p10 p31 p31 t3 p41 S q0 I0 S u0 p10 q0 q0 B
Conclusions • Efficient parallel LTL-X model-checker for high level Petri nets • Based on partial order techniques (unfoldings) • Alleviates the state space explosion problem • Experimental results showed a good performance of our checker for several examples