Automated Reasoning on Feature Models

  • David BenavidesEmail author
  • Pablo Trinidad
  • Antonio Ruiz-Cortés


Software Product Line (SPL) Engineering has proved to be an effective method for software production. However, in the SPL community it is well recognized that variability in SPLs is increasing by the thousands. Hence, an automatic support is needed to deal with variability in SPL. Most of the current proposals for automatic reasoning on SPL are not devised to cope with extra–functional features. In this paper we introduce a proposal to model and reason on an SPL using constraint programming. We take into account functional and extra–functional features, improve current proposals and present a running, yet feasible implementation.


Functional Feature Potential Product Constraint Programming Constraint Satisfaction Problem Software Product Line 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


  1. 1.
    D. Benavides, A. Ruiz-Cortés, and P. Trinidad. Coping with automatic reasoning on software product lines. In Proceedings of the 2nd Groningen Workshop on Software Variability Management, November 2004.Google Scholar
  2. 2.
    M. Bernardo, P. Ciancarini, and L. Donatiello. Architecting families of software systems with process algebras. ACM Transactions on Software Engineering and Methodology, 11(4):386– 426, 2002.CrossRefGoogle Scholar
  3. 3.
    J. Bosch. Design and Use of Software Architectures. Addison-Wesley, 1th edition, 2000.Google Scholar
  4. 4.
    J. Bosch and H. Obbink. Proceedings of the 2nd Groningen Workshop on Software Variability Management. Technical Report to be published, University of Groningen, November 2004.Google Scholar
  5. 5.
    G. Chastek, P. Donohoe, K.C. Kang, and S. Thiel. Product Line Analysis: A Practical Introduction. Technical Report CMU/SEI-2001-TR-001, Software Engineering Institute, Carnegie Mellon University, June 2001.Google Scholar
  6. 6.
    P.C. Clements and L. Northrop. Software Product Lines: Practices and Patterns. SEI Series in Software Engineering. Addison–Wesley, August 2001.Google Scholar
  7. 7.
    K. Czarnecki and U.W. Eisenecker. Generative Programming: Methods, Techniques, and Applications. Addison–Wesley, may 2000. ISBN 0–201–30977–7.Google Scholar
  8. 8.
    A. van Deursen and P. Klint. Domain–specific language design requires feature descriptions. Journal of Computing and Information Technology, 10(1):1–17, 2002.zbMATHCrossRefGoogle Scholar
  9. 9.
    M. Griss, J. Favaro, and M. d’Alessandro. Integrating feature modeling with the RSEB. In Proceedings of theFifthInternational Conference on Software Reuse, pages 76–85, Canada, 1998.Google Scholar
  10. 10.
    S. Jarzabek, Wai Chun Ong, and Hongyu Zhang. Handling variant requirements in domain modeling. The Journal of Systems and Software, 68(3):171–182, 2003.Google Scholar
  11. 11.
    K. Kang, S. Cohen, J. Hess, W. Novak, and S. Peterson. Feature–Oriented Domain Analysis (FODA) Feasibility Study. Technical Report CMU/SEI-90-TR-21, Software Engineering Institute, Carnegie Mellon University, November 1990.Google Scholar
  12. 12.
    K.C. Kang, S. Kim, J. Lee, K. Kim, E. Shin, and M. Huh. FORM: A feature–oriented reuse method with domain–specific reference architectures. Annals of Software Engineering, 5:143–168, 1998.CrossRefGoogle Scholar
  13. 13.
    K.C. Kang, J. Lee, and P. Donohoe. Feature–Oriented Product Line Engineering. IEEE Software, 19(4):58–65, July/August 2002.Google Scholar
  14. 14.
    M. Mannion. Using First-Order Logic for Product Line Model Validation. In Proceedings of the Second Software Product Line Conference (SPLC2), LNCS 2379, pages 176–187, San Diego, CA, 2002. Springer.Google Scholar
  15. 15.
    K. Marriot and P.J. Stuckey. Programming with Constraints: An Introduction. The MIT Press, 1998.Google Scholar
  16. 16.
    Christian Prehofer. Feature-oriented programming: A new way of object composition. Concurrency and Computation: Practice and Experience, 13(6):465–501, 2001.Google Scholar
  17. 17.
    M. Shaw. Prospects for an engineering discipline of software. IEEE Softw., 7(6):15–24, 1990.Google Scholar
  18. 18.
    M. Sinnema, S. Deelstra, J. Nijhuis, and J. Bosch. COVAMOF: A Framework for Modeling Variability in Software Product Families. In Proceedings of the Third Software Product Line Conference (SPLC04), San Diego, CA, 2004.Google Scholar
  19. 19.
    T. Soininen, J. Tiihonen, T. Männistö, and R. Sulonen. Towards a general ontology of configuration. AI EDAM, 12(4):357–72, 1998.Google Scholar
  20. 20.
    D. Streitferdt, M. Riebisch, and I. Philippow. Details of formalized relations in feature models using ocl. In Proceedings of 10th IEEE International Conference on Engineering of Computer–Based Systems (ECBS 2003), Huntsville, USA. IEEE Computer Society, pages 45–54, 2003.Google Scholar
  21. 21.
    Edward Tsang. Foundations of Constraint Satisfaction. Academic Press, 1995.Google Scholar
  22. 22.
    J. van Gurp, J. Bosch, and M. Svahnberg. On the notion of variability in software product lines. In Proceedings of the Working IEEE/IFIP Conference on Software Architecture (WICSA’01), IEEE Computer Society, pages 45–54, 2001.Google Scholar
  23. 23.
    A. Wasowski. Automatic Generation of Program Families by Model Restrictions. In Proceedings of the Third Software Product Line Conference (SPLC04), San Diego, CA, 2004.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2013

Authors and Affiliations

  • David Benavides
    • 1
    Email author
  • Pablo Trinidad
    • 1
  • Antonio Ruiz-Cortés
    • 1
  1. 1.Dpto. de Lenguajes y Sistemas InformáticosUniversity of SevilleSevilleSpain

Personalised recommendations