Nothing Special   »   [go: up one dir, main page]

Skip to main content
Log in

Dynamic decision models for staged software product line configuration

  • Original Article
  • Published:
Requirements Engineering Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13

Similar content being viewed by others

References

  1. Czarnecki K, Eisenecker U (2000) Generative programming. Springer, New York

    Google Scholar 

  2. Pohl K., Böckle G, Van Der Linden F (2005) Software product line engineering: foundations, principles, and techniques. Springer, New York

    Google Scholar 

  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 237

  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–136

  5. Czarnecki K, Helsen S, Eisenecker UW (2004) Staged configuration using feature models. In: SPLC, pp 266–283

  6. Bagheri E, Ensan F, Gasevic D (2012) Decision support for the software product line domain engineering lifecycle. Autom Softw Eng 19:335–377

    Article  Google Scholar 

  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–190

  8. Bagheri E, Gasevic D (2011) Assessing the maintainability of software product line feature models using structural metrics. Softw Qual J 19:579–612

    Article  Google Scholar 

  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–309

  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 Institute

  11. Pu P, Faltings B, Torrens M (2003) User-involved preference elicitation. In: IJCAI workshop on configuration, pp 56–63

  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–369

  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–77

  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–233

  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–24

  16. Kulasekere EC, Premaratne K, Dewasurendra DA, Shyu Bauer PH (2004) Conditioning and updating evidence. Int J Approx Reason 36:75–108

    Article  MATH  Google Scholar 

  17. Stephanou HE, Lu SY (1988) Measuring consensus effectiveness by a generalized entropy criterion. IEEE Trans Pattern Anal Mach Intell 10:544–554

    Article  Google Scholar 

  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–30

  19. Sentz K, Ferson S (2002) Combination of evidence in Dempster–Shafer theory. Technical report, Sandia National Laboratories, SAND 2002-0835

  20. Josang A (2001) A logic for uncertain probabilities. Int J Uncert Fuzziness Knowl Based Syst 9:279–311

    Article  MathSciNet  Google Scholar 

  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–1140

  22. Czarnecki K, Helsen S, Eisenecker UW (2005) Formalizing cardinality-based feature models and their specialization. Softw Process Improv Pract 10:7–29

    Article  Google Scholar 

  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–729

    Article  Google Scholar 

  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–64

    Article  Google Scholar 

  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–341

  26. Peterson M (2009) An introduction to decision theory. Cambridge Books, Cambridge

    Book  MATH  Google Scholar 

  27. Fishburn P (1982) The foundations of expected utility. Theory & Decision Library

  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–614

  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–762

  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–122

    Article  Google Scholar 

  31. Pu P, Chen L (2008) User-involved preference elicitation for product search and recommender systems. AI Mag 29:93–103

    Google Scholar 

  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–315

  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–22

  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–503

  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–20

  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–484

    Article  Google Scholar 

  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–31

  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–134

  39. Bagheri E, Noia TD, Gasevic D, Ragone A (2012) Formalizing interactive staged feature model configuration. J Softw Evol Process 24:375–400

    Article  Google Scholar 

  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–22

  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–129

    Article  Google Scholar 

  42. Perini A, Ricca F, Susi A (2009) Tool-supported requirements prioritization: comparing the ahp and cbrank methods. Inf Softw Technol 51:1021–1032

    Article  Google Scholar 

  43. Aurum A, Wohlin C (2005) Engineering and managing software requirements. Springer, New York

    Book  MATH  Google Scholar 

  44. Lehtola L, Kauppinen M (2006) Suitability of requirements prioritization methods for market-driven software product development. Softw Process Improv Pract 11:7–19

    Google Scholar 

  45. Berander P, Jonsson P (2006) Hierarchical cumulative voting (hcv)-prioritization of requirements in hierarchies. Int J Software Eng Knowl Eng 16:819–849

    Article  Google Scholar 

  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–126

  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–114

    Article  Google Scholar 

  48. Corporation SPCS (1993) Reuse-driven software processes. Technical report SPC-92019-CMC, version 02.00.03

  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–127

  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–47

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Ebrahim Bagheri.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Bagheri, E., Ensan, F. Dynamic decision models for staged software product line configuration. Requirements Eng 19, 187–212 (2014). https://doi.org/10.1007/s00766-013-0165-8

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00766-013-0165-8

Keywords

Navigation