Resolution of Interfering Product Fragments in Software Product Line Engineering

The Common Variability Language (CVL) allows deriving new products in a software product line by substituting fragments (placement) in the base model. Relations between elements of different placement fragments are an issue. Substitutions involving interfering placements may give unexpected and unintended results. However, there is a pragmatic need to define and execute fragments with interference. The need emerges when several diagrams are views of a single model, such as a placement in one diagram and a placement in another diagram reference the same model elements. We handle the issue by 1) classifying interfering fragments, 2) finding criteria to detect them, and 3) suggesting solutions via transformations. We implement our findings in the tooling available for downloading.

[1]  Birger Møller-Pedersen,et al.  Confluence in Domain-Independent Product Line Transformations , 2009, FASE.

[2]  Arie van Deursen,et al.  Domain-specific languages: an annotated bibliography , 2000, SIGP.

[3]  Don S. Batory,et al.  Feature-oriented programming and the AHEAD tool suite , 2004, Proceedings. 26th International Conference on Software Engineering.

[4]  Jaejoon Lee,et al.  Software Product Lines: Going Beyond - 14th International Conference, SPLC 2010, Jeju Island, South Korea, September 13-17, 2010. Proceedings , 2010, SPLC.

[5]  Reiko Heckel,et al.  Graph Transformation in a Nutshell , 2006, FoVMT.

[6]  W. Taha,et al.  Plenary talk III Domain-specific languages , 2008, 2008 International Conference on Computer Engineering & Systems.

[7]  Azriel Rosenfeld,et al.  Web Grammars , 1969, IJCAI.

[8]  Krzysztof Czarnecki,et al.  Feature Diagrams and Logics: There and Back Again , 2007 .

[9]  Alan Bundy,et al.  Constructing Induction Rules for Deductive Synthesis Proofs , 2006, CLASE.

[10]  Perdita Stevens,et al.  Modelling Recursive Calls with UML State Diagrams , 2003, FASE.

[11]  Viviana Bono,et al.  Delta-Oriented Programming of Software Product Lines , 2010, SPLC.

[12]  Birger Møller-Pedersen,et al.  Adding Standardized Variability to Domain Specific Languages , 2008, 2008 12th International Software Product Line Conference.

[13]  Hartmut Ehrig,et al.  Graph-Grammars and Their Application to Computer Science and Biology , 1978, Lecture Notes in Computer Science.

[14]  Terrence W. Pratt,et al.  Pair Grammars, Graph Languages and String-to-Graph Translations , 1971, J. Comput. Syst. Sci..

[15]  Martin Fowler,et al.  Domain-Specific Languages , 2010, The Addison-Wesley signature series.

[16]  Øystein Haugen,et al.  The Future of Train Signaling , 2008, MoDELS.

[17]  Gabriele Taentzer,et al.  Henshin: advanced concepts and tools for in-place EMF model transformations , 2010, MODELS'10.

[18]  Jochen Ludewig,et al.  Models in software engineering – an introduction , 2003, Software and Systems Modeling.

[19]  Walter F. Tichy,et al.  Proceedings 25th International Conference on Software Engineering , 2003, 25th International Conference on Software Engineering, 2003. Proceedings..

[20]  Kerstin Mueller,et al.  Software Product Line Engineering Foundations Principles And Techniques , 2016 .

[21]  Jonathan Sprinkle,et al.  Proceedings of the 10th Workshop on Domain-Specific Modeling (DSM'10) , 2010 .

[22]  Hartmut Ehrig,et al.  Introduction to the Algebraic Theory of Graph Grammars (A Survey) , 1978, Graph-Grammars and Their Application to Computer Science and Biology.

[23]  Birger Møller-Pedersen,et al.  Towards Evolution of Generic Variability Models , 2011, MoDELS.

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

[25]  Steven Kelly,et al.  Integrating models with domain-specific modeling languages , 2010, DSM '10.

[26]  Arie van Deursen,et al.  Domain-specific languages , 2000 .

[27]  Don Batory,et al.  Scaling step-wise refinement , 2003, 25th International Conference on Software Engineering, 2003. Proceedings..

[28]  Jean-Charles Fabre,et al.  Detection of Interferences in Aspect-Oriented Programs Using Executable Assertions , 2012, 2012 IEEE 23rd International Symposium on Software Reliability Engineering Workshops.

[29]  Robert Wagner,et al.  EMorF - A tool for model transformations , 2012, Electron. Commun. Eur. Assoc. Softw. Sci. Technol..

[30]  Kevin Lano,et al.  Slicing of UML models using model transformations , 2010, MODELS'10.

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

[32]  Krzysztof Czarnecki,et al.  CVL: common variability language , 2012, SPLC '12.

[33]  Reiko Heckel,et al.  Confluence of Typed Attributed Graph Transformation Systems , 2002, ICGT.

[34]  Anatoly Vasilevskiy,et al.  Conquering overlapping fragments in CVL , 2013 .