Features meet scenarios: modeling and consistency-checking scenario-based product line specifications

Many modern software-intensive systems consist of multiple components interacting together to deliver the intended functionality. Often, these systems come in many variants (products) and are managed together as a software product line. This variability is the source of additional complexity which can cause inconsistencies and offset the economies of scale promised by product line engineering. Engineers thus need intuitive, yet precise means for specifying requirements and require tools for automatically detecting inconsistencies within these requirements. In recent work, we proposed a technique for the scenario-based specification of interactions in product lines by a combination of Modal Sequence Diagrams and Feature Diagrams. Furthermore, we elaborated an efficient consistency-checking technique based on a dedicated model-checking approach especially tailored for product lines. In this paper, we report on further evaluations that underline significant performance benefits of our approach. We describe further optimizations and detail on how we encode the consistency-checking problem for a model-checker.

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

[2]  Carlo Ghezzi,et al.  Model-based verification of quantitative non-functional properties for software product lines , 2013, Inf. Softw. Technol..

[3]  Alexander Egyed,et al.  Flexible and scalable consistency checking on product line variability models , 2010, ASE.

[4]  Mark Ryan,et al.  Feature integration using a feature construct , 2001, Sci. Comput. Program..

[5]  Pierre-Yves Schobbens,et al.  Symbolic model checking of software product lines , 2011, 2011 33rd International Conference on Software Engineering (ICSE).

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

[7]  Pierre-Yves Schobbens,et al.  Simulation-based abstractions for software product-line model checking , 2012, 2012 34th International Conference on Software Engineering (ICSE).

[8]  Edmund M. Clarke,et al.  Design and Synthesis of Synchronization Skeletons Using Branching-Time Temporal Logic , 1981, Logic of Programs.

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

[10]  David Harel,et al.  Assert and negate revisited: modal semantics for UML sequence diagrams , 2006, SCESM.

[11]  David Harel,et al.  Come, Let’s Play , 2003, Springer Berlin Heidelberg.

[12]  David Harel,et al.  LSCs: Breathing Life into Message Sequence Charts , 1999, Formal Methods Syst. Des..

[13]  Shige Wang,et al.  A feature-oriented requirements modelling language , 2012, 2012 20th IEEE International Requirements Engineering Conference (RE).

[14]  Pierre-Yves Schobbens,et al.  Towards an incremental automata-based approach for software product-line model checking , 2012, SPLC '12.

[15]  David Harel,et al.  LSC'S: BREATHING LIFE INTO MESSAGE SEQUENCE CHARTS , 2022 .

[16]  Jon Whittle,et al.  Model composition in product lines and feature interaction detection using critical pair analysis , 2007, MODELS'07.

[17]  Amir Pnueli,et al.  Smart Play-out of Behavioral Requirements , 2002, FMCAD.

[18]  David Harel,et al.  Specifying and executing behavioral requirements: the play-in/play-out approach , 2003, Software & Systems Modeling.

[19]  Chouki Tibermacine,et al.  Design of a UML profile for feature diagrams and its tooling implementation , 2011, SEKE.

[20]  Alexander Egyed,et al.  Supporting Consistency Checking between Features and Software Product Line Use Scenarios , 2011, ICSR.

[21]  David Harel,et al.  Synthesizing State-Based Object Systems from LSC Specifications , 2000, Int. J. Found. Comput. Sci..

[22]  Alexander Harhurin,et al.  Towards Consistent Specifications of Product Families , 2008, FM.

[23]  Jean-Marc Jézéquel,et al.  Behaviors generation from product lines requirements , 2004 .

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

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

[26]  Scenario-Based Design and Simulation of Mechatronic Systems , 2009 .

[27]  Pierre-Yves Schobbens,et al.  Model checking lots of systems: efficient verification of temporal properties in software product lines , 2010, 2010 ACM/IEEE 32nd International Conference on Software Engineering.

[28]  Amir Pnueli,et al.  Synthesis Revisited: Generating Statechart Models from Scenario-Based Requirements , 2005, Formal Methods in Software and Systems Modeling.

[29]  David Harel,et al.  From multi-modal scenarios to code: compiling LSCs into aspectJ , 2006, SIGSOFT '06/FSE-14.

[30]  Joel Greenyer,et al.  Consistency checking scenario-based specifications of dynamic systems by combining simulation and synthesis , 2012, BM-FA '12.

[31]  Johann Schumann,et al.  Generating statechart designs from scenarios , 2000, Proceedings of the 2000 International Conference on Software Engineering. ICSE 2000 the New Millennium.

[32]  Pierre-Yves Schobbens,et al.  From live sequence charts to state machines and back: a guided tour , 2005, IEEE Transactions on Software Engineering.

[33]  David Harel,et al.  Come, let's play - scenario-based programming using LSCs and the play-engine , 2003 .

[34]  Maxime Cordy,et al.  Efficient consistency checking of scenario-based product-line specifications , 2012, 2012 20th IEEE International Requirements Engineering Conference (RE).

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

[36]  Axel van Lamsweerde,et al.  Scenarios, goals, and state machines: a win-win partnership for model synthesis , 2006, SIGSOFT '06/FSE-14.

[37]  Martín Abadi,et al.  Realizable and Unrealizable Specifications of Reactive Systems , 1989, ICALP.

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