Skip to main content
Log in

A uniform framework for weighted decision diagrams and its implementation

  • Regular Contribution
  • Published:
International Journal on Software Tools for Technology Transfer Aims and scope Submit manuscript

Abstract

This paper introduces a generic framework for OBDD variants with weighted edges. It covers many boolean and multi-valued OBDD-variants that have been studied in the literature and applied to the symbolic representation and manipulation of discrete functions. Our framework supports reasoning about reducedness and canonicity of new OBDD-variants and provides a platform for the implementation and comparison of OBDD-variants. Furthermore, we introduce a new multi-valued OBDD-variant, called normalized algebraic decision diagram, which supports min/max-operations and turns out to be very useful for, e.g., integer linear programming and model checking probabilistic systems. Finally, we explain the main features of an implementation of a newly developed BDD-package, called JINC, which relies on our generic notion of weighted decision diagrams, and realizes various synthesis algorithms, reordering techniques and transformation algorithms for boolean and multi-terminal OBDDs, with or without edge-attributes, and their zero-suppressed variants.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Bahar, R., Frohm, E., Gaona, C., Hachtel, G., Macii, E., Pardo, A., Somenzi, F.: Algebraic decision diagrams and their applications. In: Proceedings of IEEE/ACM International Conference on CAD, pp. 188–191. IEEE Computer Society Press, Los Angeles (1993)

  2. Bahar, R.I., Frohm, E.A., Gaona, C.M., Hachtel, G.D., Macii, E., Pardo, A., Somenzi, F.: Algebraic decision diagrams and their applications. Formal Methods Syst. Des. 10(2/3), 171–206 (1997)

    Article  Google Scholar 

  3. Baier, C.: On the Algorithmic Verification of Probabilistic Systems. Habilitation, Universität Mannheim (1998)

  4. Becker, B., Drechsler, R., Werchner, R.: On the relation between BDDs and FDDs. Inf. Comput. 123(2), 185–197 (1995)

    Article  MATH  MathSciNet  Google Scholar 

  5. Bianco, A., de Alfaro, L.: Model checking of probabilistic and nondeterministic systems. In: Proceedings of Foundations of Software Technology and Theoretical Computer Science (FST & TCS). Lect. Notes Comput. Sci. 1026, 499–513 (1995)

    Google Scholar 

  6. Biere, A: Abcd is a compact bdd library. http://fmv.jku.at/abcd

  7. Bryant, R.: Graph-based algorithms for boolean function manipulation. IEEE Trans. Comput. C-35, 677–691 (1986)

    Article  Google Scholar 

  8. Bryant, R.E.: Symbolic Boolean manipulation with ordered binary decision diagrams. ACM Comput. Surv. 24(3), 293–318 (1992)

    Article  Google Scholar 

  9. Bryant, R.E., Chen, Y.-A.: Verification of arithmetic circuits using binary moment diagrams. Int. J. Softw. Tools Technol. Transf. 3(2), 137–155 (2001)

    MATH  Google Scholar 

  10. Clarke, E., Fujita, M., McGeer, P., Yang, J., Zhao, X.: Multi-terminal binary decision diagrams: an efficient data structure for matrix representation. In Proceedings of International Workshop on Logic Synthesis (IWLS) (1993)

  11. Clarke, E.M., Fujita, M., Zhao, X.: Hybrid decision diagrams: overcoming the limitations of mtbdds and bmds. In: International Conference on Computer Aided Design, pp. 159–163. IEEE Computer Society Press, Los Angeles (1995)

  12. Drechsler, R., Becker, B.: Binary Decision Diagrams: Theory and Implementation. Kluwer, Boston (1998)

    Google Scholar 

  13. Drechsler, R., Jankovic, D., Stankovic, R.S.: Generic implementation of dd packages in mvl. In: EUROMICRO, pp. 1352–1359 (1999)

  14. Fujita, M., McGeer, P.C., Yang, J.C.-Y.: Multi-terminal binary decision diagrams: an efficient data structure for matrix representation. Formal Methods Syst. Des. 10(2–3), 149–169 (1997)

    Article  Google Scholar 

  15. Fujita, M., McGeer, P.C., Yang, J.C.-Y.: Multi-terminal binary decision diagrams: an efficient data structure for matrix representation. Formal Methods Syst. Des. 10(2/3), 149–169 (1997)

    Article  Google Scholar 

  16. Hachtel, G., Somenzi, F.: Logic Synthesis and Verification Algorithms. Kluwer, Boston (1996)

    MATH  Google Scholar 

  17. Hansson, H., Jonsson, B.: A logic for reasoning about time and reliability. Formal Aspects Comput. 6(5), 512–535 (1994)

    Article  MATH  Google Scholar 

  18. Hansson, H., Jonsson, B.: A logic for reasoning about time and reliability. Formal Aspects Comput. 6(5), 512–535 (1994)

    Article  MATH  Google Scholar 

  19. Herbstritt, M.: wld—a c++ library for decision diagrams. http://ira.informatik.uni-freiburg.de/software/wld

  20. Höreth, S.: Implementation of a multiple-domain decision diagram package. In: Proceedings of the IFIP WG 10.5 International Conference on Correct Hardware Design and Verification Methods, pp. 185–202. Chapman & Hall, London (1997)

  21. Höreth, S.: A word-level graph manipulation package. STTT 3(2), 182–192 (2001)

    MATH  Google Scholar 

  22. Minato, S.i.: Zero-suppressed bdds for set manipulation in combinatorial problems. In: Proceedings of the 30th international conference on Design automation (DAC), pp. 272–277. ACM Press, New York (1993)

  23. Itai, A., Rodeh, M.: Symmetry breaking in distributed networks. Inf. Comput. 88(1), 60–87 (1990)

    Article  MATH  MathSciNet  Google Scholar 

  24. Kam, T., Villa, T., Brayton, R.K., SagiovanniVincentelli, A.L.: Multi-valued decision diagrams: theory and applications. Mult. Valued Logic Int. J. 4(1–2), 9–62 (1998)

    MATH  Google Scholar 

  25. Kebschull, U., Schubert, E., Rosenstiel, W.: Multilevel logic synthesis based on functional decision diagrams. In: Eur. Conf. Des. Autom. pp. 43–47 (1992)

  26. Kwiatkowska, M.: Model checking for probability and time: from theory to practice (invited paper). In: Proceedings of 18th Annual IEEE Symposium on Logic in Computer Science (LICS’03), pp. 351–360. IEEE Computer Society Press, Los Angeles (2003)

  27. Lampka, K., Siegle, M.: Symbolic activity-local state graph generation in the context of Moebius. In: Proceedings of the Satelite Workshop on Stochastic Petri Nets and related Formalisms at the 30’th International Colloquium on Automata, Languages and Programming, Eindhoven, Netherlands, June 28–29 2003

  28. Loekito, E., Bailey J.: Are zero-suppressed binary decision diagrams good for mining frequent patterns in high dimensional datasets? In: Christen, P., Kennedy, P.J., Li, J., Kolyshkina, I., Williams, G.J. (eds) Sixth Australasian Data Mining Conference (AusDM 2007), volume 70 of CRPIT, pages 135–146, Gold Coast, Australia, 2007. ACS

  29. Martin, A., Achterberg, T., Koch, T.: Miplib—mixed integer problem library. http://miplib.zib.de

  30. McMillan, K.: Symbolic model checking. Kluwer Academic Publishers, Boston (1993)

    MATH  Google Scholar 

  31. Meinel, C., Theobald, T.: Algorithms and Data Structures in VLSI Design. Springer, Berlin (1998)

    MATH  Google Scholar 

  32. Minato, S.: Binary decision diagrams and applications for VLSI CAD. Kluwer, Boston (1996)

    MATH  Google Scholar 

  33. Minato, S., Ishiura, N., Yajima, S.: Shared binary decision diagram with attributed edges for efficient boolean function manipulation. In: Proceedings of the 27th ACM/IEEE Design Automation Conference (DAC), pp. 52–57 (1990)

  34. Ossowski, J., Baier, C.: Symbolic reasoning with weighted and normalized decision diagrams. In: Proceedings of the Calculemus 2005 Workshop of FM05 (2005)

  35. Ossowski, J.: Jinc is a fast and object-oriented obdd library. http://www.jossowski.de

  36. Ossowski, J.: Promoc a probabilistic model checker based on jinc. http://www.jossowski.de

  37. Buddy Obdd Package: A comparison study between the cudd and buddy. http://citeseer.ist.psu.edu/603059.html

  38. Parker, D.: Implementation of Symbolic Model Checking for Probabilistic Systems. Ph.D. thesis, University of Birmingham, (2002)

  39. Drechsler, R., Becker, B., Ruppertz, S.: K*BMDs: a new data structure for verification. In: IFI WG 10.5 Advanced Research Working Conference on Correct Hardware Design and Verification Methods, Frankfurt, Germany (1995)

  40. Schrijver, A.: Theory of Linear and Integer Programming. Wiley, New York (1998)

    MATH  Google Scholar 

  41. Somenzi, F.: Cudd: Cu decision diagram package release (1998)

  42. Somenzi, F.: Efficient manipulation of decision diagrams. STTT 3(2), 171–181 (2001)

    MATH  Google Scholar 

  43. Tafertshofer, P., Pedram, M.: Factored edge-valued binary decision diagrams. Formal Methods Syst. Des. 10(2–3), 243–270 (1997)

    Article  Google Scholar 

  44. Vrudhula, S., Pedram, M., Lai, Y.-T.: Edge-valued binary decision diagrams. Representations of Discrete Functions, pp. 109–132 (1996)

  45. Wegener, I.: Branching Programs and Binary Decision Diagrams. Theory and Applications. In: Monographs on Discrete Mathematics and Applications, SIAM (2000)

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Jörn Ossowski.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Ossowski, J., Baier, C. A uniform framework for weighted decision diagrams and its implementation. Int J Softw Tools Technol Transfer 10, 425–441 (2008). https://doi.org/10.1007/s10009-008-0069-y

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10009-008-0069-y

Keywords

Navigation