A Novel Method For Fast Model Checking Project Report.

Slides:



Advertisements
Similar presentations
Solving problems by searching
Advertisements

Shortest Vector In A Lattice is NP-Hard to approximate
PROOF BY CONTRADICTION
Chapter Three: Closure Properties for Regular Languages
CSE 311 Foundations of Computing I
Automatic Verification Book: Chapter 6. What is verification? Traditionally, verification means proof of correctness automatic: model checking deductive:
Based on: Petri Nets and Industrial Applications: A Tutorial
PROTOCOL VERIFICATION & PROTOCOL VALIDATION. Protocol Verification Communication Protocols should be checked for correctness, robustness and performance,
Max Flow Problem Given network N=(V,A), two nodes s,t of V, and capacities on the arcs: uij is the capacity on arc (i,j). Find non-negative flow fij for.
Bayesian Networks, Winter Yoav Haimovitch & Ariel Raviv 1.
26 September 2003U. Buy -- SEES 2003 Sidestepping verification complexity with supervisory control Ugo Buy Department of Computer Science Houshang Darabi.
Compiler Construction Sohail Aslam Lecture Finite Automaton of Items Then for every item A →  X  we must add an  -transition for every production.
1 COMP 382: Reasoning about algorithms Unit 9: Undecidability [Slides adapted from Amos Israeli’s]
Pushdown Systems Koushik Sen EECS, UC Berkeley Slide Source: Sanjit A. Seshia.
Merged Processes of Petri nets Victor Khomenko Joint work with Alex Kondratyev, Maciej Koutny and Walter Vogler.
IE 469 Manufacturing Systems
Behavioral Comparison of Process Models Based on Canonically Reduced Event Structures Abel Armas-Cervantes Paolo Baldan Marlon Dumas Luciano García-Bañuelos.
Introduction to Computability Theory
1 Introduction to Computability Theory Lecture12: Decidable Languages Prof. Amos Israeli.
1 Introduction to Computability Theory Lecture2: Non Deterministic Finite Automata Prof. Amos Israeli.
1 Introduction to Computability Theory Lecture2: Non Deterministic Finite Automata (cont.) Prof. Amos Israeli.
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.
Validating Streaming XML Documents Luc Segoufin & Victor Vianu Presented by Harel Paz.
Computability and Complexity 20-1 Computability and Complexity Andrei Bulatov Class NL.
1 Petri Nets Marco Sgroi EE249 - Fall 2001 Most slides borrowed from Luciano Lavagno’s lecture ee249 (1998)
Parallel LTL-X Model Checking of High- Level Petri Nets Based on Unfoldings Claus Schröter* and Victor Khomenko** *University of Stuttgart, Germany **University.
Chapter Resynchsonous Stabilizer Chapter 5.1 Resynchsonous Stabilizer Self-Stabilization Shlomi Dolev MIT Press, 2000 Draft of Jan 2004, Shlomi.
Canonical Prefixes of Petri Net Unfoldings Walter Vogler Universität Augsburg in cooperation with V. Khomenko, M. Koutny (CAV 2002, Acta Informatica 2003)
CS5371 Theory of Computation Lecture 4: Automata Theory II (DFA = NFA, Regular Language)
*Department of Computing Science University of Newcastle upon Tyne **Institut für Informatik, Universität Augsburg Canonical Prefixes of Petri Net Unfoldings.
Introduction to Finite Automata Adapted from the slides of Stanford CS154.
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.
Zvi Kohavi and Niraj K. Jha 1 Capabilities, Minimization, and Transformation of Sequential Machines.
NFA ε - NFA - DFA equivalence. What is an NFA An NFA is an automaton that its states might have none, one or more outgoing arrows under a specific symbol.
Soundness problem for Resource-Constrained Workflow nets revisited Natalia Sidorova and Christian Stahl.
Theory of Computing Lecture 17 MAS 714 Hartmut Klauck.
GRAPH SPANNERS by S.Nithya. Spanner Definition- Informal A geometric spanner network for a set of points is a graph G in which each pair of vertices is.
CY2003 Computer Systems Lecture 7 Petri net. © LJMU, 2004CY2003- Week 72 Overview Petri net –concepts –Petri net representation –Firing a transition –Marks.
Overview of Previous Lesson(s) Over View  An NFA accepts a string if the symbols of the string specify a path from the start to an accepting state.
1 Markov Decision Processes Infinite Horizon Problems Alan Fern * * Based in part on slides by Craig Boutilier and Daniel Weld.
- 1 -  P. Marwedel, Univ. Dortmund, Informatik 12, 05/06 Universität Dortmund Petri nets Introduced in 1962 by Carl Adam Petri in his PhD thesis. Focus.
1 Markov Decision Processes Infinite Horizon Problems Alan Fern * * Based in part on slides by Craig Boutilier and Daniel Weld.
Complexity and Computability Theory I Lecture #2 Rina Zviel-Girshin Leah Epstein Winter
Petri Nets Lecturer: Roohollah Abdipour. Agenda Introduction Petri Net Modelling with Petri Net Analysis of Petri net 2.
Memory-Efficient Algorithms for the Verification of Temporal Properties C. Courcoubetis Inst. Of Comp. Sci. FORTH, Crete, Greece M. Verdi IBM Almaden P.
1 Linear Bounded Automata LBAs. 2 Linear Bounded Automata (LBAs) are the same as Turing Machines with one difference: The input string tape space is the.
Behavioral Comparison of Process Models Based on Canonically Reduced Event Structures Paolo Baldan Marlon Dumas Luciano García Abel Armas.
CSCI1600: Embedded and Real Time Software Lecture 11: Modeling IV: Concurrency Steven Reiss, Fall 2015.
School of Computer Science & Software Engineering
Donghyun (David) Kim Department of Mathematics and Physics North Carolina Central University 1 Chapter 1 Regular Languages Some slides are in courtesy.
NP-Completness Turing Machine. Hard problems There are many many important problems for which no polynomial algorithms is known. We show that a polynomial-time.
NP-complete Languages
Lecture 2 Compiler Design Lexical Analysis By lecturer Noor Dhia
Lecture 14: Theory of Automata:2014 Finite Automata with Output.
Week 8 Computational Level
Structural methods for synthesis of large specifications
Capabilities, Minimization, and Transformation of Sequential Machines
Solving problems by searching
Polynomial analysis algorithms for free-choice workflow nets
Week 8 Computational Level
HIERARCHY THEOREMS Hu Rui Prof. Takahashi laboratory
GRAPH SPANNERS.
The Satisfiability Problem
Introduction to Petri Nets (PNs)
Finite Automata & Language Theory
Victor Khomenko and Andrey Mokhov
Petri Net :Abstract formal model of information flow Major use:
PCP Characterization of NP:
Petri Nets Laurie Frazier.
Presentation transcript:

