A counter-example to the minimal coverability tree algorithm

Similar documents
Coverability Graph and Fairness

EE249 Discussion Petri Nets: Properties, Analysis and Applications - T. Murata. Chang-Ching Wu 10/9/2007

Chapter 1. Preliminaries

Lecture 7: Asymmetric K-Center

Structure of Abstract Syntax trees for Colored Nets in PNML

Binary Decision Diagrams

Treewidth and graph minors

Chapter S:V. V. Formal Properties of A*

A Formalization of Transition P Systems

7.3 Spanning trees Spanning trees [ ] 61

TOPOLOGY, DR. BLOCK, FALL 2015, NOTES, PART 3.

Determining Sound Markings in Structured Nets

Lecture 2: Symbolic Model Checking With SAT

Petri Nets. Robert A. McGuigan, Department of Mathematics, Westfield State

Outline. Petri nets. Introduction Examples Properties Analysis techniques. 1 EE249Fall04

Embedded Systems 7 BF - ES - 1 -

Qualitative Analysis of WorkFlow nets using Linear Logic: Soundness Verification

Problem Set 2 Solutions

Embedded Systems 7. Petri net plan coordination for robocup teams G. Kontes and M.G. Lagoudakis BF - ES BF - ES - 2 -

Paths, Flowers and Vertex Cover

Trees. 3. (Minimally Connected) G is connected and deleting any of its edges gives rise to a disconnected graph.

The Set-Open topology

Module 11. Directed Graphs. Contents

Algorithms and Data Structures

A Schedulability-Preserving Transformation Scheme from Boolean- Controlled Dataflow Networks to Petri Nets

15.083J Integer Programming and Combinatorial Optimization Fall Enumerative Methods

A Semantics to Generate the Context-sensitive Synchronized Control-Flow Graph (extended)

A graphical user interface for service adaptation

Paths, Flowers and Vertex Cover

Mining with Eve - Process Discovery and Event Structures

Graphs and Orders Cours MPRI

Graph Algorithms Using Depth First Search

Parameterized Algorithm for Eternal Vertex Cover

Approximation Algorithms: The Primal-Dual Method. My T. Thai

APETRI net (PN) (cf. [1] [3]) is said to be live if it is possible

3 No-Wait Job Shops with Variable Processing Times

Chapter ML:III. III. Decision Trees. Decision Trees Basics Impurity Functions Decision Tree Algorithms Decision Tree Pruning

Algorithms and Data Structures

Model checking pushdown systems

1 Matchings in Graphs

On Soft Topological Linear Spaces

Lecture 19 Thursday, March 29. Examples of isomorphic, and non-isomorphic graphs will be given in class.

Principles of AI Planning. Principles of AI Planning. 7.1 How to obtain a heuristic. 7.2 Relaxed planning tasks. 7.1 How to obtain a heuristic

The self-minor conjecture for infinite trees

UNIT 4 Branch and Bound

Lecture 1. 1 Notation

Repairing Preference-Based Argumentation Frameworks

COMPUTABILITY THEORY AND RECURSIVELY ENUMERABLE SETS

6c Lecture 3 & 4: April 8 & 10, 2014

Monotone Paths in Geometric Triangulations


Foundations of Computer Science Spring Mathematical Preliminaries

Petri Nets: Properties, Applications, and Variations. Matthew O'Brien University of Pittsburgh

Managing test suites for services

Fast algorithms for max independent set

Efficient pebbling for list traversal synopses

From Task Graphs to Petri Nets

Combining Tree Partitioning, Precedence, and Incomparability Constraints

Debugging Program Slicing

WEEK 5 - APPLICATION OF PETRI NETS. 4.4 Producers-consumers problem with priority

The Encoding Complexity of Network Coding

Chapter S:II. II. Basic Search Algorithms

2 A topological interlude

Term Algebras with Length Function and Bounded Quantifier Elimination

Petri Nets ee249 Fall 2000

Directed Graph and Binary Trees

Concurrent Systems Modeling using Petri Nets Part II

1 Connected components in undirected graphs

Petri Nets. Petri Nets. Petri Net Example. Systems are specified as a directed bipartite graph. The two kinds of nodes in the graph:

Discrete Mathematics. Kruskal, order, sorting, induction

Simplicity is Beauty: Improved Upper Bounds for Vertex Cover

Universiteit Leiden Opleiding Informatica

Joint Entity Resolution

