Automated Reasoning on Feature Models

  • David Benavides
  • Pablo Trinidad
  • Antonio Ruiz-Cortés
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3520)


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 Automate Reasoning 
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.
    Benavides, D., Ruiz-Cortés, A., Trinidad, P.: 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.
    Bernardo, M., Ciancarini, P., Donatiello, L.: Architecting families of software systems with process algebras. ACM Transactions on Software Engineering and Methodology 11(4), 386–426 (2002)CrossRefGoogle Scholar
  3. 3.
    Bosch, J.: Design and Use of Software Architectures, 1st edn. Addison-Wesley, Reading (2000)Google Scholar
  4. 4.
    Bosch, J., Obbink, H.: Proceedings of the 2nd Groningen Workshop on Software Variability Management. Technical Report to be published, University of Groningen (November 2004)Google Scholar
  5. 5.
    Chastek, G., Donohoe, P., Kang, K.C., Thiel, S.: 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.
    Clements, P.C., Northrop, L.: Software Product Lines: Practices and Patterns. SEI Series in Software Engineering, Addison Wesley, Reading (2001)Google Scholar
  7. 7.
    Czarnecki, K., Eisenecker, U.W.: Generative Programming: Methods, Techniques, and Applications. Addison–Wesley, Reading (2000) ISBN 0–201–30977–7Google Scholar
  8. 8.
    van Deursen, A., Klint, P.: Domain–specific language design requires feature descriptions. Journal of Computing and Information Technology 10(1), 1–17 (2002)zbMATHCrossRefGoogle Scholar
  9. 9.
    Griss, M., Favaro, J., d’Alessandro, M.: Integrating feature modeling with the RSEB. In: Proceedings of the Fifth International Conference on Software Reuse, Canada, pp. 76–85 (1998)Google Scholar
  10. 10.
    Jarzabek, S., Ong, W.C., Zhang, H.: Handling variant requirements in domain modeling. The Journal of Systems and Software 68(3), 171–182 (2003)CrossRefGoogle Scholar
  11. 11.
    Kang, K., Cohen, S., Hess, J., Novak, W., Peterson, S.: 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.
    Kang, K.C., Kim, S., Lee, J., Kim, K., Shin, E., Huh, M.: FORM: A feature–oriented reuse method with domain–specific reference architectures. Annals of Software Engineering 5, 143–168 (1998)CrossRefGoogle Scholar
  13. 13.
    Kang, K.C., Lee, J., Donohoe, P.: Feature–Oriented Product Line Engineering. IEEE Software 19(4), 58–65 (2002)CrossRefGoogle Scholar
  14. 14.
    Mannion, M.: Using First-Order Logic for Product Line Model Validation. In: Chastek, G.J. (ed.) SPLC 2002. LNCS, vol. 2379, pp. 176–187. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  15. 15.
    Marriot, K., Stuckey, P.J.: Programming with Constraints: An Introduction. The MIT Press, Cambridge (1998)Google Scholar
  16. 16.
    Prehofer, C.: Feature-oriented programming: A new way of object composition. Concurrency and Computation: Practice and Experience 13(6), 465–501 (2001)zbMATHCrossRefGoogle Scholar
  17. 17.
    Shaw, M.: Prospects for an engineering discipline of software. IEEE Softw. 7(6), 15–24 (1990)CrossRefGoogle Scholar
  18. 18.
    Sinnema, M., Deelstra, S., Nijhuis, J., Bosch, J.: COVAMOF: A Framework for Modeling Variability in Software Product Families. In: Nord, R.L. (ed.) SPLC 2004. LNCS, vol. 3154, pp. 197–213. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  19. 19.
    Soininen, T., Tiihonen, J., Männistö, T., Sulonen, R.: Towards a general ontology of configuration. AI EDAM 12(4), 357–372 (1998)Google Scholar
  20. 20.
    Streitferdt, D., Riebisch, M., Philippow, I.: 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, pp. 45–54. IEEE Computer Society, Los Alamitos (2003)Google Scholar
  21. 21.
    Tsang, E.: Foundations of Constraint Satisfaction. Academic Press, London (1995)Google Scholar
  22. 22.
    van Gurp, J., Bosch, J., Svahnberg, M.: On the notion of variability in software product lines. In: Proceedings of the Working IEEE/IFIP Conference on Software Architecture (WICSA 2001), pp. 45–54. IEEE Computer Society, Los Alamitos (2001)CrossRefGoogle Scholar
  23. 23.
    Wasowski, A.: Automatic Generation of Program Families by Model Restrictions. In: Nord, R.L. (ed.) SPLC 2004. LNCS, vol. 3154, pp. 73–89. Springer, Heidelberg (2004)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2005

Authors and Affiliations

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

Personalised recommendations