Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/3023956.3023969acmotherconferencesArticle/Chapter ViewAbstractPublication PagesvamosConference Proceedingsconference-collections
research-article

Perspectives on combining model-driven engineering, software product line engineering, and version control

Published: 01 February 2017 Publication History
  • Get Citation Alerts
  • Abstract

    Model-driven software engineering (MDSE), software product line engineering (SPLE), and version control (VC) have been established as three software engineering sub-disciplines dealing with raising the level of abstraction of software development, organizing variability in a systematic way, and controlling the evolution of software artifacts, respectively. Traditionally, these sub-disciplines are supported by disjoint tools, leading to undesirable context switches.
    In this tool-centric survey, approaches for combining MDSE, SPLE, and VC in a pair-wise or even holistic fashion are categorized and assessed. The combination of MDSE and SPLE is natural since models are used to describe both the problem and the solution space. Moreover, specific VC support for models may improve collaborative MDSE in a similar way as dedicated SPL versioning supports evolution control. Last, both VC and SPLE deal with different types of variability - in time and in space, respectively -, such that an integration promises to close the gap between historical and logical (model) versioning.
    Results indicate that these promises are only satisfied partly by existing approaches. To attest this, we conclude with a list of usage scenarios for combined MDSE/SPLE/VC that cannot be adequately addressed by the current tools.

    References

    [1]
    M. Acher, P. Collet, P. Lahire, and R. B. France. Composing feature models. In Proc. 2nd SLE, pages 62--81, Denver, CO, USA, 2009. Springer.
    [2]
    M. Alanen and I. Porres. Difference and union of models. In Proc. 6th UML, volume 2863 of LNCS, pages 2--17, San Francisco, CA, Oct. 2003. Springer.
    [3]
    K. Altmanninger, G. Kappel, A. Kusel, W. Retschitzegger, M. Seidl, W. Schwinger, and M. Wimmer. AMOR - Towards Adaptable Model Versioning. In Proc. 1st MCCM, Toulouse, France, 2008.
    [4]
    K. Altmanninger, M. Seidl, and M. Wimmer. A survey on model versioning approaches. International Journal of Web Information Systems, 5(3):271--304, 2009.
    [5]
    S. Apel, F. Janda, S. Trujillo, and C. Kästner. Model superimposition in software product lines. In Proc. 2nd ICMT, pages 4--19, July 2009.
    [6]
    S. Apel, C. Kästner, and C. Lengauer. FeatureHouse: Language-independent, automated software composition. In Proc. 31st ICSE, pages 221--231, Vancouver, Canada, May 2009.
    [7]
    O. B. Badreddin, T. C. Lethbridge, and A. Forward. A novel approach to versioning and merging model and code uniformly. In Proc. 2nd MODELSWARD, pages 254--263, Lisbon, Portugal, January 2014. SCITEPRESS.
    [8]
    K. Bak, K. Czarnecki, and A. Wasowski. Feature and meta-models in clafer: Mixed, specialized, and coupled. In Proc. 4th SLE, pages 102--122, Eindhoven, Netherlands, 2010. Springer.
    [9]
    D. Batory, J. N. Sarvela, and A. Rauschmayer. Scaling step-wise refinement. In Proc. 25th ICSE, pages 187--197, Washington, DC, USA, 2003. IEEE Computer Society.
    [10]
    C. Brun and A. Pierantonio. Model differences in the eclipse modelling framework. UPGRADE, IX(2):29--34, Apr. 2008.
    [11]
    T. Buchmann and F. Schwägerl. FAMILE: tool support for evolving model-driven product lines. In Joint Proc. co-located Events at 8th ECMFA, CEUR WS, pages 59--62, Lyngby, Denmark, July 2012.
    [12]
    B. Collins-Sussman, B. W. Fitzpatrick, and C. M. Pilato. Version Control with Subversion. O'Reilly & Associates, Sebastopol, CA, 2004.
    [13]
    R. Conradi and B. Westfechtel. Version models for software configuration management. ACM Computing Surveys, 30(2):232--282, June 1998.
    [14]
    K. Czarnecki and M. Antkiewicz. Mapping features to models: A template approach based on superimposed variants. In Proc. 4th GPCE, pages 422--437, Tallinn, Estonia, 2005. Springer.
    [15]
    D. Dhungana, T. Neumayer, P. Grünbacher, and R. Rabiser. Supporting evolution in model-based product line engineering. In Proc. 12th SPLC, pages 319--328, Limerick, Ireland, September 2008. IEEE.
    [16]
    J. Estublier and R. Casallas. The Adele configuration manager. In Configuration Management, volume 2 of Trends in Software, pages 99--134. John Wiley & Sons, Chichester, UK, 1994.
    [17]
    J. Estublier, I. A. Dieng, and T. Leveque. Software product line evolution: The selecta system. In Proc. 10th PLEASE Workshop, pages 32--39, Cape Town, South Africa, 2010. ACM.
    [18]
    U. Fahrenberg, M. Acher, A. Legay, and A. Wasowski. Sound merging and differencing for class diagrams. In Proc. 17th FASE, pages 63--78, Grenoble, France, April 2014.
    [19]
    H. Gomaa. Designing Software Product Lines with UML: From Use Cases to Pattern-Based Software Architectures. Addison-Wesley, Boston, MA, USA, 2004.
    [20]
    I. Groher and M. Völter. XWeave: models and aspects in concert. In Proc. 10th int. Workshop on Aspect-oriented modeling, pages 35--40, Vancouver, Canada, 2007. ACM.
    [21]
    Ø. Haugen, B. Møller-Pedersen, J. Oldevik, G. K. Olsen, and A. Svendsen. Adding standardized variability to domain specific languages. In Proc. 12th SPLC, pages 139--148, Limerick, Ireland, September 2008.
    [22]
    F. Heidenreich, J. Kopcsek, and C. Wende. FeatureMapper: Mapping features to models. In Companion Proc. 30th ICSE, pages 943--944, Leipzig, Germany, May 2008. ACM.
    [23]
    W. Hofer, C. Elsner, F. Blendinger, W. Schröder-Preikschat, and D. Lohmann. Toolchain-independent variant management with the Leviathan filesystem. In Proc. 2nd FOSD, pages 18--24, Eindhoven, Netherlands, October 2010.
    [24]
    K. C. Kang, S. G. Cohen, J. A. Hess, W. E. Novak, and A. S. Peterson. Feature-oriented domain analysis (FODA) feasibility study. Technical Report CMU/SEI-90-TR-21, Carnegie-Mellon University, Software Engineering Institute, Nov. 1990.
    [25]
    C. Kästner, S. Trujillo, and S. Apel. Visualizing Software Product Line Variabilities in Source Code. PhD thesis, San Francisco, CA, USA, Sept. 2008.
    [26]
    T. Kehrer, U. Kelter, and G. Taentzer. Consistency-preserving edit scripts in model versioning. In Proc. 28th ASE, pages 191--201, November 2013.
    [27]
    U. Kelter, J. Wehren, and J. Niere. A generic difference algorithm for UML models. In 1st GI Software Engineering, volume P-64 of LNI, pages 105--116, Essen, Germany, 2005. Gesellschaft für Informatik.
    [28]
    M. Kögel and J. Helming. EMFStore: a model repository for emf models. In Proc. 32nd ICSE, pages 307--308, Cape Town, South Africa, 2010. ACM.
    [29]
    Y. Li, J. Rubin, and M. Chechik. Semantic slicing of software version histories. In Proc. 30th ASE, pages 686--696, Washington, DC, USA, 2015. IEEE.
    [30]
    R. Mitschke and M. Eichberg. Supporting the evolution of software product lines. In ECMDA Traceability Workshop, 2008.
    [31]
    L. Montalvillo and O. Díaz. Tuning GitHub for SPL development: Branching models and repository operations for product engineers. In Proc. 19th SPLC, pages 111--120, Nashville, Tennessee, 2015. ACM.
    [32]
    B. P. Munch, J. otto Larsen, B. Gulla, R. Conradi, and E.-A. Karlsson. Uniform versioning: The change-oriented model. In In Proc. 4th SCM Workshop, pages 188--196, 1993.
    [33]
    L. Murta, C. Corrêa, J. a. G. Prudêncio, and C. Werner. Towards Odyssey-VCS 2: Improvements over a UML-based version control system. In Proc. Workshop CVSM, Leipzig, Germany, May 2008.
    [34]
    S. Nejati, M. Sabetzadeh, M. Chechik, S. Easterbrook, and P. Zave. Matching and merging of statecharts specifications. In Proc. 29th ICSE, pages 54--64, Washington, DC, USA, 2007. IEEE.
    [35]
    Object Management Group (OMG). Common Variability Language (CVL) Revised Submission. Needham, MA, Aug. 2012.
    [36]
    Object Management Group (OMG). XML Metadata Interchange (XMI), Version 2.5.1. Needham, MA, 2015.
    [37]
    Object Management Group (OMG). Meta Object Facility (MOF) Version 2.5.1. Needham, MA, 2016.
    [38]
    C. Pietsch, T. Kehrer, U. Kelter, D. Reuling, and M. Ohrndorf. SiPL - A delta-based modeling framework for software product line engineering. In Proc. 30th ASE, pages 852--857, Lincoln, NE, USA, November 2015.
    [39]
    K. Pohl, G. Böckle, and F. van der Linden. Software Product Line Engineering: Foundations, Principles and Techniques. Springer, Berlin, Germany, 2005.
    [40]
    C. Reichenberger. VOODOO - a tool for orthogonal version management. In Proc. 4th SCM, volume 1005 of LNCS, pages 61--79. Springer, 1995.
    [41]
    N. Sarnak, R. L. Bernstein, and V. Kruskal. Creation and maintenance of multiple versions. In Proc. 2nd SCM, volume 30 of German Chapter ACM, pages 264--275. Teubner, 1988.
    [42]
    K. Schmid, R. Koschke, C. Kröher, and D. Lüdemann. Towards identifying evolution smells in software product lines. In Proc. 9th GI Software Engineering, pages 215--219, Aachen, Germany, 2013.
    [43]
    C. Schneider, A. Zündorf, and J. Niere. CoObRA - a small step for development tools to collaborative environments. In Proc. Workshop on Directions in Software Engineering Environments, Edinburgh, Scotland, UK, May 2004.
    [44]
    F. Schwägerl, T. Buchmann, and B. Westfechtel. Supermod - A model-driven tool that combines version control and software product line engineering. In Proc. 10th ICSOFT-PT 2015, pages 5--18, Colmar, Alsace, France, July 2015.
    [45]
    F. Schwägerl, S. Uhrig, and B. Westfechtel. Model-based tool support for consistent three-way merging of EMF models. In Proc. Workshop on ACadeMics Tooling with Eclipse at 9th ECMFA, pages 2:1--2:10, Montpellier, France, 2013. ACM.
    [46]
    C. Seidl, I. Schaefer, and U. Aßmann. Integrated management of variability in space and time in software families. In Proc. 16th SPLC, pages 22--31, Florence, Italy, 2014. ACM.
    [47]
    C. Thao. A configuration management system for software product lines. PhD thesis, University of Wisconsin Milwaukee, August 2012.
    [48]
    T. Thüm, C. Kästner, F. Benduhn, J. Meinicke, G. Saake, and T. Leich. FeatureIDE: An extensible framework for feature-oriented software development. Sience of Computer Programming, 79:70--85, Jan. 2014.
    [49]
    M. Völter, T. Stahl, J. Bettin, A. Haase, and S. Helsen. Model-Driven Software Development: Technology, Engineering, Management. John Wiley & Sons, 2006.
    [50]
    E. Walkingshaw and K. Ostermann. Projectional editing of variational software. In Proc. 13th GPCE, pages 29--38, Västerås, Sweden, September 2014.
    [51]
    B. Westfechtel. Merging of EMF models - formal foundations. Software and Systems Modeling, 13(2):757--788, 2014.
    [52]
    B. Westfechtel, B. P. Munch, and R. Conradi. A layered architecture for uniform version management. IEEE Transactions on Software Engineering, 27(12):1111--1133, 2001.
    [53]
    J. Whittle, P. Jayaraman, A. Elkhodary, A. Moreira, and J. Araújo. Mata: A unified approach for composing UML aspect models based on graph transformation. In Transactions on Aspect-Oriented Software Development VI, volume 5560 of LNCS, pages 191--237. Springer, 2009.
    [54]
    M. Wimmer, A. Schauerhuber, G. Kappel, W. Retschitzegger, W. Schwinger, and E. Kapsammer. A survey on uml-based aspect-oriented design modeling. ACM Computing Surveys, 43(4):28:1--28:33, Oct. 2011.
    [55]
    A. Zeller and G. Snelting. Unified versioning through feature logic. ACM Transactions on Software Engineering, 6(4):398--441, Oct. 1997.
    [56]
    T. Ziadi, L. Hélouët, and J.-M. Jézéquel. Towards a UML profile for software product lines. In Proc. Software Product-Family Engineering, volume 3014 of LNCS, pages 129--139. Springer, Siena, Italy, 2004.
    [57]
    S. Zschaler, P. Sánchez, and J. Santos. VML* --- a family of languages for variability management in software product lines. In Proc. 3rd SLE, pages 82--102. Springer, Denver, CO, USA, 2010.

    Cited By

    View all

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Other conferences
    VaMoS '17: Proceedings of the 11th International Workshop on Variability Modelling of Software-Intensive Systems
    February 2017
    114 pages
    ISBN:9781450348119
    DOI:10.1145/3023956
    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 01 February 2017

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. model version control
    2. model-driven software product lines
    3. software evolution
    4. variability management

    Qualifiers

    • Research-article

    Conference

    VaMoS '17

    Acceptance Rates

    Overall Acceptance Rate 66 of 147 submissions, 45%

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • 0
      Total Citations
    • 161
      Total Downloads
    • Downloads (Last 12 months)9
    • Downloads (Last 6 weeks)4
    Reflects downloads up to 10 Aug 2024

    Other Metrics

    Citations

    Cited By

    View all

    View Options

    Get Access

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media