Abstract
The variability of a product line is typically defined in models. However, many existing variability modeling approaches are rigid and don’t allow sufficient domain-specific adaptations. We have thus been developing a flexible and extensible approach for defining product line variability models. Its main purposes are to guide stakeholders through product derivation and to automatically generate product configurations. Our approach is supported by the DOPLER (Decision-Oriented Product Line Engineering for effective Reuse) meta-tool that allows modelers to specify the types of reusable assets, their attributes, and dependencies for their specific system and context. The aim of this paper is to investigate the suitability of our approach for different domains. More specifically, we explored two research questions regarding the implementation of variability and the utility of DOPLER for variability modeling in different domains. We conducted a multiple case study consisting of four cases in the domains of industrial automation systems and business software. In each of these case studies we analyzed variability implementation techniques. Experts from our industry partners then developed domain-specific meta-models, tool extensions, and variability models for their product lines using DOPLER. The four cases demonstrate the flexibility of the DOPLER approach and the extensibility and adaptability of the supporting meta tool.
Similar content being viewed by others
Explore related subjects
Discover the latest articles, news and stories from top researchers in related subjects.References
Asikainen, T., Männistö, T., Soininen, T.: A unified conceptual foundation for feature modelling. In: 10th International Software Product Line Conference (SPLC 2006), Baltimore, MD, USA, pp. 31–40. IEEE Computer Society, Los Alamitos (2006)
Batory, D.: Feature models, grammars, and propositional formulas. In: 9th International Software Product Line Conference (SPLC 2005), Rennes, France. LNCS, vol. 3714, pp. 7–20. Springer, Berlin/Heidelberg (2005)
Berg, K., Bishop, J., Muthig, D.: Tracing software product line variability: from problem to solution space. In: SAICSIT ’05: Proceedings of the 2005 Annual Research Conference of the South African Institute of Computer Scientists and Information Technologists on IT Research in Developing Countries, pp. 182–191. South African Institute for Computer Scientists and Information Technologists, Pretoria (2005)
Berger, T., She, S., Lotufo, R., Wasowski, A., Czarnecki, K.: Variability modeling in the real: a perspective from the operating systems domain. In: ASE 2010, 25th IEEE/ACM International Conference on Automated Software Engineering, Antwerp, Belgium, September 20–24, 2010, pp. 73–82. ACM, New York (2010)
Campbell, G.H., Faulk, S.R., Weiss, D.M.: Introduction to synthesis. Tech. rep. Software Productivity Consortium, Herndon, VA, USA (1990)
Charles, P., Fuhrer, R.M., Stanley, M., Sutton, J.: IMP: A meta-tooling platform for creating language-specific IDEs in Eclipse. In: Proc. of the 22nd IEEE/ACM Int’l Conf. on Automated Software Engineering, New York, NY, USA, pp. 485–488. ACM, New York (2007)
Clements, P., Northrop, L.: Software Product Lines: Practices and Patterns. SEI Series in Software Engineering. Addison-Wesley, Reading (2001)
Consortium, S.P.: Synthesis guidebook. Tech. rep., SPC-91122-MC. Software Productivity Consortium, Herndon, Virginia (1991)
Czarnecki, K., Eisenecker, U.: Generative Programming: Methods, Techniques, and Applications. Addison-Wesley, Reading (2000)
Czarnecki, K., Pietroszek, K.: Verifying feature-based model templates against well-formedness ocl constraints. In: GPCE ’06: Proceedings of the 5th International Conference on Generative Programming and Component Engineering, New York, NY, USA, pp. 211–220. ACM, New York (2006)
Czarnecki, K., Helsen, S., Eisenecker, U.: Formalizing cardinality-based feature models and their specialization. Softw. Process Improv. Pract. 10(1), 7–29 (2005)
Czarnecki, K., Kim, C.H.P., Kalleberg, K.T.: Feature models are views on ontologies. In: SPLC, pp. 41–51 (2006)
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’01), Amsterdam, The Netherlands, pp. 103–112. IEEE Computer Society, Los Alamitos (2001)
Dashofy, EM, van der Hoek, A., Taylor, R.N.: An infrastructure for the rapid development of xml-based architecture description languages. In: ICSE, pp. 266–276 (2002)
Dhungana, D., Grünbacher, P., Rabiser, R.: Domain-specific adaptations of product line variability modeling. In: Ralyté, J., Brinkkemper, S., Henderson-Sellers, B. (eds.) Situational Method Engineering: Fundamentals and Experiences, Proceedings of the IFIP WG 8.1 Working Conference, Geneva, Switzerland. IFIP, vol. 244, pp. 238–251. Springer, Berlin (2007a)
Dhungana, D., Rabiser, R., Grünbacher, P., Neumayer, T.: Integrated tool support for software product line engineering. In: ASE, pp. 533–534 (2007b)
Dhungana, D., Grünbacher, P., Rabiser, R., Neumayer, T.: Structuring the modeling space and supporting evolution in software product line engineering. J. Syst. Softw. 83(7), 1108–1122 (2010a)
Dhungana, D., Heymans, P., Rabiser, R.: A formal semantics for decision-oriented variability modeling with DOPLER. In: Proc. 4th International Workshop on Variability Modelling of Software-intensive Systems (VaMoS 2010), ICB-Research Report No. 37, pp. 29–35. University of Duisburg Essen, Linz (2010b)
Estublier, J., Vega, G.: Reuse and variability in large software applications. In: 10th European Software Engineering Conference held jointly with 13th ACM SIGSOFT International Symposium on Foundations of Software Engineering, Lisbon, Portugal, pp. 316–325. ACM Press, New York (2005)
Forgy, C.L., Shepard, S.J.: Rete: a fast match algorithm. AI Expert 2(1), 34–40 (1987)
Forster, T., Muthig, D., Pech, D.: Understanding decision models: visualization and complexity reduction of software variability. In: Heymans, P., Kang, K., Metzger, A., Pohl, K. (eds.) Second International Workshop on Variability Modeling of Software-Intensive Systems, ICB Research Report, Essen, Germany, vol. 22, pp. 111–119 (2008)
Froschauer, R., Dhungana, D., Grünbacher, P.: Managing the life-cycle of industrial automation systems with product line variability models. In: 34th EUROMICRO Conference on Software Engineering and Advanced Applications (SEAA), Parma, Italy, pp. 35–42 (2008)
Froschauer, R., Zoitl, A., Grünbacher, P.: Development and adaptation of IEC 61499 automation and control applications with runtime variability models. In: Proceedings 7th IEEE Int’l Conference on Industrial Informatics (INDIN 2009), Cardiff, UK, pp. 905–910 (2009)
Garlan, D., Allen, R., Ockerbloom, J.: Exploiting style in architectural design environments. In: Foundations of Software Engineering, pp. 175–188 (1994)
Gomaa, H.: Designing Software Product Lines with UML. Addison-Wesley, Reading (2005)
Gomaa, H., Shin, M.E.: Multiple-view meta-modeling of software product lines. In: ICECCS ’02: Proceedings of the Eighth International Conference on Engineering of Complex Computer Systems, Washington, DC, USA, p. 238. IEEE Computer Society, Los Alamitos (2002)
Grünbacher, P., Rabiser, R., Dhungana, D., Lehofer, M.: Model-based customization and deployment of eclipse-based tools: Industrial experiences. In: 24th IEEE/ACM International Conference on Automated Software Engineering (ASE 2009), Auckland, New Zealand, pp. 247–256 (2009)
Grundy, J., Hosking, J., Zhu, N., Liu, N.: Generating domain-specific visual language editors from high-level tool specifications. In: 21st IEEE International Conference on Automated Software Engineering (ASE’06), Tokyo, Japan, pp. 25–36. IEEE, New York (2006)
Harmsen, F., Brinkkemper, S.: Design and implementation of a method base management system for a situational case environment. In: Asia Pacific Software Engineering Conference, APSEC, pp. 430–438 (1995)
Henderson-Sellers, B., Gonzalez-Perez, C., Ralyté, J.: Situational method engineering: fragments or chunks. In: International Conference on Advanced Information Systems Engineering (CAiSE Forum) (2007)
Heymans, P., Schobbens, P., Trigaux, J., Matulevicius, R., Classen, A., Bontemps, Y.: Towards a comparative evaluation of feature diagram languages. In: Software and Services Variability Management Workshop—Concepts, Models and Tools, HUT-SoberIT-A3, Helsinki, Finland, pp. 1–16 (2007)
Kang, K., Cohen, S., Hess, J., Nowak, W., Peterson, S.: Feature-oriented domain analysis (FODA) feasibility study. Tech. rep., Technical Report CMU/SEI-90TR-21. Software Engineering Institute, Carnegie Mellon University, Pittsburgh, PA, USA (1990)
Magee, J., Dulay, N., Eisenbach, S., Kramer, J.: Specifying distributed software architectures. In: Proceedings of the 5th European Software Engineering Conference. Lecture Notes In Computer Science, vol. 989, pp. 137–153. Springer, London (1995)
Mansell, J., Sellier, D.: Decision model and flexible component definition based on xml technology. In: Lecture Notes in Computer Science: Software Product-Family Engineering 5th International Workshop, PFE 2003, pp. 466–472. Springer, Berlin/Heidelberg (2004)
Medvidovic, N., Taylor, R.: A classification and comparison framework for software architecture description languages. IEEE Trans. Softw. Eng. 26(1), 70–93 (2000)
Pohl, K., Böckle, G., van der Linden, F.: Software Product Line Engineering: Foundations, Principles, and Techniques. Springer, Berlin (2005)
Rabiser, R.: Flexible and user-centered visualization support for product derivation. In: ViSPLE 2008—2nd International Workshop on Visualisation in Software Product Line Engineering, held in conjunction with the 12th International Software Product Line Conference (SPLC 2008), Limerick, Ireland, pp. 323–328 (2008)
Rabiser, R., Dhungana, D., Grünbacher, P.: Tool support for product derivation in large-scale product lines: a wizard-based approach. In: ViSPLE 2007—1st International Workshop on Visualisation in Software Product Line Engineering, held in conjunction with the 11th International Software Product Line Conference (SPLC 2007), Kyoto, Japan, pp. 119–124 (2007a)
Rabiser, R., Grünbacher, P., Dhungana, D.: Supporting product derivation by adapting and augmenting variability models. In: 11th International Software Product Line Conference (SPLC 2007), Kyoto, Japan, pp. 141–150 (2007b)
Rabiser, R., Dhungana, D., Grünbacher, P., Burgstaller, B.: Value-based elicitation of product line variability: an experience report. In: Second International Workshop on Variability Modelling of Software-intensive Systems (VAMOS 2008), Essen, Germany, pp. 73–79 (2008)
Rabiser, R., Wolfinger, R., Grünbacher, P.: Three-level customization of software products using a product line approach. In: 42nd Hawaii International Conference on System Sciences, Big Island, Hawaii, USA, pp. 1–10 (2009)
Robson, C.: Real World Research, 2nd edn. Blackwell, Oxford (2002)
Runeson, P., Höst, M.: Guidelines for conducting and reporting case study research in software engineering. Empir. Softw. Eng. 14(2), 131–161 (2009)
Schmid, K., John, I.: A customizable approach to full-life cycle variability management. J. Sci. Comput. Program. 53(3), 259–284 (2004). Special Issue on Variability Management
Schobbens, P., Heymans, P., Trigaux, J., Bontemps, Y.: Generic semantics of feature diagrams. Int. J. Comput. Telecommun. Netw. 51(2), 456–479 (2007)
Schobbens, P.Y., Heymans, P., Trigaux, J.C.: Feature diagrams: a survey and a formal semantics. In: 14th IEEE International Conference on Requirements Engineering, Minneapolis/St.Paul, Minnesota, pp. 136–145 (2006)
Sinnema, M., Deelstra, S.: Classifying variability modeling techniques. J. Inf. Softw. Technol. 49, 717–739 (2007)
Steger, M., Tischer, C., Boss, B., Müller, A., Pertler, O., Stolz, W., Ferber, S.: Introducing pla at Bosch gasoline systems: experiences and practices. In: Nord, R. (ed.) Third Software Product Line Conference (SPLC 2004), Boston, MA, USA, pp. 34–50. Springer, Berlin/Heidelberg/Boston (2004)
Thiel, S., Hein, A.: Modeling and using product line variability in automotive systems. IEEE Softw. 19(4), 66–72 (2002)
Tolvanen, J.P., Rossi, M.: MetaEdit+: Defining and using domain-specific modeling languages and code generators. In: Conference on Object Oriented Programming Systems Languages and Applications (OOPLSA’03), Anaheim, CA, USA, pp. 92–93. ACM Press, New York (2003)
van der Linden, F., Schmid, K., Rommes, E.: Software Product Lines in Action—The Best Industrial Practice in Product Line Engineering. Springer, Berlin/Heidelberg (2007)
van Ommering, R., van der Linden, F., Kramer, J., Magee, J.: The koala component model for consumer electronics software. Computer 33(3), 78–85 (2000)
Verlage, M., Kiesgen, T.: Five years of product line engineering in a small company. In: 27th International Conference on Software Engineering (ICSE 2005), St. Louis, MO, USA, pp. 534–543. IEEE Computer Society, Los Alamitos (2005)
Vierhauser, M., Grünbacher, P., Egyed, A., Rabiser, R., Heider, W.: Flexible and scalable consistency checking on product line variability models. In: 25th IEEE/ACM International Conference on Automated Software Engineering, pp. 63–72 (2010)
Wolfinger, R., Reiter, S., Dhungana, D., Grünbacher, P., Prähofer, H.: Supporting runtime system adaptation through product line engineering and plug-in techniques. In: 7th IEEE International Conference on Composition-Based Software Systems, Madrid, Spain, pp. 21–30. IEEE Computer Society, Los Alamitos (2008)
Yin, R.: Case Study Research: design and methods, 3rd edn. Sage, Thousand Oaks (2003)
Zhu, N., Grundy, J., Hosking, J.: Pounamu: a meta-tool for exploratory domain-specific visual language tool development. J. Syst. Softw. 80(8), 1390–1407 (2007)
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Dhungana, D., Grünbacher, P. & Rabiser, R. The DOPLER meta-tool for decision-oriented variability modeling: a multiple case study. Autom Softw Eng 18, 77–114 (2011). https://doi.org/10.1007/s10515-010-0076-6
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10515-010-0076-6