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.
Similar content being viewed by others
References
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)
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)
Baier, C.: On the Algorithmic Verification of Probabilistic Systems. Habilitation, Universität Mannheim (1998)
Becker, B., Drechsler, R., Werchner, R.: On the relation between BDDs and FDDs. Inf. Comput. 123(2), 185–197 (1995)
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)
Biere, A: Abcd is a compact bdd library. http://fmv.jku.at/abcd
Bryant, R.: Graph-based algorithms for boolean function manipulation. IEEE Trans. Comput. C-35, 677–691 (1986)
Bryant, R.E.: Symbolic Boolean manipulation with ordered binary decision diagrams. ACM Comput. Surv. 24(3), 293–318 (1992)
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)
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)
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)
Drechsler, R., Becker, B.: Binary Decision Diagrams: Theory and Implementation. Kluwer, Boston (1998)
Drechsler, R., Jankovic, D., Stankovic, R.S.: Generic implementation of dd packages in mvl. In: EUROMICRO, pp. 1352–1359 (1999)
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)
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)
Hachtel, G., Somenzi, F.: Logic Synthesis and Verification Algorithms. Kluwer, Boston (1996)
Hansson, H., Jonsson, B.: A logic for reasoning about time and reliability. Formal Aspects Comput. 6(5), 512–535 (1994)
Hansson, H., Jonsson, B.: A logic for reasoning about time and reliability. Formal Aspects Comput. 6(5), 512–535 (1994)
Herbstritt, M.: wld—a c++ library for decision diagrams. http://ira.informatik.uni-freiburg.de/software/wld
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)
Höreth, S.: A word-level graph manipulation package. STTT 3(2), 182–192 (2001)
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)
Itai, A., Rodeh, M.: Symmetry breaking in distributed networks. Inf. Comput. 88(1), 60–87 (1990)
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)
Kebschull, U., Schubert, E., Rosenstiel, W.: Multilevel logic synthesis based on functional decision diagrams. In: Eur. Conf. Des. Autom. pp. 43–47 (1992)
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)
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
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
Martin, A., Achterberg, T., Koch, T.: Miplib—mixed integer problem library. http://miplib.zib.de
McMillan, K.: Symbolic model checking. Kluwer Academic Publishers, Boston (1993)
Meinel, C., Theobald, T.: Algorithms and Data Structures in VLSI Design. Springer, Berlin (1998)
Minato, S.: Binary decision diagrams and applications for VLSI CAD. Kluwer, Boston (1996)
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)
Ossowski, J., Baier, C.: Symbolic reasoning with weighted and normalized decision diagrams. In: Proceedings of the Calculemus 2005 Workshop of FM05 (2005)
Ossowski, J.: Jinc is a fast and object-oriented obdd library. http://www.jossowski.de
Ossowski, J.: Promoc a probabilistic model checker based on jinc. http://www.jossowski.de
Buddy Obdd Package: A comparison study between the cudd and buddy. http://citeseer.ist.psu.edu/603059.html
Parker, D.: Implementation of Symbolic Model Checking for Probabilistic Systems. Ph.D. thesis, University of Birmingham, (2002)
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)
Schrijver, A.: Theory of Linear and Integer Programming. Wiley, New York (1998)
Somenzi, F.: Cudd: Cu decision diagram package release (1998)
Somenzi, F.: Efficient manipulation of decision diagrams. STTT 3(2), 171–181 (2001)
Tafertshofer, P., Pedram, M.: Factored edge-valued binary decision diagrams. Formal Methods Syst. Des. 10(2–3), 243–270 (1997)
Vrudhula, S., Pedram, M., Lai, Y.-T.: Edge-valued binary decision diagrams. Representations of Discrete Functions, pp. 109–132 (1996)
Wegener, I.: Branching Programs and Binary Decision Diagrams. Theory and Applications. In: Monographs on Discrete Mathematics and Applications, SIAM (2000)
Author information
Authors and Affiliations
Corresponding author
Rights 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
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10009-008-0069-y