Model Checking of Domain Artifacts in Product Line Engineering

In product line engineering individual products are derived from the domain artifacts of the product line. The reuse of the domain artifacts is constraint by the product line variability. Since domain artifacts are reused in several products, product line engineering benefits from the verification of domain artifacts. For verifying development artifacts, model checking is a well-established technique in single system development. However, existing model checking approaches do not incorporate the product line variability and are hence of limited use for verifying domain artifacts. In this paper we present an extended model checking approach which takes the product line variability into account when verifying domain artifacts. Our approach is thus able to verify that every permissible product (specified with I/O-automata) which can be derived from the product line fulfills the specified properties (specified with CTL). Moreover, we use two examples to validate the applicability of our approach and report on the preliminary validation results.

[1]  Marco Pistore,et al.  NuSMV 2: An OpenSource Tool for Symbolic Model Checking , 2002, CAV.

[2]  William R. Cook,et al.  Safe composition of product lines , 2007, GPCE '07.

[3]  William R. Cook,et al.  Fitting the pieces together: a machine-checked model of safe composition , 2009, ESEC/FSE '09.

[4]  Tomoji Kishi,et al.  Formal verification and software product lines , 2006, CACM.

[5]  Jing Liu,et al.  Safety analysis of software product lines using state-based modeling , 2007, J. Syst. Softw..

[6]  Krzysztof Czarnecki,et al.  Verifying feature-based model templates against well-formedness OCL constraints , 2006, GPCE '06.

[7]  Kim G. Larsen,et al.  A Tutorial on Uppaal , 2004, SFM.

[8]  Juha Kuusela,et al.  Consistency management of product line requirements , 2001, Proceedings Fifth IEEE International Symposium on Requirements Engineering.

[9]  Martin Leucker,et al.  Modeling and Model Checking Software Product Lines , 2008, FMOODS.

[10]  John Gannon,et al.  State-based model checking of event-driven system requirements , 1991, SIGSOFT '91.

[11]  Klaus Pohl,et al.  Dynamic Consistency Checking of Domain Requirements in Product Line Engineering , 2008, 2008 16th IEEE International Requirements Engineering Conference.

[12]  Helmut Veith,et al.  25 Years of Model Checking - History, Achievements, Perspectives , 2008, 25 Years of Model Checking.

[13]  Kim Lauenroth Konsistenzprüfung von Domänenanforderungsspezifikationen , 2009 .

[14]  Radha Jagadeesan,et al.  Model checking partial state spaces with 3-valued temporal logics , 2001 .

[15]  Klaus Pohl,et al.  Towards automated consistency checks of product line requirements specifications , 2007, ASE.

[16]  Nancy A. Lynch,et al.  An introduction to input/output automata , 1989 .

[17]  Bashar Nuseibeh,et al.  Towards safer composition , 2009, 2009 31st International Conference on Software Engineering - Companion Volume.

[18]  Sven Apel,et al.  Type-Checking Software Product Lines - A Formal Approach , 2008, 2008 23rd IEEE/ACM International Conference on Automated Software Engineering.

[19]  Robert E. Tarjan,et al.  Depth-First Search and Linear Graph Algorithms , 1972, SIAM J. Comput..

[20]  Takuya Katayama,et al.  Design Verification for Product Line Development , 2005, SPLC.

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

[22]  Kim G. Larsen,et al.  Modal I/O Automata for Interface and Product Line Theories , 2007, ESOP.

[23]  Samik Basu,et al.  Generating Variation-point Obligations for Compositional Model Checking of Software Product Lines , 2008 .

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

[25]  Vineet Kahlon,et al.  Parameterized Model Checking of Ring-Based Message Passing Systems , 2004, CSL.

[26]  Marco Pistore,et al.  Nusmv version 2: an opensource tool for symbolic model checking , 2002, CAV 2002.

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

[28]  Thomas Wahl,et al.  Reducing Model Checking of the Few to the One , 2006, ICFEM.