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

skip to main content
article

Dynamic decision models for staged software product line configuration

Published: 01 June 2014 Publication History

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.

References

[1]
Czarnecki K, Eisenecker U (2000) Generative programming. Springer, New York
[2]
Pohl K., Böckle G, Van Der Linden F (2005) Software product line engineering: foundations, principles, and techniques. Springer, New York
[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
[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
[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
[17]
Stephanou HE, Lu SY (1988) Measuring consensus effectiveness by a generalized entropy criterion. IEEE Trans Pattern Anal Mach Intell 10:544---554
[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
[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
[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
[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
[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
[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
[31]
Pu P, Chen L (2008) User-involved preference elicitation for product search and recommender systems. AI Mag 29:93---103
[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
[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
[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
[42]
Perini A, Ricca F, Susi A (2009) Tool-supported requirements prioritization: comparing the ahp and cbrank methods. Inf Softw Technol 51:1021---1032
[43]
Aurum A, Wohlin C (2005) Engineering and managing software requirements. Springer, New York
[44]
Lehtola L, Kauppinen M (2006) Suitability of requirements prioritization methods for market-driven software product development. Softw Process Improv Pract 11:7---19
[45]
Berander P, Jonsson P (2006) Hierarchical cumulative voting (hcv)-prioritization of requirements in hierarchies. Int J Software Eng Knowl Eng 16:819---849
[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
[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

Cited By

View all
  • (2018)A Context-Aware Recommender System for Extended Software Product Line ConfigurationsProceedings of the 12th International Workshop on Variability Modelling of Software-Intensive Systems10.1145/3168365.3168373(97-104)Online publication date: 7-Feb-2018
  • (2018)Visual guidance for product line configuration using recommendations and non-functional propertiesProceedings of the 33rd Annual ACM Symposium on Applied Computing10.1145/3167132.3167353(2058-2065)Online publication date: 9-Apr-2018
  • (2018)A systematic literature review on the semi-automatic configuration of extended product linesJournal of Systems and Software10.1016/j.jss.2018.07.054144:C(511-532)Online publication date: 1-Oct-2018
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image Requirements Engineering
Requirements Engineering  Volume 19, Issue 2
June 2014
111 pages

Publisher

Springer-Verlag

Berlin, Heidelberg

Publication History

Published: 01 June 2014

Author Tags

  1. Feature models
  2. Software product lines
  3. Stakeholder preferences
  4. Utility elicitation

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 11 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2018)A Context-Aware Recommender System for Extended Software Product Line ConfigurationsProceedings of the 12th International Workshop on Variability Modelling of Software-Intensive Systems10.1145/3168365.3168373(97-104)Online publication date: 7-Feb-2018
  • (2018)Visual guidance for product line configuration using recommendations and non-functional propertiesProceedings of the 33rd Annual ACM Symposium on Applied Computing10.1145/3167132.3167353(2058-2065)Online publication date: 9-Apr-2018
  • (2018)A systematic literature review on the semi-automatic configuration of extended product linesJournal of Systems and Software10.1016/j.jss.2018.07.054144:C(511-532)Online publication date: 1-Oct-2018
  • (2017)A collaborative-based recommender system for configuration of extended product linesProceedings of the 39th International Conference on Software Engineering Companion10.1109/ICSE-C.2017.36(445-448)Online publication date: 20-May-2017
  • (2017)Runtime collaborative-based configuration of software product linesProceedings of the 39th International Conference on Software Engineering Companion10.1109/ICSE-C.2017.154(94-96)Online publication date: 20-May-2017
  • (2016)A feature-based personalized recommender system for product-line configurationACM SIGPLAN Notices10.1145/3093335.299324952:3(120-131)Online publication date: 20-Oct-2016
  • (2016)A feature-based personalized recommender system for product-line configurationProceedings of the 2016 ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences10.1145/2993236.2993249(120-131)Online publication date: 20-Oct-2016
  • (2016)Usability of requirements techniquesProceedings of the 31st Annual ACM Symposium on Applied Computing10.1145/2851613.2851758(1270-1275)Online publication date: 4-Apr-2016
  • (2016)Attribute-based variability in feature modelsRequirements Engineering10.1007/s00766-014-0216-921:2(185-208)Online publication date: 1-Jun-2016
  • (2016)Proceedings of the 2016 ACM SIGPLAN International Conference on Generative Programming: Concepts and ExperiencesundefinedOnline publication date: 20-Oct-2016

View Options

View options

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media