Issue-based variability management

Context: Variability management is a key activity in software product line engineering. This paper focuses on managing rationale information during the decision-making activities that arise during variability management. By decision-making we refer to systematic problem solving by considering and evaluating various alternatives. Rationale management is a branch of science that enables decision-making based on the argumentation of stakeholders while capturing the reasons and justifications behind these decisions. Objective: Decision-making should be supported to identify variability in domain engineering and to resolve variation points in application engineering. We capture the rationale behind variability management decisions. The captured rationale information is useful to evaluate future changes of variability models as well as to handle future instantiations of variation points. We claim that maintaining rationale will enhance the longevity of variability models. Furthermore, decisions should be performed using a formal communication between domain engineering and application engineering. Method: We initiate the novel area of issue-based variability management (IVM) by extending variability management with rationale management. The key contributions of this paper are: (i) an issue-based variability management methodology (IVMM), which combines questions, options and criteria (QOC) and a specific variability approach; (ii) a meta-model for IVMM and a process for variability management and (iii) a tool for the methodology, which was developed by extending an open source rationale management tool. Results: Rationale approaches (e.g. questions, options and criteria) guide distributed stakeholders when selecting choices for instantiating variation points. Similarly, rationale approaches also aid the elicitation of variability and the evaluation of changes. The rationale captured within the decision-making process can be reused to perform future decisions on variability. Conclusion: IVMM was evaluated comparatively based on an experimental survey, which provided evidence that IVMM is more effective than a variability modeling approach that does not use issues.

[1]  Bernd Bruegge,et al.  Object-Oriented Software Engineering Using UML, Patterns, and Java , 2009 .

[2]  T. Gonen,et al.  Questions , 1927, Journal of Family Planning and Reproductive Health Care.

[3]  Jeff M. Bickerton,et al.  Getting to Yes: Negotiating Agreement without Giving in , 2002 .

[4]  Paul Grünbacher,et al.  Requirements for product derivation support: Results from a systematic literature review and an expert survey , 2010, Inf. Softw. Technol..

[5]  Samuel Ajila,et al.  Using traceability mechanisms to support software product line evolution , 2004, Proceedings of the 2004 IEEE International Conference on Information Reuse and Integration, 2004. IRI 2004..

[6]  Jan Bosch,et al.  Managing Variability in Software Product Lines , 2000 .

[7]  Jan Bosch,et al.  Evolution in software product lines: two cases , 1999, J. Softw. Maintenance Res. Pract..

[8]  Klaus Pohl,et al.  Software Product Line Engineering - Foundations, Principles, and Techniques , 2005 .

[9]  Paul Grünbacher,et al.  DOPLER: An Adaptable Tool Suite for Product Line Engineering , 2007, SPLC.

[10]  Anil Kumar Thurimella,et al.  Empirical evaluation of issue based variability modeling using the experimental survey technique , 2007, ICSE 2007.

[11]  Klaus Schmid,et al.  A customizable approach to full lifecycle variability management , 2004, Sci. Comput. Program..

[12]  Thomas P. Moran,et al.  Questions, Options, and Criteria: Elements of Design Space Analysis , 1991, Hum. Comput. Interact..

[13]  Claes Wohlin,et al.  Requirements Mean Decisions! – Research issues for understanding and supporting decision-making in Requirements Engineering , 2001 .

[14]  Barbara Paech,et al.  Eliciting and Maintaining Knowledge for Requirements Evolution , 2003 .

[15]  Marco Sinnema,et al.  Classifying variability modeling techniques , 2007, Inf. Softw. Technol..

[16]  Marco Sinnema,et al.  Experiences in Software Product Families: Problems and Issues During Product Derivation , 2004, SPLC.

[17]  Martin Peterson,et al.  An Introduction to Decision Theory , 2009 .

[18]  Pierre America,et al.  Multi-view Variation Modeling for Scenario Analysis , 2003, PFE.

[19]  Jan Bosch,et al.  Variability Issues in Software Product Lines , 2001, PFE.

[20]  Paul Grünbacher,et al.  Supporting Product Derivation by Adapting and Augmenting Variability Models , 2007 .

[21]  Philippe Kruchten,et al.  An Ontology of Architectural Design Decisions in Software-Intensive Systems , 2004 .

[22]  Raymond McCall,et al.  Rationale Management in Software Engineering , 2006 .

[23]  Eswaran Subrahmanian,et al.  Equations aren’t enough: informal modeling in design , 1993, Artificial Intelligence for Engineering Design, Analysis and Manufacturing.

[24]  Kuntz Werner,et al.  Issues as Elements of Information Systems , 1970 .

[25]  Lianping Chen,et al.  Variability management in software product lines: a systematic review , 2009, SPLC.

