Well-structured transition system
In computer science, specifically in the field of formal verification, well-structured transition systems (WSTSs) are a general class of infinite state systems for which many verification problems are decidable, owing to the existence of a kind of order between the states of the system which is compatible with the transitions of the system. WSTS decidability results can be applied to Petri nets, lossy channel systems, and more.
Formal definition
Recall that a well-quasi-ordering on a set is a quasi-ordering (i.e., a preorder or reflexive, transitive binary relation) such that any infinite sequence of elements , from contains an increasing pair with . The set is said to be well-quasi-ordered, or shortly wqo.
For our purposes, a transition system is a structure , where is any set (its elements are called states), and (its elements are called transitions). In general a transition system may have additional structure like initial states, labels on transitions, accepting states, etc. (indicated by the dots), but they do not concern us here.
A well-structured transition system consists of a transition system , such that
- is a well-quasi-ordering on the set of states.
- is upward compatible with : that is, for all transitions (by this we mean ) and for all such that , there exists such that (that is, can be reached from by a sequence of zero or more transitions) and .
Well-structured systems
A well-structured system[1] is a transition system with state set made up from a finite control state set , a data values set , furnished with a decidable pre-order which is extended to states by , which is well-structured as defined above ( is monotonic, i.e. upward compatible, with respect to ) and in addition has a computable set of minima for the set of predecessors of any upward closed subset of .
Well-structured systems adapt the theory of well-structured transition systems for modelling certain classes of systems encountered in computer science and provide the basis for decision procedures to analyse such systems, hence the supplementary requirements: the definition of a WSTS itself says nothing about the computability of the relations , .
Uses in Computer Science
Well-structured Systems
Coverability can be decided for any well-structured system, and so can reachability of a given control state, by the backward algorithm of Abdulla et al.[1] or for specific subclasses of well-structured systems (subject to strict monotonicity,[2] e.g. in the case of unbounded Petri nets) by a forward analysis based on a Karp-Miller coverability graph.
Backward Algorithm
The backward algorithm allows the following question to be answered: given a well-structured system and a state , is there any transition path that leads from a given start state to a state (such a state is said to cover )?
An intuitive explanation for this question is: if represents an error state, then any state containing it should also be regarded as an error state. If a well-quasi-order can be found that models this "containment" of states and which also fulfills the requirement of monotonicity with respect to the transition relation, then this question can be answered.
Instead of one minimal error state , one typically considers an upward closed set of error states.
The algorithm is based on the facts that in a well-quasi-order , any upward closed set has a finite set of minima, and any sequence of upward-closed subsets of converges after finitely many steps (1).
The algorithm needs to store an upward-closed set of states in memory, which it can do because an upward-closed set is representable as a finite set of minima. It starts from the upward closure of the set of error states and computes at each iteration the (by monotonicity also upward-closed) set of immediate predecessors and adding it to the set . This iteration terminates after a finite number of steps, due to the property (1) of well-quasi-orders. If is in the set finally obtained, then the output is "yes" (a state of can be reached), otherwise it is "no" (it is not possible to reach such a state).
References
- Parosh Aziz Abdulla, Kārlis Čerāns, Bengt Jonsson, Yih-Kuen Tsay: Algorithmic Analysis of Programs with Well Quasi-ordered Domains (2000), Information and Computation, Vol. 160 issues 1-2, pp. 109--127
- Alain Finkel and Philippe Schnoebelen, Well-Structured Transition Systems Everywhere!, Theoretical Computer Science 256(1–2), pages 63–92, 2001.