Hierarchical Reachability Graph Generation for Petri Nets
310 BUCHHOLZ AND KEMPERof bisimulation-like equivalences and the reduction of LN matrices with respect to suchequivalences, we refer to [5, 11].8. An application exampleThe running example we have considered so far is only useful for illustrating formal concepts.In order to demonstrate the applicability of our approach, we consider the productioncell of , which has been subject to modeling and analysis by a variety of tools and whichis known to be non-trivial. The production cell model originates from an existing productioncell in an industrial setting that physically consists of six components: an elevating rotarytable, two arms of a robot, a traveling crane, and two conveyor belts. The production cellperforms transportation and processes metal plates in a (cyclic) pipeline. A feeding conveyorbelt transports metal plates to the elevating table; the table lifts plates for the robot. The robothas two extendable arms; it uses one to take plates from the table and to insert them into thepress. After plates have been pressed, the robot removes them from the press with its secondarm and puts them onto the second conveyor belt. Originally plates leave the system by thesecond belt, but in order to have a closed system, the crane is installed to put plates fromthe second belt onto the feeding belt, such that the number of plates within the system isconstant. Thanks to the work of Heiner et al. [26, 27], a Petri net model exists that considersprocessing of 5 plates. Refinement is used to organize a model of this size; however, thedynamic behavior of the model is not defined unless all refined subnets are available in fulldetail. This kind of hierarchy is very common for modeling purposes, but useless in termsof analysis. Hence, our analysis starts from a flat Place/Transition net with 231 places and202 transitions. 4 From  it is known that the net is live and 1-bounded. The reachabilityset contains 1,657,242 markings, and the reachability graph contains 6,746,379 transitions.The algorithm to derive a hierarchy starts from a partition into minimal regions and considersa sequence of transitions s that starts with transitions being internal to a region (whichis the case for 74 transitions in our example). After this initial phase, it selects transitionsthat connect regions in an order that prefers transitions connecting small regions. Figure 7shows how the total number of regions decreases once the inital phase has finished. On theother hand, the number of non-trivial regions initially increases, since the algorithm preferssmall regions, and finally decreases when there are no trivial regions left and non-trivialregions are merged. Table 1 indicates the influence of s on the hierarchical representationof RS; it gives the number of regions (non-trivial and in total), the number of aggregatedplaces P agg , cardinalities of the hierarchical reachability set RS h , the reachability set of thehigh-level net RS(HN), and the maximal number of markings observed in a low-level net.The quality of the whole construction is shown in column “percent RS(PN),” which givesthe reachable fraction of RS h . Table 2 gives corresponding computation times in secondsfor the computation of the two-level hierarchy as net in column “gen hierarchy”, as a hierarchicalKronecker structure in column “gen kron”, and the subsequent computation ofthe reachability set RS(PN) contained in RS h (PN) in column “gen struct RS”; times aregiven as CPU time and user (wall clock) time. These times have been observed on an IntelPentium III PC with 500 MHz CPU, 256 MB main memory running Linux. Obviously,computation times are uncritical if the number of aggregated places does not explode.
HIERARCHICAL REACHABILITY GRAPH GENERATION FOR PETRI NETS 311Figure 7.Total number of regions, number of non-trivial regions.It is worth mentioning that it takes about 20 seconds to generate the complete reachabilityset and reachability graph and represent them in a very space-efficient way. About6 Megabytes memory space are necessary to generate and represent RG and RS. Thesevalues are excellent compared to conventional RG generation algorithms. In  the samemodel has been analyzed on a workstation using different PN analysis tools. RG generationwith the tool PROD needs about 14 hours (see ). The small runtimes and storageTable 1. Hierarchical representation for sequence s.|s| reg, total reg, non-tr P agg RS h RS(HN) Max RS(j) Percent RS(PN)108 10 9 137 10389356 3298 631 15.95109 9 8 148 10389356 3225 631 15.95110 8 8 396 8182196 2109 631 20.25111 7 7 397 4860218 1414 631 34.10112 6 6 430 4860218 1361 631 34.10113 5 5 511 4860218 1303 631 34.10Table 2. Computation characteristics for sequence s.gen hierarchy gen kron gen struct RS|s| CPU user CPU user CPU user108 0.05 1.0 2.26 2.0 19.82 23.0109 0.07 1.0 2.32 3.0 17.18 18.0110 0.32 1.0 4.37 5.0 17.13 17.0111 0.31 1.0 3.62 4.0 15.16 18.0112 0.34 1.0 3.68 4.0 13.35 15.0113 0.40 1.0 4.48 4.0 12.59 14.0