Jörn Ossowski


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.


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.


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.

All about JINC and its theoretical background
JINC is an object-oriented binary decision diagram (BDD) library written in C++. The main intention while developing JINC was to design a simple to use API. The clean design of JINC also led to a run-time and space-efficient implementation.
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.