A Novel Method For Fast Model Checking Project Report

The State Explosion Problem The size of the state space is exponential in the number of model entities For a Boolean model with N entities the size of the state space is 2 N In an asynchronous (concurrent) model, a state may lead to several different states One of the tricks used in model checking is to create a polynomial-size representation of the state space

State Space Representation In a smaller state space representation checking whether a state is reachable becomes hard This talk will be about Petri net models, and a technique for state space representation called Unfolding

Petri Net Components A transition (rectangle) consumes tokens (black dots) from input places (circles with outgoing edges) and produce tokens into output places (circles with incoming edges)

Petri Nets And Concurrency Transitions can fire concurrently: T3 cannot fire

The Dining Philosophers Problem thinking fork eating

Truth Table Encoding

Boolean Network Encoding

Unfolding of a Network configuration local configuration ([t 8 ])

Causal, Conflict initial state: (OFF,ON,ON) black stars: conflict relationshipred stars: causal relationship

Finite Unfolding McMillan introduced cutoff points, which produce a finite unfolding that represents every reachable state A transition t is a cutoff point if: 1.The token marking represented by its local configuration is already represented by another transition t’, or by the initial marking 2.The size of the local configuration of t’ is smaller than that of t

Cutoff Points cutoff point

Sketch of the Proof The infinite unfolding represents every reachable marking by its definition Let C be a configuration that represents some reachable marking in the infinite unfolding If C contains a cutoff point t in the finite unfolding, we can add to [t] all the transitions in C\[t] We get a configuration that represents the same marking but is smaller There’s no analysis that states when the algorithm works – it is based on intuition and practical experience (goes for model checking…)

Unfolding Dining Philosophers

McMillan’s Criterion is Not Strict Enough

Improved Cutoff Criterion – Esparza Et Al. Esparza et al. improved the cutoff criterion so that if the finite unfolding is only a constant times larger than the state space Mark every local configuration with a string t i1 t i1 t i1 t i2 t i2 …t ij t ij where every t ik repeats the number of times it appears in the local configuration A transition t is a cutoff point if: 1.The token marking represented by its local configuration is already represented by another transition t’, or by the initial marking 2.The size of the local configuration of t’ is smaller than that of t, or its string is alphabetically smaller

Selecting Concurrent Places is NP- Complete

The Effect of Read Arcs If we replace b and c by N transitions that read from p we will have O(N!) readers and consumers in the unfolding Let’s call b and c “readers” and d “consumer”

An Improved Method For The Reachability Problem Build a random subgraph of the finite unfolding Since it is smaller, speed will increase because there will be less places to consider In order to handle the probability for error that this introduces, do this many times How exactly should a random subgraph be constructed?

Randomized Cutoff Criterion Let N-1 be the maximal configuration size Let 0<ϕ<1 t is some transition with local configuration [t] 1.Randomly choose a number 0<r<1 2.Cutoff if

Analysis Of Random Criterion Set ϕ=0.5, and M is some marking that we want to find Repeat the cutoff proof of Esparza, and assume that at every backwards step we encounter a cutoff point of maximal size We get the sum In the latter proof we assumed very strict assumptions: We encounter a cutoff point at every step and its size is maximal There is only one path that leads to the marking M

Smaller Slices Of The Unfolding If we loosen the strict assumptions, we can slice off larger pieces off the unfolding, and thus handle larger networks In particular we saw that read arcs can create many different paths to a marking (which is in fact a main source of the problem) If there are K paths we get For example, if K=3 and ϕ=0.99 the bound is ~0.526

Size 50 Boolean networks – state space of size 2 50

Algorithm Parameters For Different Network Sizes Size φρ (repetitions)

Asynchronous Cellular Automaton