These notes present some properties of chordal graphs, a set of undirected graphs that are important for undirected graphical models.

Distributed minimum spanning tree problem

Improving the Static Analysis of Loops by Dynamic Partitioning Techniques

PLANAR GRAPH BIPARTIZATION IN LINEAR TIME

Safra's Büchi determinization algorithm

CIS 500 Software Foundations Fall September 25

Slides for Faculty Oxford University Press All rights reserved.

Faster parameterized algorithms for Minimum Fill-In

Lecture 4: Rational IPs, Polyhedron, Decomposition Theorem

Bijective counting of tree-rooted maps and connection with shuffles of parenthesis systems

The 3-Steiner Root Problem

RT-Studio: A tool for modular design and analysis of realtime systems using Interpreted Time Petri Nets

Matching Algorithms for User Notification in Digital Libraries

3.7 Denotational Semantics

Dynamic Cutoff Detection in Parameterized Concurrent Programs

COL351: Analysis and Design of Algorithms (CSE, IITD, Semester-I ) Name: Entry number:

Move-to-front algorithm

Faster parameterized algorithms for Minimum Fill-In

Introduction to Lexical Analysis

Lecture 4: September 11, 2003

TRANSPARENCY ANALYSIS OF PETRI NET BASED LOGIC CONTROLLERS A MEASURE FOR SOFTWARE QUALITY IN AUTOMATION

Computation of enabled transition instances for colored Petri nets

CAP 4630 Artificial Intelligence

Implementation of Lexical Analysis

Type Systems Winter Semester 2006

Implementation of Lexical Analysis

Implementation of Lexical Analysis

Transcription:

A counter-example to the minimal coverability tree algorithm A. Finkel, G. Geeraerts, J.-F. Raskin and L. Van Begin Abstract In [1], an algorithm to compute a minimal coverability tree for Petri nets has been presented. This document demonstrates, thanks to a simple counter-example, that this algorithm may compute an under-approximation of a coverability tree, i.e. a tree whose set of nodes is not sufficient to cover all the reachable markings. 1 Preliminaries Definition 1 A Petri Net (PN for short) N is a tuple P, T, m 0, where P = {p 1, p 2,... p n } is a finite set of places, T is finite set of transitions. A marking of the places is a function m : P N. A marking m can also be seen as a vector v such that v T = [m(p 1 ), m(p 2 ),..., m(p n )]. m 0 is the initial marking. A transition t T is a pair I, O where I : P N and O : P N. Given a Petri net N = P, T, m 0, an ω-marking is a function m that associates to each place of P either a natural number, or ω. Notice that markings are particular cases of ω-markings. We define ω + c = ω and ω c = ω for all c N. Definition 2 Given a PN N = P, T, m 0, and an ω-marking m of N, a transition t = I, O is said to be enabled in m iff p P : m(p) I(p). An enabled transition t = I, O can occur, which transforms the ω-marking m into a new ω-marking m (we denote this by m t m ). m is computed as follows: p P : m (p) = m(p) I(p) + O(p). We note m m when there exists a sequence of transitions t 1,..., t k and a sequence of ω-markings m 1,..., m k 1 such that m t 1 t m 2 t k 1 k 1... m k 1 m. The set of reachable markings of N, noted RS(N ), is the set {m m 0 m}. Given two ω-markings m 1 and m 2 ranging over set of places P, we have m 1 m 2 iff p P : m 1 (p) m 2 (p). In particular: i < ω, for any i N. Moreover m 1 m 2 iff m 1 m 2 and m 2 m 1. A coverability set of a PN N = P, T, m 0 is a set of ω-markings CS(N ) such that RS(N ) = {m N P m CS(N ) : m m }. A coverability set CS(N ) is minimal if and only if m, m CS(N ) : m m implies m = m. Proposition 1 For any PN N, there exists a minimal coverability set CS(N ) such that (i) CS(N ) is unique and (ii) CS(N ) is finite. Definition 3 A labelled tree of a Petri net N = P, T, m 0 is a directed acyclic graph N, root, B, Λ where N is a finite set of nodes, root is the root node, B N N is a transition relation and Λ : B (N {ω}) N is a function labelling the nodes by ω-markings of N. B is such that (i) for all n N \ {root}, there exists one and only one n N such that B(n, n) and (ii) there does not exist n N such that B(n, root). 1

