Download presentation
Presentation is loading. Please wait.
1
Victor Khomenko and Andrey Mokhov
An Algorithm for Direct Construction of Complete Merged Processes Victor Khomenko and Andrey Mokhov
2
Rationale Merged processes (MPs) – a condense representation of the set of reachable states very compact – good to cope with the state space explosion in model checking amenable to efficient model checking similar to unfoldings, but much smaller (copes not only with concurrency, but also with sequences of choices) The only known algorithm for constructing MPs was based on merging nodes in the unfoldings hence cancels all the advantages of MPs Contribution: an algorithm that avoids the intermediate construction of the unfolding
3
MPs: occurrence depth 1 1 1 3 2 1 2 1 Merged Process:
Fuse conditions with the same label and occurrence-depth Delete duplicate events
4
Example: a Petri net 1 3 2 4
5
Example: unfolding 3 1 4 3 2 4 Step 1: Fuse conditions of the nodes with the same label and occurrence-depth
6
Example: MP 3 1 4 2 3 4 Step 2: Delete event replicas
7
Examples m m MPs of these nets coincide with the original nets, even though unfoldings are exponential!
8
Properties of MPs Canonicity, Finiteness, Marking-Completeness – follow from the corresponding properties of unfoldings Theoretical upper bounds on size Experimental results: MPs are usually much smaller than unfoldings
9
Theoretical upper bounds on size
Trivial bound: Merge(Pref) is never larger than Pref, hence never larger than the reachability graph too pessimistic in practice MPs of acyclic PN coincide with the original PNs with the dead nodes removed unfoldings can be exponential MPs of live and safe free-choice PNs [with minor restrictions] are polynomial in the size of the original PNs
10
Experimental results: PN/Unf/MP size
11
Experimental results: PN/MP size
12
Experimental results: summary
Corbett’s benchmarks were used MPs are often by orders of magnitude smaller than unfolding prefixes In many cases MPs are just slightly larger than the original PNs In some cases MPs are smaller than the original PNs due to removal of dead nodes
13
Model checking Model checking algorithms developed for unfoldings can be lifted to MPs Reduces to SAT: ME & ACYCLIC & NG & VIOL Still need efficient encoding of ACYCLIC
14
Unravelling algorithm
μ := the MP comprised of the initial conditions sz := 0 // current configuration size repeat sz++ pe := possible extensions of μ // SAT cand := {e∈pe | e has a local conf of size sz in μ} // SAT // filter out potential cut-offs slice := {e∈cand | ¬MaybeCutOff(μ⊕cand, e, sz)} // 2QBF μ := μ⊕slice until slice = ∅ ∧ ¬∃e∈pe: e has a local conf of size >sz in μ⊕pe // SAT
15
Computing the possible extensions
Reduces to model checking (and so to SAT): Find a configuration C enabling a new instance of t
16
Cut-off criterion // Check if each local conf of e of size sz in μ contains a cut-off MaybeCutOff(μ, e, sz) ≡ // 2QBF ∀ local conf C of e in μ such that |C|=sz: ∃ f∈C: ∃ conf C’ in μ: Mark([f]C)=Mark(C’) ∧ [f]CC’ Problem: cannot definitely declare e a cut-off, as it can acquire new configurations as the MP grows Solution: if configurations are checked in the size order then can detect events that are definitely not cut-offs All configurations (not only the local ones) are allowed as cut-off correspondents The adequate order must refine the size order
17
Termination criterion
Not trivial! Check that no possible extension e has a local configuration of size >sz Reduces to model checking (and so to SAT): Find a configuration C enabling e such that |C|>sz
18
Age of reductions μ := the MP comprised of the initial mp-conditions
sz := 0 // current configuration size repeat sz++ pe := possible extensions of μ // SAT cand := {e∈pe | e has a local conf of size sz in μ} // SAT // filter out potential cut-offs slice := {e∈cand | ¬MaybeCutOff(μ⊕cand, e, sz)} // 2QBF μ := μ⊕slice until slice = ∅ ∧ ¬∃e∈pe: e has a local conf of size >sz in μ⊕pe // SAT
19
Experimental results A prototype tool was developed
Showed the feasibility of the approach Loses to unfoldings Much headroom for improving the tool Back to the future – improvements since the paper: Significant speedups in the tool Total adequate order Comparable with unfoldings Still much headroom for improving the tool
20
Future work Potential improvements:
Improving the SAT encoding of the ACYCLIC constraint Home-brewed 2QBF solver – definitely needs improving Using incremental SAT wherever possible Improving the top-level structure of the unravelling algorithm?
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.