Requirements Engineering

, Volume 19, Issue 2, pp 187–212 | Cite as

Dynamic decision models for staged software product line configuration

Original Article

Abstract

Software product line engineering practices offer desirable characteristics such as rapid product development, reduced time-to-market, and more affordable development costs as a result of systematic representation of the variabilities of a domain of discourse that leads to methodical reuse of software assets. The development lifecycle of a product line consists of two main phases: domain engineering, which deals with the understanding and formally modeling of the target domain, and application engineering that is concerned with the configuration of a product line into one concrete product based on the preferences and requirements of the stakeholders. The work presented in this paper focuses on the application engineering phase and builds both the theoretical and technological tools to assist the stakeholders in (a) understanding the complex interactions of the features of a product line; (b) eliciting the utility of each feature for the stakeholders and hence exposing the stakeholders’ otherwise implicit preferences in a way that they can more easily make decisions; and (c) dynamically building a decision model through interaction with the stakeholders and by considering the structural characteristics of software product line feature models, which will guide the stakeholders through the product configuration process. Initial exploratory empirical experiments that we have performed show that our proposed approach for helping stakeholders understand their feature preferences and its associated staged feature model configuration process is able to positively impact the quality of the end results of the application engineering process within the context of the limited number of participants. In addition, it has been observed that the offered tooling support is able to ease the staged feature model configuration process.

Keywords

Software product lines Feature models Utility elicitation Stakeholder preferences 