A labelled tree T = N, root, B, Λ is a coverability tree for the Petri net N = P, T, m 0 if the set {m n N : Λ(n) = m} is a coverability set of N. If that set is the minimal coverability set of N, we say that T is a minimal coverability tree. 2 The minimal coverability tree algorithm [1] In this section we briefly recall the main ideas of the algorithm to compute a minimal coverability tree, as presented by Finkel in [1]. The algorithm is given at Algorithm 1. Let us first detail several auxiliary function we use in the algorithm. Given a labelled tree T, nodes(t ) returns the set of all the nodes of T. Given a node n, subtree(n) returns the maximal subtree rooted at n. Algorithm 1 is essentially a refinement of the classical Karp&Miller algorithm, see [2]. A set to treat holds the nodes that are waiting to be processed (initially, this sets contains the root node of the labelled tree, whose label is the initial marking of the net). The processing of a node consist in trying to apply several reduction rules, which are detailed along the various cases of the if. Whenever there exists in the labelled tree computed so far a node n 1 that is larger than the node n currently processed, the algorithm decides to discard n. This node gets suppressed from the labelled tree. When one finds in the labelled tree computed so far a node n 1 that is smaller than n, the Accelerate function, which is the same as in the K&M algorithm, is first called. Remark that in the case where n has no ancestor smaller than itself, the function simply returns Λ(n). Accelerate(n) begin m ω Λ(n) ; m Λ(n) ; foreach ancestor n 1 of n s.t. Λ(n 1 ) m do m 1 Λ(n 1 ) ; foreach place p s.t. m 1 (p) < m(p) do m ω (p) ω ; end return(m ω ) ; Then, we check whether there exists an ancestor n 1 of n that is smaller than n. In this case, the marking returned by Accelerate contains ω s, and we place it as high as possible in the labelled tree. Finally, we look at all the other nodes that are smaller than n (without being one of its ancestors). Of course, all these nodes have to be forgotten. Finally, in the case where none of the reductions could be applied, we simply develop the successors of the node n that has been taken out of to treat, and add them to the labelled tree, as well as to to treat. 3 Counter-example to the algorithm This section presents our counter-example to the algorithm recalled in the previous section. The algorithm presented in [1] is supposed to compute the minimal coverability set of any 2

Algorithm 1: The solution of [1] to compute a minimal coverability tree of a Petri net. Data : A Petri net P with initial marking m 0. Result : a minimal coverability tree of P. begin Let T = N, n 0, B, Λ be the labelled tree computed as follows: to treat = {n 0 } such that Λ(n 0 ) = m 0, N = {n 0 }, B = ; while to treat do chose and remove n in to treat ; if There is n 1 N s.t. Λ(n) = Λ(n 1 ) then /* Nothing to do */ end else if There is n 1 N s.t. Λ(n) Λ(n 1 ) then /* n being smaller, we can forget it */ N N \ {n} ; Let n be the direct ancestor of n ; B B \ (n, n); else if There is n 1 N s.t. Λ(n 1 ) Λ(n) then /* The classical Karp& Miller acceleration */ m Accelerate(n) ; /* Ancestors are treated first */ if There is an ancestor n of n s.t. Λ(n ) m then Let n be the highest such ancestor in T ; Λ(n ) m ; to treat to treat \ nodes(subtree(n )) ; Remove subtree(n ) from T (but keep n ) ; to treat to treat {n } ; else to treat to treat {n} ; /* Then the other nodes that are smaller than m */ foreach n N s.t. Λ(n ) m do to treat to treat \ nodes(subtree(n )) ; Remove subtree(n ) from T (including n ) ; else /* When we couldn t apply reductions, we compute the successors of n */ foreach marking m successor of Λ(m) do Let n be a new node s.t. Λ(n ) = m ; N N {n } ; B B {(n, n )} ; to treat to treat {n } ; Return(T ) ; 3

