skip to main content
10.1145/1449913.1449918acmconferencesArticle/Chapter ViewAbstractPublication PagesgpceConference Proceedingsconference-collections
research-article

Efficient compilation techniques for large scale feature models

Published:19 October 2008Publication History

ABSTRACT

Feature modeling is used in generative programming and software product-line engineering to capture the common and variable properties of programs within an application domain. The translation of feature models to propositional logics enabled the use of reasoning systems, such as BDD engines, for the analysis and transformation of such models and interactive configurations. Unfortunately, the size of a BDD structure is highly sensitive to the variable ordering used in its construction and an inappropriately chosen ordering may prevent the translation of a feature model into a BDD representation of a tractable size. Finding an optimal order is NP-hard and has for long been addressed by using heuristics.

We review existing general heuristics and heuristics from the hardware circuits domain and experimentally show that they are not effective in reducing the size of BDDs produced from feature models. Based on that analysis we introduce two new heuristics for compiling feature models to BDDs. We demonstrate the effectiveness of these heuristics using publicly available and automatically generated models. Our results are directly applicable in construction of feature modeling tools.

References

  1. F. A. Aloul, I. L. Markov, and K. A. Sakallah. FORCE: a fast and easy-to-implement variable-ordering heuristic. In Proc. of the 13th ACM Great Lakes symposium on VLSI, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. V. Alves, R. Gheyi, T. Massoni, U. Kulesza, P. Borba, and C. Lucena. Refactoring product lines. In GPCE, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. H. R. Andersen. Binary Decision Diagrams. Technical University of Denmark, 1997. Lecture notes for 49285, Advanced Algorithms, E97.Google ScholarGoogle Scholar
  4. D. Batory, D. Benavides, and A. Ruiz-Cortes. Automated analysis of feature models: challenges ahead. Communications of the ACM, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. D. S. Batory. Feature models, grammars, and propositional formulas. In SPLC, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. D. Beuche and M. Dalgarno. Software product line engineering with feature models. In Software Acumen, 2006. http://www.methodsandtools.com/PDF/mt200604.pdf.Google ScholarGoogle Scholar
  7. B. Bollig and I. Wegener. Improving the variable ordering of OBDDs is NP-Complete. IEEE Transac. on Computers, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. F. Brglez and H. Fujiwara. A neutral netlist of 10 combinatorial benchmark circuits and a target translator in FORTRAN. In Int. Symposium on Circuits and Systems, 1985.Google ScholarGoogle Scholar
  9. R. E. Bryant. Graph-based algorithms for boolean function manipulation. IEEE Transactions on Computers, 1986. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. K. Czarnecki and U. W. Eisenecker. Generative Programming: Methods, Tools, and Applications. Addison-Wesley, Boston, MA, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. K. Czarnecki and S. Helsen. Classification of model transformation approaches. In Proc. of the 2nd OOPSLA Workshop on Generative Techniques in the Context of MDA, 2003.Google ScholarGoogle Scholar
  12. K. Czarnecki and K. Pietroszek. Verifying feature-based model templates against well-formedness OCL constriants. In GPCE, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. K. Czarnecki and A. WaÛsowski. Feature models and logics: There and back again. In SPLC 2007. IEEE Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. K. Czarnecki et al. Generative programming for embedded software: An industrial experience report. In GPCE, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. M. Fujita, H. Fujisawa, and N. Kawato. Evaluation and improvement of boolean comparison method based on binary decision diagrams. In ICCAD, 1988.Google ScholarGoogle ScholarCross RefCross Ref
  16. T. Hadzic, R. Jensen, and H. R. Andersen. Notes on calculating valid domains. Manuscript online http://www.itu.dk/~tarik/cvd/cvd.pdf, 2006.Google ScholarGoogle Scholar
  17. T. Hadzic et al. Fast backtrack-free product configuration using a precompiled solution space representation. In PETO Conference, 2004.Google ScholarGoogle Scholar
  18. T. Hadzic et al. Calculating valid domains for BDD-based interactive configuration. CoRR, abs/0704.1394, 2007.Google ScholarGoogle Scholar
  19. K. Kang, S. Cohen, J. Hess, W. Nowak, and S. Peterson. Feature-oriented domain analysis (FODA) feasibility study. Technical Report CMU/SEI-90-TR-21, 1990.Google ScholarGoogle ScholarCross RefCross Ref
  20. S. Q. Lau. Domain analysis of e-commerce systems using feature-based model templates. Master's thesis, Dept. of ECE, University of Waterloo, Canada, 2006.Google ScholarGoogle Scholar
  21. S. Malik, A. Wang, R. Brayton, and A. Sangiovanni-Vincentelli. Logic verification using BDDs in a logic synthesis environment. In ICCAD, 1988.Google ScholarGoogle Scholar
  22. C. Meinel and T. Theobald. Algorithms and Data Structures in VLSI Design. Springer-Verlag, 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. M. Mendonca. Efficient compilation techniques for large scale feature models, 2008. http://csg.uwaterloo.ca/~marcilio/fmcompilation/index.html. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. M. Mendonca, T. T. Bartolomei, and D. Cowan. Decision making coordination in collaborative product configuration. In ACM 23rd Symposium on Applied Computing (SAC'08), 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. J. Moller, H. R. Andersen, and H. Hulgaard. Product configuration over the internet. http://citeseer.ist.psu.edu/531891.html.Google ScholarGoogle Scholar
  26. R. Rudell. Dynamic variable ordering for ordered binary decision diagrams. In ICCAD, 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. J. Whaley. The JavaBDD library, 2003-2008. http://javabdd.sourceforge.net/.Google ScholarGoogle Scholar

Index Terms

  1. Efficient compilation techniques for large scale feature models

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in
      • Published in

        cover image ACM Conferences
        GPCE '08: Proceedings of the 7th international conference on Generative programming and component engineering
        October 2008
        194 pages
        ISBN:9781605582672
        DOI:10.1145/1449913

        Copyright © 2008 ACM

        Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 19 October 2008

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • research-article

        Acceptance Rates

        Overall Acceptance Rate56of180submissions,31%

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader