Deciding structural liveness of Petri nets
Place/transition Petri nets are a standard model for a class of distributed systems whose reachability spaces might be infinite. One of well-studied topics is the verification of safety and liveness properties in this model; despite the extensive research effort, some basic problems remain open, which is exemplified by the open complexity status of the reachability problem. The liveness problems are known to be closely related to the reachability problem, and many structural properties of nets that are related to liveness have been studied.
Somewhat surprisingly, the decidability status of the problem if a net is structurally live, i.e. if there is an initial marking for which it is live, has remained open, as also a recent paper (Best and Esparza, 2016) emphasizes. Here we show that the structural liveness problem for Petri nets is decidable.
A crucial ingredient of the proof is the result by Leroux (LiCS 2013) showing that we can compute a finite (Presburger) description of the reachability set for a marked Petri net if this set is semilinear.
Petri nets are a standard tool for modeling and analysing a class of distributed systems; we can name [reisig2013] as a recent introductory monograph for this area. A natural part of the analysis of such systems is checking the safety and/or liveness properties, where the question of deadlock-freeness is just one example.
The classical version of place/transition Petri nets (exemplified by Fig. 1) is used to model systems with potentially infinite state spaces; here the decidability and/or complexity questions for respective analysis problems are often intricate. E.g., despite several decades of research the complexity status of the basic problem of reachability (can the system get from one given configuration to another?) remains unclear; we know that the problem is -hard due to a classical construction by Lipton (see, e.g., [DBLP:conf/ac/Esparza96]) but the known upper complexity bounds are not primitive recursive (we can refer to [DBLP:conf/lics/LerouxS15] and the references therein for further information).
The liveness of a transition (modelling a system action) is a related problem; its complementary problem asks if for a given initial marking (modelling an initial system configuration) the net enables to reach a marking in which the transition is dead, in the sense that it can be never performed in the future. A marked net , i.e. a net with an initial marking , is live if all its transitions are live.
The close relationship of the problems of reachability and liveness has been clear since the early works by Hack [DBLP:conf/focs/Hack74, DBLP:books/garland/Hack75]. Nevertheless, the situation is different for the problem of structural liveness that asks, given a net , if there is a marking such that is live. Though semidecidability of structural liveness is clear from the above facts, the decidability question has been open so far: see, e.g., the overview [wimmel2008] and in particular the recent paper [DBLP:journals/ipl/BestE16] where this problem (STLP) is discussed in the Concluding Remarks section.
Here we show the decidability of structural liveness, by showing the semidecidability of the complementary problem. The idea is to construct, for a given net , a marked net (partly sketched in Fig. LABEL:fig:decidpslp) that works in two phases (controlled by additional places): in the first phase, an arbitrary marking from the set of markings with at least one dead transition is generated, and then is simulated in the reverse mode from . If is not structurally live, then the projection of the reachability set of to the set of places of is the whole set ; if is structurally live, then there is such that the projection of any marking reachable from differs from .
In the first case (with the whole set ) the reachability set of is surely semilinear, i.e. Presburger definable. Due to a result by Leroux [DBLP:conf/lics/Leroux13], there is an algorithm that finishes with a Presburger description of the reachability set of when it is semilinear (while it can go forever when not). This yields the announced semidecidability.
The construction of the above mentioned (downward closed) set is standard; the crucial ingredient of our proof is the mentioned result by Leroux. Another ingredient is the decidability of reachability; nevertheless it is not clear that the reachability reduces to the structural liveness, and the complexity of the structural liveness problem is left open for future research.
Section 2 provides the necessary formal background, and Section LABEL:sec:SLPdecid shows the decidability result. In Section LABEL:sec:AddRem a few comments are added, and in particular an example of a net is given where the set of live markings is not semilinear.
2 Basic definitions
By we denote the set . For a set , by we denote the set of finite sequences of elements of , and denotes the empty sequence.
A Petri net, or just a net for short, is a tuple where and are two disjoint finite sets of places and transitions, respectively, and is the weighted flow function. A marking of is an element of , a mapping from to , often viewed also as a vector with components.
Assuming a net , for each we define the following relation on :