Towards Intelligent Support for Managing Evolution of Configurable Software Product Families

  • Tero Kojo
  • Tomi Männistö
  • Timo Soininen
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2649)


Software product families are a means for increasing the efficiency of software development. We propose a conceptualisation for modelling the evolution and variability of configurable software product families. We describe a first prototype of an intelligent tool that allows modelling a software product family on the basis of the conceptualisation and supports the user in interactively producing correct configurations with respect to the model. The implementation is based on an existing general purpose configurator and thus is not application domain specific. We use the Debian Familiar Linux package configuration task over many releases and package versions as an example. Preliminary results show that the conceptualisation can be used to model evolution of such a software product family relatively easily and the implementation performs acceptably.


Product Family Software Product Line Component Type Prototype Implementation Stable Model Semantic 
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.
    Bosch, J., Evolution and Composition of Reusable Assets in Product Line Architectures: a Case Study, Proc. Working IFIP Conf. on SW Architecture, (1999)Google Scholar
  2. 2.
    Clements, P., Northrop, L., Software Product Lines: Practices and Patterns, Addison-Wesley, (2001)Google Scholar
  3. 3.
    Svahnberg, M., Bosch, J., Evolution in Software Product Lines: Two Cases, Journal of Software Maintenance — Research and Practise 11(6), (1999) 391–422CrossRefGoogle Scholar
  4. 4.
    Estublier, J., Software Configuration Management: A Roadmap, ICSE — Future of SE Track, Ireland, (2000) 279–289Google Scholar
  5. 5.
    Conradi, R., Westfechtel, B., Configuring Versioned Software Products, in: ICSE’96, Proc., LNCS, Vol. 1167, Springer, (1996) 88–109Google Scholar
  6. 6.
    Belkhatir, N., Cunin, P.Y., Lestideau V., Sali, H., An OO framework for Configuration of Deployable Large Component based Software Products, OOPSLA 2001Google Scholar
  7. 7.
    Soininen, T., An Approach to Knowledge Representation and Reasoning for Product Configuration Tasks, PhD thesis, Acta Polytechnical Scandinavica, No. 111, (2000)Google Scholar
  8. 8.
    Faltings B, Freuder EC, editors., Special Issue on Configuration. IEEE intelligent systems & their applications; 13(4), (1998) 29–85Google Scholar
  9. 9.
    Darr T, McGuinness D, Klein M, editors., Special Issue on Configuration Design. AI EDAM; 12(4), (1998)Google Scholar
  10. 10.
    Soininen, T., Tiihonen, J., Männistö, M., Sulonen, R., Towards a General Ontology of Configuration, AI EDAM 12(4), (1998) 357–372CrossRefGoogle Scholar
  11. 11.
    Tiihonen, J., Soininen, T., Niemelä, I., Sulonen, R., Empirical Testing of a Weight Constraint Rule Based Configurator, ECAI 2002 Configuration Workshop, (2002)Google Scholar
  12. 12.
    Hicks, J., Nelson, R., Familiar v0.6 Installation Instructions
  13. 13.
    Männistö, T., Soininen, T. and Sulonen, R., Product Configuration View to Software Product Families, SCM-10 held at ICSE 2001, Canada, (2001)Google Scholar
  14. 14.
    Mahler, A., Lampen, A., An integrated toolset for engineering software configurations, SIGPLAN Software Engineering Notes, 13(5), USA, (1988)Google Scholar
  15. 15.
    Soininen, T., Niemelä, I., Tiihonen, J., Sulonen, R., Representing Configuration Knowledge With Weight Constraint Rules, AAAI Spring 2001 Symposium, USA, (2001)Google Scholar
  16. 16.
    Simons, P., Niemelä, I., and Soininen, T., Extending and implementing the stable model semantics, Artificial Intelligence, 138(1–2), (2002) 181–234zbMATHCrossRefMathSciNetGoogle Scholar
  17. 17.
    Männistö, T., A Conceptual modelling Approach to Product Families and their Evolution, PhD thesis, Acta Polytechnical Scandinavica, No. 106, (2000)Google Scholar
  18. 18.
    Zeller, A., Configuration Management with Version Sets, PhD thesis, Technical University of Braunschweig, (1997)Google Scholar
  19. 19.
    van der Hoek, A., Heimbigner, D., Wolf, A.L., Capturing Architectural Configurability: Variants, Options and Evolution, CU-CS-895-99, Univ of Colorado, (1999)Google Scholar
  20. 20.
    van der Hoek, A., Mikic-Rakic, M., Roshandel, R., Medvidovic, N., Taming Architectural Evolution, ESEC/FSE 2001, (2001) 1–10Google Scholar
  21. 21.
    van der Hoek, A., Hall, R., S., Heimbigner, D., Wolf, A., L., Software Release Management, ESEC/FSE 1997, (1997) 159–175Google Scholar
  22. 22.
    van Ommering, R., van der Linden, F., Kramer, J., Magee, J., The Koala Component Model for Consumer Electronics Software, IEEE Computer 33(3), (2000)Google Scholar
  23. 23.
    Syrjänen, T., A rule-based formal model for software configuration, Master’s thesis, Helsinki University of Technology, (2000)Google Scholar
  24. 24.
    Ylinen, K., Männistö, T. and Soininen, T., Configuring Software with Traditional Methods–Case Linux Familiar, ECAI 2002 Configuration Workshop, (2002)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2003

Authors and Affiliations

  • Tero Kojo
    • 1
  • Tomi Männistö
    • 1
  • Timo Soininen
    • 1
  1. 1.Software Business and Engineering Institute (SoberIT)Helsinki University of TechnologyHUTFinland

Personalised recommendations