Petri net. The counter-example relies on the Petri net of Fig. 1. Its analysis by Algorithm 1 is presented at Fig. 2 and 3. It is not difficult to see that not all the reachable markings in the net of Fig. 1 are covered by the labelled tree (Fig.3(b)) obtained at the end of the algorithm. Let us further comment on these figures: Step 1 At the first step (Fig. 2(a)), we first compute the three successors of the initial marking, and add them to the labelled tree. Then, the node that is picked up from to treat is 0, 1, 0, 0, 0, 0, 0. We unroll its successors in a branch of the labelled tree by firing t 2 and t 3. Remark that all the markings obtained so far are incomparable. After the development of t 4, we obtain 0, 0, 1, 0, 1, 0, 0 which is strictly greater than its ancestor 0, 0, 1, 0, 0, 0, 0. The Accelerate function returns the marking 0, 0, 1, 0, ω, 0, 0. Step 2 Fig. 2(b) shows the labelled tree obtained after: (i) having thoroughly applied the acceleration and (ii) having successively picked up the nodes 0, 0, 0, 0, 0, 1, 0 and from to treat. One then obtains the marking m 1 = 0, 0, 1, 0, 3, 0, 0 which is strictly smaller than 0, 0, 1, 0, ω, 0, 0. Hence m 1 is removed from the labelled tree and its successors won t be explored any further. Step 3 At that point, we pick up the node 0, 0, 0, 0, 0, 0, 1 from to treat and compute its unique successor, by firing t 8. This is showed at Fig 2(c). The successor is 0, 1, 0, 0, 1, 0, 0 and is strictly smaller than the previously obtained marking m 2 = 0, 1, 0, 0, 0, 0, 0. Thus, m 2 and its whole subtree (including the marking resulting from the acceleration) disappear from the labelled tree. Step 4 0, 1, 0, 0, 1, 1, 0 is the next marking to be looked at. From this marking, we can compute two successive successors by unrolling the branch labelled t 2 t 3. This is shown at Fig.3(b). We obtain 0, 0, 0, 1, 1, 0, 0 which is strictly smaller than, and thus removed from the labelled tree. At that point, the set to treat is empty and the algorithm terminates. The labelled tree computed by the algorithm is shown at Fig.3(b). However, some reachable markings are not covered by any nodes of this labelled tree. Indeed, if it was the case, we could conclude that the place p 5 is bounded, which is obviously not the case: the sequence t 1 t 2 (t 3 t 4 ) n, which puts n tokens in p 5, can be fired for any n 0. References [1] A. Finkel. The minimal coverability graph for Petri nets. In Proceedings of Advances in Petri Nets, volume 674 of LNCS, pages 210 243. Springer, 1993. [2] R. M. Karp and R. E. Miller. Parallel Program Schemata. Journal of Computer and System Sciences, 3:147 195, 1969. 4

p 1 t 5 t 1 t 7 p 6 p 2 p 7 t 6 t 2 t 8 p 3 t 3 2 p 4 p 5 t 4 Figure 1: The Petri net on which the algorithm proposed in [1] may not compute the whole coverability set 5

1, 0, 0, 0, 0, 0, 0 t 5 t 1 t 7 0, 0, 0, 0, 0, 1, 0 0, 1, 0, 0, 0, 0, 0 0, 0, 0, 0, 0, 0, 1 t 2 0, 0, 1, 0, 0, 0, 0 t 3 t 4 0, 0, 1, 0, 1, 0, 0 (a) Step 1 1, 0, 0, 0, 0, 0, 0 0, 0, 0, 0, 0, 1, 0 0, 1, 0, 0, 0, 0, 0 0, 0, 0, 0, 0, 0, 1 t 6 0, 0, 1, 0, ω, 0, 0 t 4 < 0, 0, 1, 0, 3, 0, 0 (b) Step 2 1, 0, 0, 0, 0, 0, 0 0, 0, 0, 0, 0, 1, 0 0, 1, 0, 0, 0, 0, 0 0, 0, 0, 0, 0, 0, 1 < 0, 0, 1, 0, ω, 0, 0 t 8 0, 1, 0, 0, 1, 0, 0 (c) Step 3 Figure 2: A counter-example to Finkel s algorithm 6

1, 0, 0, 0, 0, 0, 0 0, 0, 0, 0, 0, 1, 0 0, 0, 0, 0, 0, 0, 1 0, 1, 0, 0, 1, 0, 0 > t 2 0, 0, 1, 0, 1, 0, 0 t 3 0, 0, 0, 1, 1, 0, 0 (a) Step 4 1, 0, 0, 0, 0, 0, 0 0, 0, 0, 0, 0, 1, 0 0, 0, 0, 0, 0, 0, 1 0, 1, 0, 0, 1, 0, 0 0, 0, 1, 0, 1, 0, 0 (b) The result of the algorithm Figure 3: A counter-example to Finkel s algorithm (cont d) 7