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.
Similar content being viewed by others
References
Czarnecki K, Eisenecker U (2000) Generative programming. Springer, New York
Pohl K., Böckle G, Van Der Linden F (2005) Software product line engineering: foundations, principles, and techniques. Springer, New York
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
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
Czarnecki K, Helsen S, Eisenecker UW (2004) Staged configuration using feature models. In: SPLC, pp 266–283
Bagheri E, Ensan F, Gasevic D (2012) Decision support for the software product line domain engineering lifecycle. Autom Softw Eng 19:335–377
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
Bagheri E, Gasevic D (2011) Assessing the maintainability of software product line feature models using structural metrics. Softw Qual J 19:579–612
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
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
Pu P, Faltings B, Torrens M (2003) User-involved preference elicitation. In: IJCAI workshop on configuration, pp 56–63
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
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
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
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
Kulasekere EC, Premaratne K, Dewasurendra DA, Shyu Bauer PH (2004) Conditioning and updating evidence. Int J Approx Reason 36:75–108
Stephanou HE, Lu SY (1988) Measuring consensus effectiveness by a generalized entropy criterion. IEEE Trans Pattern Anal Mach Intell 10:544–554
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
Sentz K, Ferson S (2002) Combination of evidence in Dempster–Shafer theory. Technical report, Sandia National Laboratories, SAND 2002-0835
Josang A (2001) A logic for uncertain probabilities. Int J Uncert Fuzziness Knowl Based Syst 9:279–311
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
Czarnecki K, Helsen S, Eisenecker UW (2005) Formalizing cardinality-based feature models and their specialization. Softw Process Improv Pract 10:7–29
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
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
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
Peterson M (2009) An introduction to decision theory. Cambridge Books, Cambridge
Fishburn P (1982) The foundations of expected utility. Theory & Decision Library
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
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
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
Pu P, Chen L (2008) User-involved preference elicitation for product search and recommender systems. AI Mag 29:93–103
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
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
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
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
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
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
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
Bagheri E, Noia TD, Gasevic D, Ragone A (2012) Formalizing interactive staged feature model configuration. J Softw Evol Process 24:375–400
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
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
Perini A, Ricca F, Susi A (2009) Tool-supported requirements prioritization: comparing the ahp and cbrank methods. Inf Softw Technol 51:1021–1032
Aurum A, Wohlin C (2005) Engineering and managing software requirements. Springer, New York
Lehtola L, Kauppinen M (2006) Suitability of requirements prioritization methods for market-driven software product development. Softw Process Improv Pract 11:7–19
Berander P, Jonsson P (2006) Hierarchical cumulative voting (hcv)-prioritization of requirements in hierarchies. Int J Software Eng Knowl Eng 16:819–849
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
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
Corporation SPCS (1993) Reuse-driven software processes. Technical report SPC-92019-CMC, version 02.00.03
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
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
Author information
Authors and Affiliations
Corresponding author
Rights 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
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00766-013-0165-8