Biddy
is a multi-platform academic
Binary Decision Diagrams
package.
Biddy is free software released under GPL.
Biddy supports ROBDDs without and with complemented edges.
Biddy supports 0-sup-BDDs without and with complemented edges.
Biddy supports TZBDDs (tagged form of 0-sup-BDDs).
Biddy supports automatic garbage collection and sifting algorithm.
Biddy is oriented towards readable and comprehensible source code in C.
Biddy is used in EST, a tool for formal verification of systems.
bddview
bddview is a pure Tcl/Tk script for visualization of BDDs.
bddview is a graph viewer only and does not use a BDD package.
bddview has been released into the public domain.
BDD Scout
BDD Scout is a demo application demonstrating the capability of Biddy and bddview.
You will need
Tcl/Tk + BWidgets
to run it.
You have to install Graphviz
to be able to visualize BDDs created by Biddy.
You have to install Ghostscript
to be able to export BDDs as PNG images and PDF documents.
Download
If you are new to BDDs or just very curious about theirs properties, check out the BDD Encyclopedia.
If you want to try BDD Scout, download it. Statically linked program should run even if Biddy library is not installed on your computer (and it will not use your Biddy library if
you have one). Deb and rpm files include dynamically linked program,
thus you will also need appropriate libbiddy and extensions packages.
If you want to make your own project using Biddy, you need the
development version of Biddy.
If you try to run a program which uses Biddy library, but you do
not have it, download the binary version of Biddy. It contains Biddy
library, only.
If you are interested in changing Biddy library, download the
complete source code of the Biddy project, which includes sources
of bddview, sources of BDD Scout, and also various makefiles and
packaging scripts.
The latest sources can be obtained from
Savannah SVN repository.
You can fork this project on
https://github.com/meolic/biddy.
Bugs can be reported via author's email or through
Savannah portal.
Ubuntu users, please use
ppa:meolic/biddy.
Windows users, please check
Biddy in Visual Studio projects.
Ask for packages of other types or for other systems and we will generate it.
Documentation
Here is a HTML documentation produced by doxygen.
Here is a PDF documentation produced by doxygen.
Here are examples demonstrating the usage of Biddy library in C projects: biddydemo1.c, biddydemo2.c.
Here is a not-so-trivial biddydemo3.cpp demonstrating the usage of Biddy library in C++ projects.
External links
R. Meolic. The Biddy BDD package. 2019
R. Meolic, Z. Brezocnik. Flexible job shop scheduling using zero-suppressed binary decision diagrams. 2018
T. van Dijk, R. Wille, R. Meolic. Tagged BDDs: Combining Reduction Rules from Different Decision Diagram Types. 2017
R. Meolic. Implementation aspects of a BDD package supporting general decision diagrams. 2016
R. Meolic. Biddy - a multi-platform academic BDD package. 2012
G. Janssen. A Consumer Report on BDD Packages. 2003
R. Rudell. Dynamic variable ordering for ordered binary decision diagrams. 1993
S. Minato. Zero-suppressed BDDs for set manipulation in combinatorial problems. 1993
K. S. Brace, R. L. Rudell, and R. E. Bryant. Efficient Implementation of a BDD Package. 1990
Biddy the Hedgehog - an unrelated, but nevertheless interesting project!
|
Screenshots from BDD Scout v1.8.1
An annotated screenshot from BDD Scout 1.8.1
The zoom-out capability allows you to see the whole BDD
You can move nodes and subgraphs
The results of IFIP benchmark test
|