2,861 research outputs found
KReach : a tool for reachability in petri nets
We present KReach, a tool for deciding reachability in general Petri nets. The tool is a full implementation of Kosaraju’s original 1982 decision procedure for reachability in VASS. We believe this to be the first implementation of its kind. We include a comprehensive suite of libraries for development with Vector Addition Systems (with States) in the Haskell programming language. KReach serves as a practical tool, and acts as an effective teaching aid for the theory behind the algorithm. Preliminary tests suggest that there are some classes of Petri nets for which we can quickly show unreachability. In particular, using KReach for coverability problems, by reduction to reachability, is competitive even against state-of-the-art coverability checkers
Analysis of Petri Nets and Transition Systems
This paper describes a stand-alone, no-frills tool supporting the analysis of
(labelled) place/transition Petri nets and the synthesis of labelled transition
systems into Petri nets. It is implemented as a collection of independent,
dedicated algorithms which have been designed to operate modularly, portably,
extensibly, and efficiently.Comment: In Proceedings ICE 2015, arXiv:1508.0459
Approaching the Coverability Problem Continuously
The coverability problem for Petri nets plays a central role in the
verification of concurrent shared-memory programs. However, its high
EXPSPACE-complete complexity poses a challenge when encountered in real-world
instances. In this paper, we develop a new approach to this problem which is
primarily based on applying forward coverability in continuous Petri nets as a
pruning criterion inside a backward coverability framework. A cornerstone of
our approach is the efficient encoding of a recently developed polynomial-time
algorithm for reachability in continuous Petri nets into SMT. We demonstrate
the effectiveness of our approach on standard benchmarks from the literature,
which shows that our approach decides significantly more instances than any
existing tool and is in addition often much faster, in particular on large
instances.Comment: 18 pages, 4 figure
Approximating Petri Net Reachability Along Context-free Traces
We investigate the problem asking whether the intersection of a context-free
language (CFL) and a Petri net language (PNL) is empty. Our contribution to
solve this long-standing problem which relates, for instance, to the
reachability analysis of recursive programs over unbounded data domain, is to
identify a class of CFLs called the finite-index CFLs for which the problem is
decidable. The k-index approximation of a CFL can be obtained by discarding all
the words that cannot be derived within a budget k on the number of occurrences
of non-terminals. A finite-index CFL is thus a CFL which coincides with its
k-index approximation for some k. We decide whether the intersection of a
finite-index CFL and a PNL is empty by reducing it to the reachability problem
of Petri nets with weak inhibitor arcs, a class of systems with infinitely many
states for which reachability is known to be decidable. Conversely, we show
that the reachability problem for a Petri net with weak inhibitor arcs reduces
to the emptiness problem of a finite-index CFL intersected with a PNL.Comment: 16 page
The Reachability Problem for Petri Nets is Not Elementary
Petri nets, also known as vector addition systems, are a long established
model of concurrency with extensive applications in modelling and analysis of
hardware, software and database systems, as well as chemical, biological and
business processes. The central algorithmic problem for Petri nets is
reachability: whether from the given initial configuration there exists a
sequence of valid execution steps that reaches the given final configuration.
The complexity of the problem has remained unsettled since the 1960s, and it is
one of the most prominent open questions in the theory of verification.
Decidability was proved by Mayr in his seminal STOC 1981 work, and the
currently best published upper bound is non-primitive recursive Ackermannian of
Leroux and Schmitz from LICS 2019. We establish a non-elementary lower bound,
i.e. that the reachability problem needs a tower of exponentials of time and
space. Until this work, the best lower bound has been exponential space, due to
Lipton in 1976. The new lower bound is a major breakthrough for several
reasons. Firstly, it shows that the reachability problem is much harder than
the coverability (i.e., state reachability) problem, which is also ubiquitous
but has been known to be complete for exponential space since the late 1970s.
Secondly, it implies that a plethora of problems from formal languages, logic,
concurrent systems, process calculi and other areas, that are known to admit
reductions from the Petri nets reachability problem, are also not elementary.
Thirdly, it makes obsolete the currently best lower bounds for the reachability
problems for two key extensions of Petri nets: with branching and with a
pushdown stack.Comment: Final version of STOC'1
Recommended from our members
Petri net equivalence
Determining whether two Petri nets are equivalent is an interesting problem from both practical and theoretical standpoints. Although it is undecidable in the general case, for many interesting nets the equivalence problem is solvable. This paper explores, mostly from a theoretical point of view, some of the issues of Petri net equivalence, including both reachability sets and languages. Some new definitions of reachability set equivalence are described which allow the markings of some places to be treated identically or ignored, analogous to the Petri net languages in which multiple transitions may be labeled with the same symbol or with the empty string. The complexity of some decidable Petri net equivalence problems is analyzed
Recommended from our members
Graph models for reachability analysis of concurrent programs
Reachability analysis is an attractive technique for analysis of concurrent programs because it is simple and relatively straightforward to automate, and can be used in conjunction with model-checking procedures to check for application-specific as well as general properties. Several techniques have been proposed differing mainly on the model used; some of these propose the use of flowgraph based models, some others of Petri nets.This paper addresses the question: What essential difference does it make, if any, what sort of finite-state model we extract from program texts for purposes of reachability analysis? How do they differ in expressive power, decision power, or accuracy? Since each is intended to model synchronization structure while abstracting away other features, one would expect them to be roughly equivalent.We confirm that there is no essential semantic difference between the most well known models proposed in the literature by providing algorithms for translation among these models. This implies that the choice of model rests on other factors, including convenience and efficiency.Since combinatorial explosion is the primary impediment to application of reachability analysis, a particular concern in choosing a model is facilitating divide-and-conquer analysis of large programs. Recently, much interest in finite-state verification systems has centered on algebraic theories of concurrency. Yeh and Young have exploited algebraic structure to decompose reachability analysis based on a flowgraph model. The semantic equivalence of graph and Petri net based models suggests that one ought to be able to apply a similar strategy for decomposing Petri nets. We show this is indeed possible through application of category theory
Recommended from our members
Analyzing safety and fault tolerance using time Petri nets
The application of time Petri net modelling and analysis techniques to safety-critical real-time systems is explored and procedures described which allow analysis of safety, recoverability, and fault tolerance. These procedures can be used to help determine software requirements, to guide the use of fault detection and recovery procedures, to determine conditions which require immediate miti gating action to prevent accidents, etc. Thus it is possible to establish important properties duing the synthesis of the system and software design instead of using guesswork and costly a posteriori analysis
Forward Analysis and Model Checking for Trace Bounded WSTS
We investigate a subclass of well-structured transition systems (WSTS), the
bounded---in the sense of Ginsburg and Spanier (Trans. AMS 1964)---complete
deterministic ones, which we claim provide an adequate basis for the study of
forward analyses as developed by Finkel and Goubault-Larrecq (Logic. Meth.
Comput. Sci. 2012). Indeed, we prove that, unlike other conditions considered
previously for the termination of forward analysis, boundedness is decidable.
Boundedness turns out to be a valuable restriction for WSTS verification, as we
show that it further allows to decide all -regular properties on the
set of infinite traces of the system
- …