The img package
Methods for performing image computations.
By Marco Roveri
This package is used to compute the image (forward or
backward) of a set. The problem of computing images is fundamental
in many symbolic analisys techniques (reachability analisys, model
checking of CTL formulas, ...). The "img" package offers the user an
interface wich is independent from the techique choosen to represent
the transition relation.
Actually four methods are offered to users:
- Monolithic: This is the most naive approach possible. A
single relation R(s,s') is constructed during the compilation.
- Disjunctive: The transition relation is decomposed in an
implicit disjunction of transition relations. In this way,
instead of performing the image computation by a relational
product between big BDDs, we perform n (where
n is the number of disjunct) relational proiduct
between small BDDs (we use the distibution of existe among
disjunction). This technique is useful when the model is
completely asyncronous.
- Conjunctive: The transition relation is decomposed in an
implicit conjunction of transition relations (usually called
clusters). This technique is based on the early quantification
heuristic.
- No heuristic: In this method the clusters are built
according to a given threshold. After the clustering the
early quantification is performed.
- IWLS95: In this method is an improvement of the
above. First of all for each variable is constructed its
transition function. Then these transitions (which are
implicitly conjoined) are ordered according to the algorithm
described in "Efficient BDD Algorithms for FSM Synthesis and
Verification", by R. K. Ranjan et. al. in the proceedings of
IWLS'95. After this ordering the transition relations are
grouped together, making a cluster whenever the BDD size (number
of BDD nodes) reaches a threshold. After the clustering,
clusters are ordered according the IWLS95 algorithm. In this
method the order of clusters is differente for forward and
backward image computation, and the corresponding routines
are called with the appropriate order of clustering and
early quantification schedule.
Last updated on 990908 16h51