MPRI 1-22 Introduction to Verification January 4, TD 6: Petri Nets

Similar documents
Petri nets. s 1 s 2. s 3 s 4. directed arcs.

Petri Nets (for Planners)

Reversal-Bounded Counter Machines

Linear Time Analysis of Properties of Conflict-Free and General Petri nets

Timo Latvala. March 7, 2004

DES. 4. Petri Nets. Introduction. Different Classes of Petri Net. Petri net properties. Analysis of Petri net models

Embedded Systems 6 REVIEW. Place/transition nets. defaults: K = ω W = 1

Expand, Enlarge, and Check

Sanjit A. Seshia EECS, UC Berkeley

Methods for the specification and verification of business processes MPB (6 cfu, 295AA)

Binary Decision Diagrams

Time and Timed Petri Nets

Finite Universes. L is a fixed-length language if it has length n for some

Timed Petri Nets and Timed Automata: On the Discriminating Power of Zeno Sequences

arxiv: v2 [cs.fl] 6 Apr 2018

Chapter 4: Computation tree logic

A Canonical Contraction for Safe Petri Nets

Automata-based Verification - III

Automata on Infinite words and LTL Model Checking

Automata-based Verification - III

Discrete Parameters in Petri Nets

The Immerman-Szelepcesnyi Theorem and a hard problem for EXPSPACE

Time(d) Petri Net. Serge Haddad. Petri Nets 2016, June 20th LSV ENS Cachan, Université Paris-Saclay & CNRS & INRIA

Reversal-Bounded Counter Machines Revisited

Weak Time Petri Nets strike back!

Complexity Theory VU , SS The Polynomial Hierarchy. Reinhard Pichler

Outline. Complexity Theory EXACT TSP. The Class DP. Definition. Problem EXACT TSP. Complexity of EXACT TSP. Proposition VU 181.

ω-automata Automata that accept (or reject) words of infinite length. Languages of infinite words appear:

Synchronizing sequences. on a class of unbounded systems using synchronized Petri nets

A Polynomial-Time Algorithm for Checking Consistency of Free-Choice Signal Transition Graphs

Unary Automatic Graphs: An Algorithmic Perspective 1

EXERCISES SHORTEST PATHS: APPLICATIONS, OPTIMIZATION, VARIATIONS, AND SOLVING THE CONSTRAINED SHORTEST PATH PROBLEM. 1 Applications and Modelling

Soundness of Workflow Nets with an Unbounded Resource is Decidable

Discrete Event Systems Exam

Chapter 3: Linear temporal logic

Petri Nets (for Planners) ICAPS Petri Nets (for Planners) Outline of the Tutorial. Introduction & Motivation

1. sort of tokens (e.g. indistinguishable (black), coloured, structured,...),

The Downward-Closure of Petri Net Languages

Introduction to Temporal Logic. The purpose of temporal logics is to specify properties of dynamic systems. These can be either

Non-emptiness Testing for TMs

Basics of WQO theory, with some applications in computer science

7. Queueing Systems. 8. Petri nets vs. State Automata

TCTL model-checking of Time Petri Nets

Undecidable Problems. Z. Sawa (TU Ostrava) Introd. to Theoretical Computer Science May 12, / 65

The Complexity of Computing the Behaviour of Lattice Automata on Infinite Trees

Lecture 6: Oracle TMs, Diagonalization Limits, Space Complexity

Reachability Results for Timed Automata with Unbounded Data Structures

CDS 270 (Fall 09) - Lecture Notes for Assignment 8.

Negotiation Games. Javier Esparza and Philipp Hoffmann. Fakultät für Informatik, Technische Universität München, Germany

Data Structures in Java

Further discussion of Turing machines

Theory of computation: initial remarks (Chapter 11)

Methods for the specification and verification of business processes MPB (6 cfu, 295AA)

Analyzing Asynchronous Programs with Preemption

From Liveness to Promptness

