Questionnaire-based variability modeling for system configuration

Variability management is a recurrent issue in systems engineering. It arises for example in enterprise systems, where modules are configured and composed to meet the requirements of individual customers based on modifications to a reference model. It also manifests itself in the context of software product families, where variants of a system are built from a common code base. This paper proposes an approach to capture system variability based on questionnaire models that include order dependencies and domain constraints. The paper presents analysis techniques to detect circular dependencies and contradictory constraints in questionnaire models, as well as techniques to incrementally prevent invalid configurations by restricting the space of allowed answers to a question based on previous answers. The approach has been implemented as a toolset and has been used in practice to capture configurable process models for film post-production.

[1]  Roger S. Pressman,et al.  Software Engineering: A Practitioner's Approach , 1982 .

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

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

[4]  Sébastien Gérard,et al.  Consolidated Product Line Variability Modeling , 2006, Software Product Lines.

[5]  Randal E. Bryant,et al.  Graph-Based Algorithms for Boolean Function Manipulation , 1986, IEEE Transactions on Computers.

[6]  Reidar Conradi,et al.  Modelling Systems with Variability using the PROTEUS Configuration Language , 1995, SCM.

[7]  Paul C. Clements Managing Variability for Software Product Lines: Working with Variability Mechanisms , 2006, 10th International Software Product Line Conference (SPLC'06).

[8]  Don S. Batory,et al.  Feature Models, Grammars, and Propositional Formulas , 2005, SPLC.

[9]  Wil M. P. van der Aalst,et al.  A configurable reference modelling language , 2007, Inf. Syst..

[10]  Mike Mannion Using First-Order Logic for Product Line Model Validation , 2002, SPLC.

[11]  Don S. Batory,et al.  Composition Validation and Subjectivity in GenVoca Generators , 1997, IEEE Trans. Software Eng..

[12]  Jan Bosch,et al.  A taxonomy of variability realization techniques , 2005, Softw. Pract. Exp..

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

[14]  Timo Käkölä,et al.  Software Product Lines - Research Issues in Engineering and Management , 2006 .

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

[16]  Steven L. Alter,et al.  Decision support systems : current practice and continuing challenges , 1980 .

[17]  Krzysztof Czarnecki,et al.  Formalizing cardinality-based feature models and their specialization , 2005, Softw. Process. Improv. Pract..

[18]  Marlon Dumas,et al.  Questionnaire-driven Configuration of Reference Process Models , 2007, CAiSE.

[19]  Pierre-Yves Schobbens,et al.  Feature Diagrams: A Survey and a Formal Semantics , 2006, 14th IEEE International Requirements Engineering Conference (RE'06).

[20]  Jan Mendling,et al.  Model-Driven Enterprise Systems Configuration , 2006, CAiSE.

[21]  Frank Puhlmann,et al.  Variability Mechanisms in E-Business Process Families , 2006, BIS.

[22]  Colin Atkinson,et al.  Component-based product line development: the KobrA Approach , 2000, SPLC.

[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]  Aniruddha S. Gokhale,et al.  Addressing the middleware configuration challenges using model-based techniques , 2004, ACM-SE 42.

[26]  Imed Hammouda,et al.  Managing Variability Using Heterogeneous Feature Variation Patterns , 2005, FASE.