Using Java CSP Solvers in the Automated Analyses of Feature Models

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


Feature Models are used in different stages of software development and are recognized to be an important asset in model transformation techniques and software product line development. The automated analysis of feature models is being recognized as one of the key challenges for automated software development in the context of Software Product Lines. In our previous work we explained how a feature model can be transformed into a constraint satisfaction problem. However cardinalities were not considered. In this paper we present how a cardinality-based feature model can be also translated into a constraint satisfaction problem. In that connection, it is possible to use off-the-shelf tools to automatically accomplish several tasks such as calculating the number of possible feature configurations and detecting possible conflicts. In addition, we present a performance test between two off-the-shelf Java constraint solvers. To the best of our knowledge, this is the first time a performance test is presented using solvers for feature modelling proposes


Feature Model Constraint Programming Constraint Satisfaction Problem Software Product Line Software Product Line Engineering 
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.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Batory, D.: Feature models, grammars, and propositional formulas. In: Obbink, H., Pohl, K. (eds.) SPLC 2005. LNCS, vol. 3714, pp. 7–20. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  2. 2.
    Batory, D.: A tutorial on feature oriented programming and the ahead tool suite. In: Summer school on Generative and Transformation Techniques in Software Engineering (2005)Google Scholar
  3. 3.
    Batory, D., Sarvela, J., Rauschmayer, A.: Scaling step-wise refinement. IEEE Trans. Software Eng. 30(6), 355–371 (2004)CrossRefGoogle Scholar
  4. 4.
    Benavides, D., Ruiz-Cortés, A., Trinidad, P.: Automated reasoning on feature models. In: Pastor, Ó., Falcão e Cunha, J. (eds.) CAiSE 2005. LNCS, vol. 3520, pp. 491–503. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  5. 5.
    Benavides, D., Ruiz-Cortés, A., Trinidad, P.: Using constraint programming to reason on feature models. In: The Seventeenth International Conference on Software Engineering and Knowledge Engineering (SEKE 2005) (July 2005)Google Scholar
  6. 6.
    Benavides, D., Trujillo, S., Trinidad, P.: On the modularization of feature models. In: First European Workshop on Model Transformation (September 2005)Google Scholar
  7. 7.
    Bosch, J.: Design and Use of Software Architectures, 1st edn. Addison-Wesley, Reading (2000)Google Scholar
  8. 8.
    Clements, P., Northrop, L.: Software Product Lines: Practices and Patterns. SEI Series in Software Engineering. Addison–Wesley, Reading (2001)Google Scholar
  9. 9.
    Czarnecki, K., Eisenecker, U.W.: Generative Programming: Methods, Techniques, and Applications. Addison–Wesley, Reading (2000)Google Scholar
  10. 10.
    Czarnecki, K., Helsen, S., Eisenecker, U.W.: Formalizing cardinality-based feature models and their specialization. Software Process: Improvement and Practice 10(1), 7–29 (2005)CrossRefGoogle Scholar
  11. 11.
    Díaz, O., Trujillo, S., Anfurrutia, F.I.: Supporting production strategies as refinements of the production process. In: Obbink, H., Pohl, K. (eds.) SPLC 2005. LNCS, vol. 3714, pp. 210–221. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  12. 12.
    Díaz, O., Trujillo, S., Azpeitia, I.: User-Facing Web Service Development: A Case for a Product-Line Approach. In: Benatallah, B., Shan, M.-C. (eds.) TES 2003. LNCS, vol. 2819, pp. 66–77. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  13. 13.
    Fernandez, P., Resinas, M.: James project (2002-2005), Available at:
  14. 14.
    Freuder, E.C.: In pursuit of the holy grail. Constraints 2(1), 57–61 (1997)CrossRefGoogle Scholar
  15. 15.
    Halmans, G., Pohl, K.: Communicating the variability of a software–product family to customers. Journal on Software and Systems Modeling 2(1), 15–36 (2003)CrossRefGoogle Scholar
  16. 16.
    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
  17. 17.
    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
  18. 18.
    Kuchcinski, K.: Constraints-driven scheduling and resource assignment. ACM Transactions on Design Automation of Electronic Systems (TODAES) 8(3), 355–383 (2003)CrossRefGoogle Scholar
  19. 19.
    Laburthe, F., Jussien, N.: Choco constraint programming system (2003-2005), Available at:
  20. 20.
    Prehofer, C.: Feature-oriented programming: A new way of object composition. Concurrency and Computation: Practice and Experience 13(6), 465–501 (2001)MATHCrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

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

Personalised recommendations