A Binary Decision Diagram library, with :
many highly efficient vectorized BDD operations,
dynamic variable reordering,
automated garbage collection,
a C++ interface with automatic reference counting,
and much more.
JJS-BDD provides a library for manipulating switching functions in an efficient way (based on sobdd).
There is a GUI for small bdd's where you can see how bdd's work (for teaching purposes).