References

  1. 1.
    Czarnecki K, Eisenecker U (2000) Generative programming. Springer, New YorkGoogle Scholar
  2. 2.
    Pohl K., Böckle G, Van Der Linden F (2005) Software product line engineering: foundations, principles, and techniques. Springer, New YorkGoogle Scholar
  3. 3.
    Weiss DM, Clements PC, Kang K, Krueger C (2006) Software product line hall of fame. In: SPLC ’06: Proceedings of the 10th international on software product line conference, Washington, DC, USA, IEEE Computer Society 237Google Scholar
  4. 4.
    Matinlassi M (2004) Comparison of software product line architecture design methods: copa, fast, form, Kobra and Qada. In: Proceedings of the 26th international conference on software engineering, IEEE Computer Society, pp 127–136Google Scholar
  5. 5.
    Czarnecki K, Helsen S, Eisenecker UW (2004) Staged configuration using feature models. In: SPLC, pp 266–283Google Scholar
  6. 6.
    Bagheri E, Ensan F, Gasevic D (2012) Decision support for the software product line domain engineering lifecycle. Autom Softw Eng 19:335–377CrossRefGoogle Scholar
  7. 7.
    Dumitru H, Gibiec M, Hariri N, Cleland-Huang J, Mobasher B, Castro-Herrera C, Mirakhorli M (2011) On-demand feature recommendations derived from mining public product descriptions. In: Proceedings of the 33rd international conference on software engineering. ICSE ’11, New York, NY, USA, ACM, pp 181–190Google Scholar
  8. 8.
    Bagheri E, Gasevic D (2011) Assessing the maintainability of software product line feature models using structural metrics. Softw Qual J 19:579–612CrossRefGoogle Scholar
  9. 9.
    Atkinson C, Bayer J, Muthig D (2000) Component-based product line development: the Kobra approach. In: Proceedings of the first conference on Software product lines : experience and research directions: experience and research directions, Norwell, MA, USA, Kluwer Academic Publishers, pp 289–309Google Scholar
  10. 10.
    Kang K, Cohen S, Hess J, Novak W, Peterson A, INST CMUPPSE (1990) Feature-oriented domain analysis (FODA) feasibility study. Carnegie Mellon University, Software Engineering InstituteGoogle Scholar
  11. 11.
    Pu P, Faltings B, Torrens M (2003) User-involved preference elicitation. In: IJCAI workshop on configuration, pp 56–63Google Scholar
  12. 12.
    Chajewska U, Koller D, Parr R (2000) Making rational decisions using adaptive utility elicitation. In: Proceedings of the seventeenth national conference on artificial intelligence and twelfth conference on innovative applications of artificial intelligence, AAAI Press, pp 363–369Google Scholar
  13. 13.
    Lee K, Kang KC, Lee J (2002) Concepts and guidelines of feature modeling for product line software engineering. In: Proceedings of the 7th international conference on software reuse: methods, techniques, and tools. ICSR-7, London, UK, Springer, pp 62–77Google Scholar
  14. 14.
    Tessier P, Gérard S, Terrier F, Geib JM (2005) Using variation propagation for model-driven management of a system family. In: Proceedings of the 9th international conference on software product lines. SPLC’05, Berlin, Heidelberg, Springer, pp 222–233Google Scholar
  15. 15.
    Lopez-Herrejon RE, Batory DS (2001) A standard problem for evaluating product-line methodologies. In: Proceedings of the third international conference on generative and component-based software engineering. GCSE ’01, London, UK, Springer, pp 10–24Google Scholar
  16. 16.
    Kulasekere EC, Premaratne K, Dewasurendra DA, Shyu Bauer PH (2004) Conditioning and updating evidence. Int J Approx Reason 36:75–108CrossRefMATHGoogle Scholar
  17. 17.
    Stephanou HE, Lu SY (1988) Measuring consensus effectiveness by a generalized entropy criterion. IEEE Trans Pattern Anal Mach Intell 10:544–554CrossRefGoogle Scholar
  18. 18.
    Pope S, Josang A (2005) Analysis of competing hypotheses using subjective logic. In: Proceedings of 10th CCRTS: the future of command and control, pp 1–30Google Scholar
  19. 19.
    Sentz K, Ferson S (2002) Combination of evidence in Dempster–Shafer theory. Technical report, Sandia National Laboratories, SAND 2002-0835Google Scholar
  20. 20.
    Josang A (2001) A logic for uncertain probabilities. Int J Uncert Fuzziness Knowl Based Syst 9:279–311CrossRefMathSciNetGoogle Scholar
  21. 21.
    Josang A, Daniel M, Vannoorenberghe P (2003) Strategies for combining conflicting dogmatic beliefs. In: Proceedings of the sixth international conference of information fusion, pp 1133–1140Google Scholar
  22. 22.
    Czarnecki K, Helsen S, Eisenecker UW (2005) Formalizing cardinality-based feature models and their specialization. Softw Process Improv Pract 10:7–29CrossRefGoogle Scholar
  23. 23.
    Bagheri E, Ghorbani A (2009) A belief-theoretic framework for the collaborative development and integration of para-consistent conceptual models. J Syst Softw 82:707–729CrossRefGoogle Scholar
  24. 24.
    Bagheri E, Ghorbani A (2010) The analysis and management of non-canonical requirement specifications through a belief integration game. Knowl Inf Syst 22:27–64CrossRefGoogle Scholar
  25. 25.
    Bagheri E, Ghorbani AA (2007) On the collaborative development of para-consistent conceptual models. In: Proceedings of the seventh international conference on quality software. QSIC ’07, Washington, DC, USA, IEEE Computer Society, pp 336–341Google Scholar
  26. 26.
    Peterson M (2009) An introduction to decision theory. Cambridge Books, CambridgeCrossRefMATHGoogle Scholar
  27. 27.
    Fishburn P (1982) The foundations of expected utility. Theory & Decision LibraryGoogle Scholar
  28. 28.
    Kastner C, Thum T, Saake G, Feigenspan J, Leich T, Wielgorz F, Apel S (2009) Featureide: a tool framework for feature-oriented software development. In: Proceedings of the 31st international conference on software engineering. ICSE ’09, Washington, DC, USA, IEEE Computer Society, pp 611–614Google Scholar
  29. 29.
    Mendonca M, Branco M, Cowan D (2009) S.p.l.o.t.: software product lines online tools. In: OOPSLA ’09: Proceeding of the 24th ACM SIGPLAN conference companion on Object oriented programming systems languages and applications, New York, NY, USA, ACM, pp 761–762Google Scholar
  30. 30.
    Pollard C, Gupta D, Satzinger J (2010) Teaching systems development: a compelling case for integrating the sdlc with the itsm lifecycle. Inf Syst Manag 27:113–122CrossRefGoogle Scholar
  31. 31.
    Pu P, Chen L (2008) User-involved preference elicitation for product search and recommender systems. AI Mag 29:93–103Google Scholar
  32. 32.
    Bagheri E, Asadi M, Gasevic D, Soltani S (2010) Stratified analytic hierarchy process: prioritization and selection of software features. In: Proceedings of the 14th international conference on software product lines: going beyond. SPLC’10, Berlin, Heidelberg, Springer, pp 300–315Google Scholar
  33. 33.
    Janota M, Kiniry J (2007) Reasoning about feature models in higher-order logic. In: Proceedings of the 11th International software product line conference. SPLC ’07, Washington, DC, USA, IEEE Computer Society, pp 13–22Google Scholar
  34. 34.
    Benavides D, Trinidad P, Ruiz-Cortes A (2005) Automated reasoning on feature models. In: LNCS, advanced information systems engineering: 17th international conference, CAiSE 2005. Volume 3520, Springer, pp 491–503Google Scholar
  35. 35.
    Batory D (2005) Feature models, grammars, and propositional formulas. In: Proceedings of the 9th international conference on software product lines. SPLC’05, Berlin, Heidelberg, Springer, pp 7–20Google Scholar
  36. 36.
    Boskovic M, Bagheri E, Gasevic D, Mohabbati B, Kaviani N, Hatala M (2010) Automated staged configuration with semantic web technologies. Int J Softw Eng Knowl Eng 20:459–484CrossRefGoogle Scholar
  37. 37.
    Bagheri E, Di Noia T, Ragone A, Gasevic D (2010) Configuring software product line feature models based on stakeholders’ soft and hard requirements. In: Proceedings of the 14th international conference on Software product lines: going beyond. SPLC’10, Berlin, Heidelberg, Springer, pp 16–31Google Scholar
  38. 38.
    Benavides D, Segura S, Trinidad P, Ruiz-Cortes A (2007) FAMA: Tooling a framework for the automated analysis of feature models. In: Proceeding of the first international workshop on variability modelling of software-intensive systems (VAMOS), pp 129–134Google Scholar
  39. 39.
    Bagheri E, Noia TD, Gasevic D, Ragone A (2012) Formalizing interactive staged feature model configuration. J Softw Evol Process 24:375–400CrossRefGoogle Scholar
  40. 40.
    Mendonca M, Wasowski A, Czarnecki K, Cowan D (2008) Efficient compilation techniques for large scale feature models. In: Proceedings of the 7th international conference on generative programming and component engineering, ACM New York, NY, USA, pp 13–22Google Scholar
  41. 41.
    Wang H, Li Y, Sun J, Zhang H, Pan J (2007) Verifying feature models using OWL. Web Semant Sci Serv Agents World Wide Web 5:117–129CrossRefGoogle Scholar
  42. 42.
    Perini A, Ricca F, Susi A (2009) Tool-supported requirements prioritization: comparing the ahp and cbrank methods. Inf Softw Technol 51:1021–1032CrossRefGoogle Scholar
  43. 43.
    Aurum A, Wohlin C (2005) Engineering and managing software requirements. Springer, New YorkCrossRefMATHGoogle Scholar
  44. 44.
    Lehtola L, Kauppinen M (2006) Suitability of requirements prioritization methods for market-driven software product development. Softw Process Improv Pract 11:7–19Google Scholar
  45. 45.
    Berander P, Jonsson P (2006) Hierarchical cumulative voting (hcv)-prioritization of requirements in hierarchies. Int J Software Eng Knowl Eng 16:819–849CrossRefGoogle Scholar
  46. 46.
    Schmid K, Rabiser R, Grünbacher P (2011) A comparison of decision modeling approaches in product lines. In: Proceedings of the 5th workshop on variability modeling of software-intensive systems, ACM, pp 119–126Google Scholar
  47. 47.
    Dhungana D, Grünbacher P, Rabiser R (2011) The Dopler meta-tool for decision-oriented variability modeling: a multiple case study. Autom Softw Eng 18:77–114CrossRefGoogle Scholar
  48. 48.
    Corporation SPCS (1993) Reuse-driven software processes. Technical report SPC-92019-CMC, version 02.00.03Google Scholar
  49. 49.
    Dhungana D, Grünbacher P, Rabiser R (2007) Decisionking: A flexible and extensible tool for integrated variability modeling. In: First International Workshop on Variability Modelling of Software-intensive Systems-Proceedings, Lero 119–127Google Scholar
  50. 50.
    Dhungana D, Rabiser R, Grunbacher P (2007) Decision-oriented modeling of product line architectures. In: Proceedings of the sixth Working IEEE/IFIP Conference on Software Architecture. WICSA ’07, Washington, DC, USA, IEEE Computer Society, pp 44–47Google Scholar

Copyright information

© Springer-Verlag London 2013

Authors and Affiliations

  1. 1.Ryerson UniversityTorontoCanada
  2. 2.Athabasca UniversityEdmontonCanada
  3. 3.Sauder School of BusinessUniversity of British ColumbiaVancouverCanada

Personalised recommendations