Towards the integration of model-driven engineering, software product line engineering, and software configuration management

Model-Driven Software Engineering (MDSE), Software Product Line Engineering (SPLE) and Software Configuration Management (SCM) have been established as independent disciplines to ease different aspects of software development. The usage of models as high-level abstractions promises to increase productivity, while software product lines manage variability within a family of similar software products; software configuration management systems manage evolution and support collaborative development. In this paper, we explore the state of the art regarding the pairwise combinations MDSE/SPLE, SPLE/SCM, and MDSE/SCM and show that an integrated solution combining all three disciplines is missing. We present a conceptual framework to integrate MDSE, SPLE and SCM uniformly based on a filtered editing model. The framework implies a number of advantages, namely unconstrained variability, a reduction of cognitive complexity, improved consistency, tool independence, and a higher level of automation. Our formalism is based on a uniform versioning model for temporal, cooperative, and logical versioning of models. By an example, we show the feasibility of our approach.

[1]  ÜvÝ A Layered Architecture for Uniform Version Management , 2000 .

[2]  Tanja Hueber,et al.  Designing Software Product Lines With Uml From Use Cases To Pattern Based Software Architectures , 2016 .

[3]  Thomas Buchmann,et al.  Mapping feature models onto domain models: ensuring consistency of configured domain models , 2012, Software & Systems Modeling.

[4]  Reidar Conradi,et al.  Version models for software configuration management , 1998, CSUR.

[5]  Gabriele Taentzer,et al.  A fundamental approach to model versioning based on graph modifications: from theory to implementation , 2012, Software & Systems Modeling.

[6]  Christoph Reichenberger VOODOO - A Tool for Orthogonal Version Management , 1995, SCM.

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

[8]  Michael Pilato Version Control with Subversion , 2004 .

[9]  Jennifer Vesperman Essential CVS , 2003 .

[10]  Vincent Englebert,et al.  Collaborative editing of EMF/Ecore meta-models and models conflict detection, reconciliation, and merging in DiCoMEF , 2014, 2014 2nd International Conference on Model-Driven Engineering and Software Development (MODELSWARD).

[11]  Frank Budinsky,et al.  EMF: Eclipse Modeling Framework 2.0 , 2009 .

[12]  Bjørn P. Munch,et al.  Versioning in a Software Engineering Database — the Change Oriented Way , 1993 .

[13]  Iris Groher,et al.  Product Line Implementation using Aspect-Oriented and Model-Driven Software Development , 2007 .

[14]  Cédric Brun Obeo,et al.  MODEL DIFFERENCES IN THE ECLIPSE MODELING FRAMEWORK , 2008 .

[15]  Markus Völter,et al.  Model-Driven Software Development: Technology, Engineering, Management , 2006 .

[16]  Markus Herrmannsdoerfer,et al.  Operation-based conflict detection , 2010, IWMCP '10.

[17]  Bernhard Westfechtel,et al.  Model-based tool support for consistent three-way merging of EMF models , 2013, ACME@ECOOP.

[18]  Marc J. Rochkind,et al.  The source code control system , 1975, IEEE Transactions on Software Engineering.

[19]  Reidar Conradi,et al.  Multi-Variant Modeling ? Concepts , Issues , and Challenges , 2009 .

[20]  Jean-Marc Jézéquel,et al.  PLiBS: an Eclipse-based tool for Software Product Line Behavior Engineering , 2007 .

[21]  Scott Chacon,et al.  Pro Git , 2009, Apress.

[22]  Gabriele Anderst-Kotsis,et al.  Semantics for Accurate Conflict Detection in SMoVer: Specification, Detection and Presentation by Example , 2010, Int. J. Enterp. Inf. Syst..

[23]  Manuel Wimmer,et al.  A survey on model versioning approaches , 2009, Int. J. Web Inf. Syst..

[24]  Neil Sarnak,et al.  Creation and Maintenance of Multiple Versions , 1988, SCM.

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

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

[27]  Miguel A. Laguna,et al.  A systematic mapping study on software product line evolution: From legacy system reengineering to product line refactoring , 2013, Sci. Comput. Program..

[28]  Thomas Buchmann,et al.  FAMILE : Tool support for evolving model-driven product lines , 2012 .

[29]  Cláudia Maria Lima Werner,et al.  Odyssey-VCS: a flexible version control system for UML model elements , 2005, SCM '05.

[30]  Paul Grünbacher,et al.  Facilitating the evolution of products in product line engineering by capturing and replaying configuration decisions , 2012, International Journal on Software Tools for Technology Transfer.

[31]  Bernhard Westfechtel Merging of EMF models , 2012, Software & Systems Modeling.

[32]  Sven Apel,et al.  Guaranteeing Syntactic Correctness for All Product Line Variants: A Language-Independent Approach , 2009, TOOLS.

[33]  K. Czarnecki,et al.  Cardinality-Based Feature Modeling and Constraints : A Progress Report , 2005 .

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

[35]  C. Schneider CoObRA - a small step for development tools to collaborative environments , 2004, ICSE 2004.

[36]  Jacky Estublier,et al.  The Adele configuration manager , 1995 .

[37]  Andreas Zeller,et al.  Unified versioning through feature logic , 1997, TSEM.

[38]  Frank Budinsky,et al.  Eclipse Modeling Framework , 2003 .

[39]  Thomas Buchmann,et al.  Ensuring well-formedness of configured domain models in model-driven product lines based on negative variability , 2012, FOSD '12.

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