Model-Driven Requirements Specification for Software Product Lines

Model-driven methods for requirements specification in Software Product Lines (SPLs) support the construction of different models to provide a better understanding of each SPL feature and intended use scenarios. However, the different models must be composed to show the requirements of the target applications and, therefore, help to understand how features will be integrated in a new product of a software product line. Although well-established standards for creating metamodels and model transformations exist, there is currently no established foundation that allows practitioners to distinguish between the different modeling and composition approaches for requirements models. This chapter provides an overview of different approaches for specifying requirements models and composing models for specific products of an SPL. In particular, it emphasizes one of the most recurring specification techniques: model-driven and use case scenario-based specification. This technique, in combination with feature models and the Variability Modeling Language for Requirements (VML4RE), integrates our approach for model-driven requirements specification for SPLs.

[1]  Lidia Fuentes,et al.  Engineering Languages for Specifying Product-Derivation Processes in Software Product Lines , 2009, SLE.

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

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

[4]  Michal Antkiewicz,et al.  FeaturePlugin: feature modeling plug-in for Eclipse , 2004, eclipse '04.

[5]  Neil Maiden,et al.  Scenarios, Stories, Use Cases: Through the Systems Development Life-Cycle , 2004 .

[6]  Noor Zaman,et al.  Software Development Techniques for Constructive Information Systems Design , 2013 .

[7]  Arie van Deursen,et al.  Domain-specific language design requires feature descriptions , 2002 .

[8]  Alistair Cockburn,et al.  Writing Effective Use Cases , 2000 .

[9]  Paul Clements,et al.  Software product lines - practices and patterns , 2001, SEI series in software engineering.

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

[11]  Paulo Borba,et al.  Modeling scenario variability as crosscutting mechanisms , 2009, AOSD '09.

[12]  Qing Li,et al.  Unified Modeling Language , 2009 .

[13]  João Araújo,et al.  Detecting feature interactions in SPL requirements analysis models , 2009, FOSD '09.

[14]  Christian Wende,et al.  FeatureMapper: mapping features to models , 2008, ICSE Companion '08.

[15]  João Araújo,et al.  A Model-driven Approach for Software Product Lines Requirements Engineering , 2008, SEKE.

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

[17]  Syeda Umema Hani Quality Practices for Managing Software Development in Information System , 2013 .

[18]  Cláudio Sant'Anna,et al.  Evolving software product lines with aspects , 2008, 2008 ACM/IEEE 30th International Conference on Software Engineering.

[19]  Thomas Baar,et al.  Refactoring OCL annotated UML class diagrams , 2005, MoDELS'05.

[20]  João Araújo,et al.  Multi-dimensional separation of concerns in requirements engineering , 2005, 13th IEEE International Conference on Requirements Engineering (RE'05).

[21]  Jürgen Börstler,et al.  The PLUSS Approach - Domain Modeling with Features, Use Cases and Use Case Realizations , 2005, SPLC.

[22]  Ricardo J. Machado,et al.  Automating Mappings between Use Case Diagrams and Feature Models for Software Product Lines , 2007 .

[23]  João Araújo,et al.  Multi-view Composition Language for Software Product Line Requirements , 2009, SLE.

[24]  Nilabja Roy,et al.  Dynamic Analysis and Profiling of Multithreaded Systems , 2009 .

[25]  Volker Gruhn,et al.  Model-Driven Software Development , 2005 .

[26]  Krzysztof Czarnecki,et al.  Staged Configuration Using Feature Models , 2004, SPLC.

[27]  Hartmut Ehrig,et al.  Handbook of graph grammars and computing by graph transformation: vol. 3: concurrency, parallelism, and distribution , 1999 .

[28]  Carlos José Pereira de Lucena,et al.  Refactoring product lines , 2006, GPCE '06.

[29]  Song Jiang,et al.  Advanced Operating Systems and Kernel Applications: Techniques and Technologies , 2009 .

[30]  Michal Antkiewicz,et al.  Mapping features to models: a template approach based on superimposed variants , 2005, GPCE'05.