A BDD-Like implementation of an automata package

  • Authors:
  • Jean-Michel Couvreur

  • Affiliations:
  • LSV, ENS Cachan, Cachan, France

  • Venue:
  • CIAA'04 Proceedings of the 9th international conference on Implementation and Application of Automata
  • Year:
  • 2004

Quantified Score

Hi-index 0.00

Visualization

Abstract

Finite Automata are basic structures that appear in many areas of Computer Science and other disciplines. The emergence of new tools based on automata for the manipulation of infinite structures [4,5,1] makes a crucial challenge of improving the efficiency of automata packages. The present work is motivated by model-checking problems. where most of the algorithms are based on fixed point computations that share many identical subcomputations. A promising track is the realization of a BDD-like package because BDDs have proved these capability to take advantage of this aspect when using cache technique. Since Bryant’s original publication of BDD algorithms [2], there has been a great deal of research in the area. One of the most powerful applications of BDDs has been symbolic model checking, used to formally verify digital circuits and other finite state systems [3]. A BDD package is based on an efficient implementation of the if-then-else (ITE) operator. It uses essentially two principles: (1) a hash table, called unique table, maintains a strong canonical form in BDDs and stores a forest of BDDs sharing common substructures, (2) a hash table, called computed cache, keeps subresults when evaluating a recursive ITE operation.