Supporting Multiplicity and Hierarchy in Model-Based Configuration: Experiences and Lessons Learned

  • Rick Rabiser
  • Michael Vierhauser
  • Paul Grünbacher
  • Deepak Dhungana
  • Herwig Schreiner
  • Martin Lehofer
Part of the Lecture Notes in Computer Science book series (LNCS, volume 8767)


When developing large-scale industrial software systems engineers need to instantiate, configure, and deploy diverse reusable components. The number of component instances required depends on customer requirements only known during configuration and is typically unknown when modeling the systems’ variability. Also, the hierarchy of dynamically created component instances leads to complex dependencies between configuration decisions. Dealing with component multiplicity and hierarchy thus requires an approach capable of expressing the dependencies among dynamically instantiated components and configuration decisions. Furthermore, users need tool support for navigating the complex decision space during configuration. In this experience paper we report on applying a decision-oriented modeling approach for defining component variability, multiplicity, and hierarchy. We further present a configuration tool that guides end users through the complex decision space. We report applications of the approach to industrial software systems and describe patterns and lessons learned.


Variability models multiplicity hierarchy configuration tool 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    van der Linden, F., Schmid, K., Rommes, E.: Software Product Lines in Action – The Best Industrial Practice in Product Line Engineering. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  2. 2.
    Pohl, K., Böckle, G., van der Linden, F.: Software Product Line Engineering: Foundations, Principles, and Techniques. Springer (2005)Google Scholar
  3. 3.
    Czarnecki, K., Grünbacher, P., Rabiser, R., Schmid, K., Wasowski, A.: Cool features and tough decisions: A comparison of variability modeling approaches. In: 6th Int’l Workshop on Variability Modelling of Software-Intensive Systems, Leipzig, Germany, pp. 173–182. ACM (2012)Google Scholar
  4. 4.
    Dhungana, D., Falkner, A., Haselböck, A.: Configuration of cardinality-based feature models using generative constraint satisfaction. In: 37th EUROMICRO Conference on Software Engineering and Advanced Applications, Oulu, Finland, pp. 100–103. IEEE (2011)Google Scholar
  5. 5.
    Dhungana, D., Grünbacher, P., Rabiser, R.: The DOPLER meta-tool for decision-oriented variability modeling: A multiple case study. Automated Software Engineering 18(1), 77–114 (2011)CrossRefGoogle Scholar
  6. 6.
    Dhungana, D., Schreiner, H., Lehofer, M., Vierhauser, M., Rabiser, R., Grünbacher, P.: Modeling multiplicity and hierarchy in product line architectures: Extending a decision-oriented approach. In: 3rd International Workshop on Variability in Software Architecture, Collocated with WICSA 2014. ACM, Sydney (2014)Google Scholar
  7. 7.
    Rabiser, R., Grünbacher, P., Lehofer, M.: A qualitative study on user guidance capabilities in product configuration tools. In: 27th IEEE/ACM Int’l Conference Automated Software Engineering, Essen, Germany, pp. 110–119. ACM (2012)Google Scholar
  8. 8.
    Shaw, M., Garlan, D.: Formulations and formalisms in software architecture. In: van Leeuwen, J. (ed.) Computer Science Today. LNCS, vol. 1000, pp. 307–323. Springer, Heidelberg (1995)CrossRefGoogle Scholar
  9. 9.
    Medvidovic, N., Taylor, R.N.: A classificiation and comparison framework for software architecture description languages. IEEE Transactions on Software Engineering 26(1), 70–93 (2000)CrossRefGoogle Scholar
  10. 10.
    Matinlassi, M.: Comparison of software product line architecture design methods: COPA, FAST, FORM, KobrA and QADA. In: 26th International Conference on Software Engineering (ICSE 2004), pp. 127–136. IEEE CS, Edinburgh (2004)Google Scholar
  11. 11.
    Dashofy, E., van der Hoek, A., Taylor, R.: A highly-extensible, XML-based architecture description language. In: Working IEEE/IFIP Conference on Software Architecture (WICSA 2001), pp. 103–112. IEEE Computer Society, Amsterdam (2001)CrossRefGoogle Scholar
  12. 12.
    Czarnecki, K., Helsen, S., Eisenecker, U.: Formalizing cardinality-based feature models and their specialization. Software Process: Improvement and Practice 10(1), 7–29 (2005)CrossRefGoogle Scholar
  13. 13.
    Maersk-Møller, H.M., Jørgensen, B.N.: Cardinality-dependent variability in orthogonal variability models. In: 6th Workshop on Variability Modeling of Software-Intensive Systems, Leipzig, Germany, pp. 165–172. ACM (2012)Google Scholar
  14. 14.
    Software Productivity Consortium, “Synthesis guidebook,” SPC-91122-MC. Herndon, Virginia, Tech. Rep. (1991)Google Scholar
  15. 15.
    Weiss, D., Lai, C.: Software Product-Line Engineering: A Family-Based Software Development Process. Addison Wesley Professional (1999)Google Scholar
  16. 16.
    Behjati, R., Yue, T., Briand, L., Selic, B.: SimPL: A product-line modeling methodology for families of integrated control systems. Information and Software Technology 55(3), 607–629 (2013)CrossRefGoogle Scholar
  17. 17.
    Riebisch, M., Böllert, K., Streitferdt, D., Philippow, I.: Extending feature diagrams with UML multiplicities. In: 6th World Conference on Integrated Design and Process Technology, Pasadena, California (2002)Google Scholar
  18. 18.
    Bąk, K., Czarnecki, K., Wąsowski, A.: Feature and meta-models in Clafer: Mixed, specialized, and coupled. In: Malloy, B., Staab, S., van den Brand, M. (eds.) SLE 2010. LNCS, vol. 6563, pp. 102–122. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  19. 19.
    Asikainen, T., Männistö, T., Soininen, T.: A unified conceptual foundation for feature modelling. In: 10th Int’l Conference on Software Product Lines, Baltimore, ML, USA, pp. 31–40. IEEE (2006)Google Scholar
  20. 20.
    Gómez, A., Ramos, I.: Cardinality-based feature modeling and model-driven engineering: Fitting them together. In: 4th Int’l Workshop on Variability Modelling of Software-Intensive Systems, Linz, Austria, pp. 61–68. ICB Research Report No. 37 (2010)Google Scholar
  21. 21.
    Object Management Group, Common variability language, OMG initial submission (2010),
  22. 22.
    Bruneton, E.: ASM 4.0 - a java bytecode engineering library. Whitepaper, OW2 Consortium (2011)Google Scholar
  23. 23.
    Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley (1994)Google Scholar

Copyright information

© Springer International Publishing Switzerland 2014

Authors and Affiliations

  • Rick Rabiser
    • 1
  • Michael Vierhauser
    • 1
  • Paul Grünbacher
    • 1
  • Deepak Dhungana
    • 2
  • Herwig Schreiner
    • 2
  • Martin Lehofer
    • 3
  1. 1.Christian Doppler Lab MEVSSJohannes Kepler UniversityLinzAustria
  2. 2.Siemens AG ÖsterreichCorporate TechnologyViennaAustria
  3. 3.Siemens VAIMetals TechnologiesLinzAustria

Personalised recommendations