Improving static variable orders via invariants

  • Authors:
  • Gianfranco Ciardo;Gerald Lüttgen;Andy Jinqing Yu

  • Affiliations:
  • Dept. of Computer Science and Engineering, UC Riverside, CA;Dept. of Computer Science, University of York, York, UK;Dept. of Computer Science and Engineering, UC Riverside, CA

  • Venue:
  • ICATPN'07 Proceedings of the 28th international conference on Applications and theory of Petri nets and other models of concurrency
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

Abstract

Choosing a good variable order is crucial for making symbolic state-space generation algorithms truly efficient. One such algorithm is the MDD-based Saturation algorithm for Petri nets implemented in SmArT, whose efficiency relies on exploiting event locality. This paper presents a novel, static ordering heuristic that considers place invariants of Petri nets. In contrast to related work, we use the functional dependencies encoded by invariants to merge decision-diagram variables, rather than to eliminate them. We prove that merging variables always yields smaller MDDs and improves event locality, while eliminating variables may increase MDD sizes and break locality. Combining this idea of merging with heuristics for maximizing event locality, we obtain an algorithm for static variable order which outperforms competing approaches regarding both time-efficiency and memory-efficiency, as we demonstrate by extensive benchmarking.