Computation Tree Logic (CTL) & Basic Model Checking Algorithms

Reachability in Petri nets with Inhibitor arcs

Time Petri Nets. Miriam Zia School of Computer Science McGill University

TESTING is one of the most important parts of the

Alternating register automata on finite data words and trees DIEGO FIGUEIRA

Lecture Notes: The Halting Problem; Reductions

CO759: Algorithmic Game Theory Spring 2015

Infinite-State Backward Exploration of Boolean Broadcast Programs

Search and Lookahead. Bernhard Nebel, Julien Hué, and Stefan Wölfl. June 4/6, 2012

CS481F01 Prelim 2 Solutions

c 2011 Nisha Somnath

CpSc 421 Final Exam December 6, 2008

Probabilistic Aspects of Computer Science: Probabilistic Automata

CPSC 421: Tutorial #1

Bi-Arc Digraphs and Conservative Polymorphisms

Finish K-Complexity, Start Time Complexity

CS 301. Lecture 18 Decidable languages. Stephen Checkoway. April 2, 2018

Component-wise Incremental LTL Model Checking

Automata-Theoretic LTL Model-Checking

NP-COMPLETE PROBLEMS. 1. Characterizing NP. Proof

arxiv: v2 [cs.lo] 13 May 2015

Stéphane Demri Arnaud Sangnier. When Model-Checking Freeze LTL over Counter Machines Becomes Decidable. Research Report LSV-10-05

NONBLOCKING CONTROL OF PETRI NETS USING UNFOLDING. Alessandro Giua Xiaolan Xie

Kruskal s Theorem Rebecca Robinson May 29, 2007

Simplification of finite automata

Trace Inclusion for One-Counter Nets Revisited

Circuits. Lecture 11 Uniform Circuit Complexity

Flat counter automata almost everywhere!

Computation Histories

DECOMPOSITION OF PETRI NETS

1 Computational Problems

Register machines L2 18

