Abstract
Zero-suppressed binary decision diagrams are used by Polybori for efficiently representing Boolean polynomials. At the moment, they are manipulated via CUDD, which is not specialized on this type of diagrams and only uses C in the implementation. The goal of the project is implementing an independent library in C++, that is specialized on zero-suppressed binary decision diagrams.
Objective
There are no major problems in the current method used to deal with decision diagrams, but implementing the new library will definitely increase Polybori’s usability and efficiency. The things that will be reimplemented are the reference counting, the caching management, the diagram manager and then the operators and methods from the decision diagram class.
Deliverables
The final product will be a well-documented, well-tested and easy to build library, that will help Polybori manipulate Boolean Polynomials without using CUDD in the background, and in a more efficient and specialized way.
Timeline
Time FrameMilestone17 June - 24 JunePrepare unit tests for a wrapper class that works with CUDD in the background25 June - 5 JulyImplement a C++ reference counting method6 July - 11 JulyAdd the new method to the wrapper and test12 July - 26 JulyImplement a C++ cache management method27 July - 2 AugustAdd the new method to the wrapper and testPrepare for midterm evaluation3 August - 16 AugustRe-implement the DdManager, DdNode and DdChild and test them17 August - 31 AugustImplement a C++ ZDD class, with all the operations and methods available in CUDD1 September - 9 SeptemberWrite unit tests that are independent from CUDD10 September - 15 SeptemberOptional: Make an independent C++ library using the new implementations (with a proper build system)Test everything without CUDD16 September - 23 SeptemberFinalize documentationPrepare for final evaluation
No comments:
Post a Comment