Jinc
Here is a collection of documents I published during my study and the work at the university.
These documents yield the basis for my object-oriented binary decision diagram (BDD) library JINC written in C++.
I recommend reading at least my thesis from 2010, if you are interested in knowing the theoretical background of JINC.
Multi-Threaded
JINC makes use of modern multi-threading architectures. The novel reordering system speeds up the reordering algorithms without changing their implementation. JINC automatically identifies swap operations which can be performed in parallel.
Object-Oriented API
JINC has been designed with the focus on usability. Using JINC is fun and easy. It also provides mechanisms to reduce the memory footprint by several factors by eliminating temporary node creation for complex calculations.
Fast
JINC uses state of the art programming techniques to create a fast, reliable and easy to use OBDD library. Benchmarks showed that JINC (even without using its multi-threading algorithms) can outperform the well established OBDD library CUDD.
JINC offers a wide range of features which haven't been implemented elsewhere. It is the first OBDD library to make use of modern multi-threading architectures.