Automated Software Engineering

, Volume 18, Issue 1, pp 77–114 | Cite as

The DOPLER meta-tool for decision-oriented variability modeling: a multiple case study

Article

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.

Keywords

Product line engineering Decision models Meta-tools 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 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) CrossRefGoogle Scholar
  2. 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) Google Scholar
  3. 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) Google Scholar
  4. 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) Google Scholar
  5. Campbell, G.H., Faulk, S.R., Weiss, D.M.: Introduction to synthesis. Tech. rep. Software Productivity Consortium, Herndon, VA, USA (1990) Google Scholar
  6. 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) Google Scholar
  7. Clements, P., Northrop, L.: Software Product Lines: Practices and Patterns. SEI Series in Software Engineering. Addison-Wesley, Reading (2001) Google Scholar
  8. Consortium, S.P.: Synthesis guidebook. Tech. rep., SPC-91122-MC. Software Productivity Consortium, Herndon, Virginia (1991) Google Scholar
  9. Czarnecki, K., Eisenecker, U.: Generative Programming: Methods, Techniques, and Applications. Addison-Wesley, Reading (2000) Google Scholar
  10. 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) CrossRefGoogle Scholar
  11. Czarnecki, K., Helsen, S., Eisenecker, U.: Formalizing cardinality-based feature models and their specialization. Softw. Process Improv. Pract. 10(1), 7–29 (2005) CrossRefGoogle Scholar
  12. Czarnecki, K., Kim, C.H.P., Kalleberg, K.T.: Feature models are views on ontologies. In: SPLC, pp. 41–51 (2006) Google Scholar
  13. 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) CrossRefGoogle Scholar
  14. 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) Google Scholar
  15. 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) Google Scholar
  16. Dhungana, D., Rabiser, R., Grünbacher, P., Neumayer, T.: Integrated tool support for software product line engineering. In: ASE, pp. 533–534 (2007b) CrossRefGoogle Scholar
  17. 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) CrossRefGoogle Scholar
  18. 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) Google Scholar
  19. 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) Google Scholar
  20. Forgy, C.L., Shepard, S.J.: Rete: a fast match algorithm. AI Expert 2(1), 34–40 (1987) Google Scholar
  21. 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) Google Scholar
  22. 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) CrossRefGoogle Scholar
  23. 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) CrossRefGoogle Scholar
  24. Garlan, D., Allen, R., Ockerbloom, J.: Exploiting style in architectural design environments. In: Foundations of Software Engineering, pp. 175–188 (1994) Google Scholar
  25. Gomaa, H.: Designing Software Product Lines with UML. Addison-Wesley, Reading (2005) Google Scholar
  26. 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) CrossRefGoogle Scholar
  27. 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) CrossRefGoogle Scholar
  28. 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) CrossRefGoogle Scholar
  29. 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) CrossRefGoogle Scholar
  30. 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) Google Scholar
  31. 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) Google Scholar
  32. 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) Google Scholar
  33. 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) Google Scholar
  34. 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) Google Scholar
  35. Medvidovic, N., Taylor, R.: A classification and comparison framework for software architecture description languages. IEEE Trans. Softw. Eng. 26(1), 70–93 (2000) CrossRefGoogle Scholar
  36. Pohl, K., Böckle, G., van der Linden, F.: Software Product Line Engineering: Foundations, Principles, and Techniques. Springer, Berlin (2005) MATHGoogle Scholar
  37. 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) Google Scholar
  38. 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) Google Scholar
  39. 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) CrossRefGoogle Scholar
  40. 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) Google Scholar
  41. 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) Google Scholar
  42. Robson, C.: Real World Research, 2nd edn. Blackwell, Oxford (2002) Google Scholar
  43. Runeson, P., Höst, M.: Guidelines for conducting and reporting case study research in software engineering. Empir. Softw. Eng. 14(2), 131–161 (2009) CrossRefGoogle Scholar
  44. 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 CrossRefMathSciNetGoogle Scholar
  45. Schobbens, P., Heymans, P., Trigaux, J., Bontemps, Y.: Generic semantics of feature diagrams. Int. J. Comput. Telecommun. Netw. 51(2), 456–479 (2007) MATHGoogle Scholar
  46. 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) Google Scholar
  47. Sinnema, M., Deelstra, S.: Classifying variability modeling techniques. J. Inf. Softw. Technol. 49, 717–739 (2007) CrossRefGoogle Scholar
  48. 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) Google Scholar
  49. Thiel, S., Hein, A.: Modeling and using product line variability in automotive systems. IEEE Softw. 19(4), 66–72 (2002) CrossRefGoogle Scholar
  50. 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) Google Scholar
  51. 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) Google Scholar
  52. 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) CrossRefGoogle Scholar
  53. 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) CrossRefGoogle Scholar
  54. 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) Google Scholar
  55. 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) CrossRefGoogle Scholar
  56. Yin, R.: Case Study Research: design and methods, 3rd edn. Sage, Thousand Oaks (2003) Google Scholar
  57. 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) CrossRefGoogle Scholar

Copyright information

© Springer Science+Business Media, LLC 2010

Authors and Affiliations

  • Deepak Dhungana
    • 1
  • Paul Grünbacher
    • 2
  • Rick Rabiser
    • 3
  1. 1.Christian Doppler Laboratory for Software Engineering Integration for Flexible Automation SystemsVienna University of TechnologyViennaAustria
  2. 2.Institute Systems Engineering and AutomationJohannes Kepler University LinzLinzAustria
  3. 3.Christian Doppler Laboratory for Automated Software EngineeringJohannes Kepler University LinzLinzAustria

Personalised recommendations