Victor Khomenko and Andrey Mokhov

Slides:



Advertisements
Similar presentations
Hybrid BDD and All-SAT Method for Model Checking Orna Grumberg Joint work with Assaf Schuster and Avi Yadgar Technion – Israel Institute of Technology.
Advertisements

Chapter 9 Greedy Technique. Constructs a solution to an optimization problem piece by piece through a sequence of choices that are: b feasible - b feasible.
Vasileios Germanos 1, Stefan Haar 2, Victor Khomenko 1, and Stefan Schwoon 2 1 School of Computing Science, Newcastle University, UK 2 INRIA & LSV (ENS.
Shortest Violation Traces in Model Checking Based on Petri Net Unfoldings and SAT Victor Khomenko University of Newcastle upon Tyne Supported by IST project.
Checking  -Calculus Structural Congruence is Graph Isomorphism Complete Victor Khomenko 1 and Roland Meyer 2 1 School of Computing Science, Newcastle.
Modular Processings based on Unfoldings Eric Fabre & Agnes Madalinski DistribCom Team Irisa/Inria UFO workshop - June 26, 2007.
Techniques to analyze workflows (design-time)
Lecture 24 MAS 714 Hartmut Klauck
Interactive Configuration
Concurrent Operational Semantics of Safe Time Petri Nets Claude Jard European University of Brittany, ENS Cachan Bretagne, IRISA Campus de Ker-Lann,
Hardware and Petri nets Symbolic methods for analysis and verification.
Automatic Verification Book: Chapter 6. What is verification? Traditionally, verification means proof of correctness automatic: model checking deductive:
An Introduction to the Model Verifier verds Wenhui Zhang September 15 th, 2010.
Based on: Petri Nets and Industrial Applications: A Tutorial
Data-Flow Analysis Framework Domain – What kind of solution is the analysis looking for? Ex. Variables have not yet been defined – Algorithm assigns a.
Applying Petri Net Unfoldings for Verification of Mobile Systems Apostolos Niaouris Joint work with V. Khomenko, M. Koutny MOCA ‘06.
Informed Search Methods How can we improve searching strategy by using intelligence? Map example: Heuristic: Expand those nodes closest in “as the crow.
Lecture 24 Coping with NPC and Unsolvable problems. When a problem is unsolvable, that's generally very bad news: it means there is no general algorithm.
26 September 2003U. Buy -- SEES 2003 Sidestepping verification complexity with supervisory control Ugo Buy Department of Computer Science Houshang Darabi.
Diagnosability Verification with Parallel LTL-X Model Checking Based on Petri Net Unfoldings Agnes Madalinski 1, and Victor Khomenko 2 1 Faculty of Engineering.
A Novel Method For Fast Model Checking Project Report.
Chapter 3 Petri nets Learning objectives : Introduce Petri nets
Merged Processes of Petri nets Victor Khomenko Joint work with Alex Kondratyev, Maciej Koutny and Walter Vogler.
On the Dynamics of PB Systems with Volatile Membranes Giorgio Delzanno* and Laurent Van Begin** * Università di Genova, Italy ** Universitè Libre de Bruxelles,
IE 469 Manufacturing Systems
Program Slicing Mark Weiser and Precise Dynamic Slicing Algorithms Xiangyu Zhang, Rajiv Gupta & Youtao Zhang Presented by Harini Ramaprasad.
Behavioral Comparison of Process Models Based on Canonically Reduced Event Structures Abel Armas-Cervantes Paolo Baldan Marlon Dumas Luciano García-Bañuelos.
Kurt Jensen Lars M. Kristensen 1 Coloured Petri Nets Department of Computer Science Coloured Petri Nets Modelling and Validation of Concurrent Systems.
Complexity 15-1 Complexity Andrei Bulatov Hierarchy Theorem.
Logic Synthesis for Asynchronous Circuits Based on Petri Net Unfoldings and Incremental SAT Victor Khomenko, Maciej Koutny, and Alex Yakovlev University.
A Schedulability-Preserving Transformation of BDF to Petri Nets Cong Liu EECS 290n Class Project December 10, 2004.
Hardware and Petri nets Partial order methods for analysis and verification of asynchronous circuits.
Creating Difficult Instances of the Post Correspondence Problem Presenter: Ling Zhao Department of Computing Science University of Alberta March 20, 2001.
Behaviour-Preserving Transition Insertions in Unfolding Prefixes
1 Petri Nets Marco Sgroi EE249 - Fall 2001 Most slides borrowed from Luciano Lavagno’s lecture ee249 (1998)
Branching Processes of High-Level Petri Nets Victor Khomenko and Maciej Koutny University of Newcastle upon Tyne.
Parallel LTL-X Model Checking of High- Level Petri Nets Based on Unfoldings Claus Schröter* and Victor Khomenko** *University of Stuttgart, Germany **University.
Branching Processes of High-Level Petri Nets and Model Checking of Mobile Systems Maciej Koutny School of Computing Science Newcastle University with:
Canonical Prefixes of Petri Net Unfoldings Walter Vogler Universität Augsburg in cooperation with V. Khomenko, M. Koutny (CAV 2002, Acta Informatica 2003)
A New Type of Behaviour- Preserving Transition Insertions in Unfolding Prefixes Victor Khomenko.
Detecting State Coding Conflicts in STGs Using SAT Victor Khomenko, Maciej Koutny, and Alex Yakovlev University of Newcastle upon Tyne.
*Department of Computing Science University of Newcastle upon Tyne **Institut für Informatik, Universität Augsburg Canonical Prefixes of Petri Net Unfoldings.
Derivation of Monotonic Covers for Standard C Implementation Using STG Unfoldings Victor Khomenko.
Merged processes – a new condensed representation of Petri net behaviour V.Khomenko 1, A.Kondratyev 2, M.Koutny 1 and W.Vogler 3 1 University of Newcastle.
HELSINKI UNIVERSITY OF TECHNOLOGY *Laboratory for Theoretical Computer Science Helsinki University of Technology **Department of Computing Science University.
1 A Petri Net Siphon Based Solution to Protocol-level Service Composition Mismatches Pengcheng Xiong 1, Mengchu Zhou 2 and Calton Pu 1 1 College of Computing,
Graph Coalition Structure Generation Maria Polukarov University of Southampton Joint work with Tom Voice and Nick Jennings HUJI, 25 th September 2011.
Kernel Bounds for Structural Parameterizations of Pathwidth Bart M. P. Jansen Joint work with Hans L. Bodlaender & Stefan Kratsch July 6th 2012, SWAT 2012,
Theory of Computing Lecture 17 MAS 714 Hartmut Klauck.
Synchronization Transformations for Parallel Computing Pedro Diniz and Martin Rinard Department of Computer Science University of California, Santa Barbara.
Modelling by Petri nets
AI Lecture 17 Planning Noémie Elhadad (substituting for Prof. McKeown)
Chapter 2) CSP solving-An overview Overview of CSP solving techniques: problem reduction, search and solution synthesis Analyses of the characteristics.
Behavioral Comparison of Process Models Based on Canonically Reduced Event Structures Paolo Baldan Marlon Dumas Luciano García Abel Armas.
Enhancing Model Checking Engines for Multi-Output Problem Solving Alan Mishchenko Robert Brayton Berkeley Verification and Synthesis Research Center Department.
Technology of information systems Lecture 5 Process management.
Behavioral Comparison of Process Models Based on Canonically Reduced Event Structures Abel Armas-Cervantes Paolo Baldan Marlon Dumas Luciano García-Bañuelos.
Structural methods for synthesis of large specifications
Symbolic model checking with SAT/SMT
Hybrid BDD and All-SAT Method for Model Checking
Synthesis for Verification
Computability and Complexity
Coloured Petri Nets Modelling and Validation of Concurrent Systems
Complexity 6-1 The Class P Complexity Andrei Bulatov.
Introduction to Petri Nets (PNs)
Producing short counterexamples using “crucial events”
Petri Net :Abstract formal model of information flow Major use:
Graphplan/ SATPlan Chapter
CMSC 471 Fall 2011 Class #4 Tue 9/13/11 Uninformed Search
Predictability Verification with Petri Net Unfoldings
Presentation transcript:

Victor Khomenko and Andrey Mokhov An Algorithm for Direct Construction of Complete Merged Processes Victor Khomenko and Andrey Mokhov

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

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

Example: a Petri net 1 3 2 4

Example: unfolding 3 1 4 3 2 4 Step 1: Fuse conditions of the nodes with the same label and occurrence-depth

Example: MP 3 1 4 2 3 4 Step 2: Delete event replicas

Examples m m MPs of these nets coincide with the original nets, even though unfoldings are exponential!

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

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

Experimental results: PN/Unf/MP size

Experimental results: PN/MP size

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

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

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

Computing the possible extensions Reduces to model checking (and so to SAT): Find a configuration C enabling a new instance of t

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]CC’ 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

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

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

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

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?