i times p(p(... (p( n))...) = n ki.

Alan Bundy. Automated Reasoning LTL Model Checking

Complete Process Semantics for Inhibitor Nets Technical Report

Notes for Lecture Notes 2

Complexity Classes in Membrane Computing

Robust Controller Synthesis in Timed Automata

Linear Temporal Logic and Büchi Automata

Topological Vector Spaces III: Finite Dimensional Spaces

Generalised Computation of Behavioural Profiles based on Petri-Net Unfoldings

Modeling and Stability Analysis of a Communication Network System

Flows and Cuts. 1 Concepts. CS 787: Advanced Algorithms. Instructor: Dieter van Melkebeek

Regular Model Checking and Verification of Cellular Automata

Linear Variable coefficient equations (Sect. 2.1) Review: Linear constant coefficient equations

Transcription:

TD 6: Petri Nets 1 Modeling Using Petri Nets Exercise 1 (Traffic Lights). Consider again the traffic lights example from the lecture notes: r r ry y r y ry g g y g 1. How can you correct this Petri net to avert unwanted behaviours (like r ry rr) in a 1-safe manner? 2. Extend your Petri net to model two traffic lights handling a street intersection. Exercise 2 (Producer/Consumer). A producer/consumer system gathers two types of processes: producers who can make the actions produce (p) or deliver (d), and consumers with the actions receive (r) and consume (c). All the producers and consumers communicate through a single unordered channel. 1. Model a producer/consumer system with two producers and three consumers. How can you modify this system to enforce a maximal capacity of ten simultaneous items in the channel? 2. An inhibitor arc between a place p and a transition t makes t firable only if the current marking at p is zero. In the following example, there is such an inhibitor arc between p 1 and t. A marking (0, 2, 1) allows to fire t to reach (0, 1, 2), but (1, 1, 1) does not allow to fire t. 1

p 1 t p 3 p 2 Using inhibitor arcs, enforce a priority for the first producer and the first consumer on the channel: the other processes can use the channel only if it is not currently used by the first producer and the first consumer. 2 Model Checking Petri Nets Exercise 3 (Upper Bounds). Let us fix a Petri net N = P, T, F, W, m 0. We consider as usual propositional LTL, with a set of atomic propositions AP equal to P the set of places of the Petri net. We define proposition p to hold in a marking m in N P if m(p) > 0. The models of our LTL formulæ are computations m 0 m 1 in (N P ) ω such that, for all i N, m i N m i+1 is a transition step of the Petri net N. 1. We want to prove that state-based LTL model checking can be performed in polynomial space for 1-safe Petri nets. For this, prove that one can construct an exponential-sized Büchi automaton B N from a 1-safe Petri net that recognizes all the infinite computations of N starting in m 0. 2. In the general case, state-based LTL model checking is undecidable. Prove it for Petri nets with at least two unbounded places, by a reduction from the halting problem for 2-counter Minsky machines. 3. We consider now a different set of atomic propositions, such that Σ = 2 AP, and a labeled Petri net, with a labeling homomorphism λ : T Σ. The models of our LTL formulæ are infinite words a 0 a 1 in Σ ω t such that m 0 t 0 N m 1 1 N m 2 is an execution of N and λ(t i ) = a i for all i. Prove that action-based LTL model checking can be performed in polynomial space for labeled 1-safe Petri nets. 3 Unfoldings Exercise 4 (Adequate Partial Orders). A partial order between events is adequate if the three following conditions are verified: (a) is well-founded, (b) C t C t implies t t, and 2

(c) is preserved by finite extensions: as in the lecture notes, if t t and B(t) = B(t ), and E and E are two isomorphic extensions of C t and C t with C u = C t E and C u = C t E, then u u. As you can guess, adequate partial orders result in complete unfoldings. 1. Show that s defined by t s t iff C t < C t is adequate. 2. Construct the finite unfolding of the following Petri net using s ; how does the size of this unfolding relate to the number of reachable markings? p 0 t 1 t 2 p 1 t 3 t 4 p 2 3. Suppose we define an arbitrary total order on the transitions T of the Petri net, i.e. they are t 1 t n. Given a set S of events and conditions of Q, ϕ(s) is the sequence t i 1 1 t in n in T where i j is the number of events labeled by t j in S. We also note for the lexicographic order on T. Show that e defined by t e t iff C t < C t or C t = C t and ϕ(c t ) ϕ(c t ) is adequate. Construct the finite unfolding for the previous Petri net using e. 4. There might still be examples where e performs poorly. One solution would be to use a total adequate order; why? Give a 1-safe Petri net that shows that e is not total. 4 Coverability Graphs Exercise 5 (Dickson s Lemma). A quasi-order (A, ) is a set A endowed with a reflexive and transitive ordering relation. A well quasi order (wqo) is a quasi order (A, ) s.t., for any infinite sequence a 0 a 1 in A ω, there exist indices i < j with a i a j. 1. Let (A, ) be a wqo and B A. Show that (B, ) is a wqo. 2. Show that (N {ω}, ) is a wqo. 3. Let (A, ) be a wqo. Show that any infinite sequence a 0 a 1 in A ω embeds an infinite increasing subsequence a i0 a i1 a i2 with i 0 < i 1 < i 2 <. 3

4. Let (A, A ) and (B, B ) be two wqo s. Show that the cartesian product (A B, ), where the product ordering is defined by (a, b) (a, b ) iff a A a and b B b, is a wqo. Exercise 6 (Coverability Graph). The coverability problem for Petri nets is the following decision problem: Instance: A Petri net N = P, T, F, W, m 0 and a marking m 1 in N P. Question: Does there exist m 2 in reach N (m 0 ) such that m 1 m 2? For 1-safe Petri nets, coverability coincides with reachability, and is thus PSpacecomplete. One way to decide the general coverability problem is to use Karp and Miller s coverability graph (see the lecture notes). Indeed, we have the equivalence between the two statements: i. there exists m 2 in reach N (m 0 ) such that m 1 m 2, and ii. there exists m 3 in CoverabilityGraph N (m 0 ) such that m 1 m 3. 1. In order to prove that (i) implies (ii), we will prove a stronger statement: for a marking m in (N {ω}) P, write Ω(m) = {p P m(p) = ω} be the set of ω-places of m. u Show that, if m 0 N m 2 in the Petri net N for some u in T, then there exists m 3 in (N {ω}) P u such that m 2 (p) = m 3 (p) for all p in P \ Ω(m 3 ) and m 0 G m 3 in the coverability graph. 2. Let us prove that (ii) implies (i). The idea is that we can find reachable markings that agree with m 3 on its finite places, and that can be made arbitrarily high on its ω-places. For this, we need to identify the graph nodes where new ω values were introduced, which we call ω-nodes. (a) The threshold Θ(u) of a transition sequence u in T is the minimal marking m in N P s.t. u is enabled from m. Show how to compute Θ(u). Show that Θ(u v) Θ(u) + Θ(v) for all u, v in T. (b) Recall that an ω value is introduced in the coverability graph thanks to Algorithm 1. Let {v 1,..., v l } be the set of v sequences found on line 3 of the algorithm that resulted in adding at least one ω value to m on line 5 during a single call to AddOmegas(m, m, V ) on line 8 of the CoverabilityGraph algorithm from the course notes. Let w = v 1 v l. Show that, for any k in N, the marking ν k defined by { ν k (p) = m (p) if p P \ Ω(m) Θ(w k )(p) if p Ω(m) 4

1 repeat 2 saved m 3 foreach m V s.t. v T +, m v G m do 4 if m < m then 5 m m + ((m m ) ω) 6 end 7 end 8 until saved = m 9 return m Algorithm 1: AddOmegas(m, m, V ) allows to fire w k. How does the marking ν k with ν k wk N ν k compare to ν k? (c) Prove that, if m 0 u G m 3 for some u in T in the coverability graph and m in N Ω(m 3) is a partial marking on the places of Ω(m 3 ), then there are n in N, a decomposition u = u 1 u 2 u n+1 with each u i in T (where the markings µ i reached by m u 1 u i G µ i for i n have new ω values), sequences w 1,..., w n in T +, numbers k 1,..., k n in N, u 1 w k 1 n u n+1 such that m 0 N m 2 with m 2 (p) = m 3 (p) for all p in P \ Ω(m 3 ) and m 2 (p) m (p) for all p in Ω(m 3 ). 1 u 2 u nw kn Exercise 7 (Decidability of Model-checking Action-based LTL). 1. Let N be Petri net, G its coverability graph, and m some marking in N P. An infinite computation is a sequence m 0 m 1 in (N P ) ω where for all i N, m i N m i+1 is a transition step. The effect (u) of a transition sequence u in T is defined by (ε) = 0 P and (ut) = (u) W (P, t) + W (t, P ). Show that there exists an infinite computation s.t. m m i for infinitely many indices i iff there exists an accessible loop m v G m in G s.t. m m and (v) 0 P. 2. Show that action-based LTL model-checking is decidable for labeled Petri nets. Exercise 8 (Rackoff s Algorithm). A rather severe issue with the coverability graph construction is that it can generate a graph of Ackermannian size compared to that of the original Petri net. We show here a much more decent ExpSpace upper bound, which is matched by an ExpSpace hardness proof by Lipton. 5

Let us fix a Petri net N = P, T, F, W, m 0. We consider generalized markings in Z P. A generalized computation is a sequence µ 1 µ n in (Z P ) such that, for all 1 i < n, there is a transition t in T with µ i+1 (p) = µ i (p) W (p, t) + W (t, p) for all p P (i.e. we do not enforce enabling conditions). For a subset I of P, a generalized sequence is I-admissible if furthermore µ i (p) W (p, t) for all p in I at each step 1 i < n. For a value B in N, it is I B-bounded if furthermore µ i (p) < B for all p in I at each step 1 i n. A generalized sequence is an I-covering for m 1 if µ 1 = m 0 and µ n (p) m 1 (p) for all p in I. Thus a computation is a P -admissible generalized computation, and a P -admissible P -covering for m 1 answers the coverability problem. For a Petri net N = P, T, F, W, m 0 and a marking m 1 in N P, let l(n, m 1 ) be the length of the shortest P -admissible P -covering for m 1 in N if one exists, and otherwise l(n, m 1 ) = 0. For L, k in N, define M L (k) = sup{l(n, m 1 ) P = k, max W (p, t) + max m 1(p) L} p P,t T p P the maximal l(n, m 1 ) over all Petri nets N of dimension k and all markings m 1 to cover, under some restrictions on incoming weights W (p, t) in N and values in m 1. 1. Show that M L (0) 1. 2. We want to show that M L (k) (L M L (k 1)) k + M L (k 1) for all k 1. To this end, we prove that, for every marking m 1 in N P for a Petri net N with P = k, l(n, m 1 ) (L M L (k 1)) k + M L (k 1). ( ) Let B = M L (k 1) max p P,t T W (p, t) + max p P m 1(p). and suppose that there exists a P -admissible P -covering w = µ 1 µ n for m 1 in N. (a) Show that, if w is P B-bounded, then ( ) holds. (b) Assume the contrary: we can split w as w 1 w 2 such that w 1 is P B-bounded and w 2 starts with a marking µ j with a place p such that µ j (p) B. Show that ( ) also holds. 3. Show that M L ( P ) L (3 P )! for L 2. 4. Given a Petri net N = P, T, W, m 0 and a marking m 1, set L = 2+max p P,t T W (p, t)+ max p P m 1 (p). Assuming that the size n of the instance (N, m 1 ) of the coverability problem is more than max(log L, P, max log W (t, p)), p P,t T 6

deduce that we can guess a P -admissible P -covering for m 1 of length at most 2 2c n log n for some constant c. Conclude that coverability can be solved in ExpSpace. 5 Vector Addition Systems Exercise 9 (VASS). An n-dimensional vector addition system with states (VASS) is a tuple V = Q, δ, q 0 where Q is a finite set of states, q 0 Q the initial state, and δ Q Z n Q the transition relation. A configuration of V is a pair (q, v) in Q N n. An execution of V is a sequence of configurations (q 0, v 0 )(q 1, v 1 ) (q m, v m ) such that v 0 = 0, and for 0 < i m, (q i 1, v i v i 1, q i ) is in δ. 1. Show that any VASS can be simulated by a Petri net. 2. Show that, conversely, any Petri net can be simulated by a VASS. Exercise 10 (VAS). An n-dimensional vector addition system (VAS) is a pair (v 0, W ) where v 0 N n is the initial vector and W Z n is the set of transition vectors. An execution of (v 0, W ) is a sequence v 0 v 1 v m where v i N for all 0 i m and v i v i 1 W for all 0 < i m. We want to show that any n-dimensional VASS V can be simulated by an (n + 3)- dimensional VAS (v 0, W ). Hint: Let k = Q, and define the two functions a(i) = i + 1 and b(i) = (k + 1)(k i). Encode a configuration (q i, v) of V as the vector (v(1),..., v(n), a(i), b(i), 0). For every state q i, 0 i < k, we add two transition vectors to W : t i = (0,..., 0, a(i), a(k i) b(i), b(k i)) t i = (0,..., 0, b(i), a(k i), a(i) b(k i)) For every transition d = (q i, w, q j ) of V, we add one transition vector to W : t d = (w(1),..., w(n), a(j) b(i), b(j), a(i)) 1. Show that any execution of V can be simulated by (v 0, W ) for a suitable v 0. 2. Conversely, show that this VAS (v 0, W ) simulates V faithfully. 7