Identifying and Exploiting the Similarities between Rationale Management and Variability Management

Modeling variability is a challenging issue in product line requirements engineering. Particular problems include, the instantiation of variations for individual products, the long-term evolution of the product line, and the support of collaboration between stakeholders. These problems are even more complicated when the product line organization is globally distributed. To address theses problems, this paper identifies four higher-level similarities between rationale management (which focus on knowledge management during software design) and variability management. Furthermore, exploiting the similarities, rationale management is combined with variability management to contribute issue-based variability modeling. Issue-based variability modeling was implemented and empirically evaluated based on a series of case studies with multi-case design. The results of the evaluation show that our approach improves the instantiation and evolution of variability, enables better informal collaboration between distributed stakeholders with different levels of modeling expertise and enhances the longevity of product lines.

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

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

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

[4]  Jan Bosch,et al.  Feature-Based Product Derivation : Composing Features , 2003 .

[5]  R. Yin Case Study Research: Design and Methods , 1984 .

[6]  Jan Bosch,et al.  First class feature abstractions for product derivation , 2004, IEE Proc. Softw..

[7]  P MoranThomas,et al.  Questions, options, and criteria , 1991 .

[8]  Klaus Pohl,et al.  Communicating the variability of a software-product family to customers , 2004, Informatik Forschung und Entwicklung.

[9]  Anil Kumar Thurimella Issue-based variability modeling , 2008 .

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

[11]  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..

[12]  John M. Hunt Organizing the asset base for product derivation , 2006, 10th International Software Product Line Conference (SPLC'06).

[13]  S. Buhne,et al.  Modeling features for multi-criteria product-lines in the automotive industry , 2004, ICSE 2004.

[14]  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..

[15]  Paul Grünbacher,et al.  Coordinating Multi-Team Variability Modeling in Product Line Engineering , 2006 .

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

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

[18]  Klaus Pohl,et al.  Software Product Line Engineering , 2005 .

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

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

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

[22]  Paul Grünbacher,et al.  Supporting Product Derivation by Adapting and Augmenting Variability Models , 2007, 11th International Software Product Line Conference (SPLC 2007).

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

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

[25]  Barbara Paech,et al.  Supporting Evolution: Using Rationale in Use Case Driven Software Development , 2000 .

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

[27]  H. Rittel,et al.  Dilemmas in a general theory of planning , 1973 .

[28]  Barbara Paech,et al.  Improving requirements engineering communication in multiproject environments , 2005, IEEE Software.

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

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

[31]  Klaus Schmid,et al.  PuLSE: a methodology to develop software product lines , 1999, SSR '99.

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

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

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

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

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

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

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

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

[40]  A. Berztiss,et al.  Requirements Engineering , 2002, J. Object Technol..

[41]  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).

[42]  Anil Kumar Thurimella Rationale-based variability management in product line requirements engineering , 2007 .

[43]  Michael L. Begeman,et al.  gIBIS: a hypertext tool for exploratory policy discussion , 1988, CSCW '88.