[26]  Arlene Fink,et al.  The Survey Handbook , 1995 .

[27]  Bernd Bruegge,et al.  Object-Oriented Software Engineering: Using UML, Patterns and Java, Second Edition , 2003 .

[28]  A. Bertolino,et al.  Use Case Description of Requirements for Product Lines , 2002 .

[29]  Kyo Chul Kang,et al.  Feature-Oriented Domain Analysis (FODA) Feasibility Study , 1990 .

[30]  Klaus Pohl,et al.  Communicating the variability of a software-product family to customers , 2003, Software and Systems Modeling.

[31]  Bernd Brügge,et al.  Sysiphus: Enabling informal collaboration in global software development , 2006, 2006 IEEE International Conference on Global Software Engineering (ICGSE'06).

[32]  Pierre-Yves Schobbens,et al.  Disambiguating the Documentation of Variability in Software Product Lines: A Separation of Concerns, Formalization and Automated Analysis , 2007, 15th IEEE International Requirements Engineering Conference (RE 2007).

[33]  Barry W. Boehm,et al.  Developing Groupware for Requirements Negotiation: Lessons Learned , 2001, IEEE Softw..

[34]  Hessam S. Sarjoughian,et al.  Using simulation to facilitate the study of software product line evolution , 2004 .

[35]  Krzysztof Czarnecki,et al.  Generative programming - methods, tools and applications , 2000 .

[36]  Walid Maalej,et al.  Managing Requirements Knowledge (MaRK_08) , 2008 .

[37]  Jintae Lee,et al.  Extending the Potts and Bruns model for recording design rationale , 1991, [1991 Proceedings] 13th International Conference on Software Engineering.

[38]  Didar Zowghi,et al.  Requirements Engineering challenges in multi-site software development organizations , 2004 .

[39]  Juha Kuusela,et al.  Violatility analysis framework for product lines , 2001, SSR '01.

[40]  N. Slack,et al.  Making Management Decisions , 1991 .

[41]  Paul Grünbacher,et al.  Structuring the modeling space and supporting evolution in software product line engineering , 2010, J. Syst. Softw..

[42]  Daniela E. Damian,et al.  RE challenges in multi-site software development organisations , 2003, Requirements Engineering.

[43]  Bernd Brügge,et al.  Evolution in Product Line Requirements Engineering: A Rationale Management Approach , 2007, 15th IEEE International Requirements Engineering Conference (RE 2007).

[44]  Klaus Pohl,et al.  Modelling requirements variability across product lines , 2005, 13th IEEE International Conference on Requirements Engineering (RE'05).

[45]  I. John,et al.  Elicitation of Requirements from User Documentation , 2003 .

[46]  Douglas C. Schmidt,et al.  Lessons learned building reusable OO frameworks for distributed software , 1997, CACM.

[47]  Timo Wolf,et al.  Rationale-based unified software engineering model , 2008 .

[48]  Linda M. Northrop,et al.  A Framework for Software Product Line Practice , 1999, ECOOP Workshops.

[49]  P. Lago,et al.  Explicit assumptions enrich architectural models , 2005, Proceedings. 27th International Conference on Software Engineering, 2005. ICSE 2005..

[50]  Stan Jarzabek,et al.  Quality Prediction and Assessment for Product Lines , 2003, CAiSE.

[51]  Pierre-Yves Schobbens,et al.  Clear justification of modeling decisions for goal-oriented requirements engineering , 2008, Requirements Engineering.

[52]  Yu Chen,et al.  Using simulation to facilitate the study of software product line evolution , 2004, Proceedings. 7th International Workshop on Principles of Software Evolution, 2004..

[53]  Weishan Zhang,et al.  Supporting Product Line Evolution with Framed Aspects , 2004 .

[54]  Horst Lichter,et al.  RequiLine: A Requirements Engineering Tool for Software Product Lines , 2003, PFE.

[55]  Jeremy Dick,et al.  Requirements Engineering , 2002, Springer International Publishing.

[56]  Anil Kumar Thurimella,et al.  Towards a Research Agenda for Recommendation Systems in Requirements Engineering , 2009, 2009 Second International Workshop on Managing Requirements Knowledge.

[57]  Bernd Brügge,et al.  Identifying and Exploiting the Similarities between Rationale Management and Variability Management , 2008, 2008 12th International Software Product Line Conference.

[58]  Lothar Hotz,et al.  Using a structure-based configuration tool for product derivation , 2004, Proceedings. 19th International Conference on Automated Software Engineering, 2004..

[59]  Hassan Gomaa Designing Software Product Lines with UML 2.0: From Use Cases to Pattern-Based Software Architectures , 2006, ICSR.