SuperMod — A Model-Driven Tool that Combines Version Control and Software Product Line Engineering

Felix Schwägerl, Thomas Buchmann, Bernhard Westfechtel

2015

Abstract

Version control (VC) and Software Product Line Engineering (SPLE) are two software engineering disciplines to manage variability in time and variability in space. In this paper, a thorough comparison of VC and SPLE is provided, showing that both disciplines imply a number of desirable properties. As a proof of concept for the combination of VC and SPLE, we present SuperMod, a tool realizes an existing conceptual framework that transfers the iterative VC editing model to SPLE. The tool allows to develop a software product line in a single-version workspace step by step, while variability management is completely automated. It offers familiar version control metaphors such as check-out and commit, and in addition uses the SPLE concepts of feature models and feature configuration the definition of logical variability and to define the logical scope of a change. SuperMod has been implemented in a model-driven way and primarily targets EMF models as software artifacts. We successfully apply the tool to a standard SPLE example.

References

  1. Altmanninger, K., Seidl, M., and Wimmer, M. (2009). A survey on model versioning approaches. International Journal of Web Information Systems (IJWIS), 5(3):271-304.
  2. Apel, S. and Kästner, C. (2009). An overview of featureoriented software development. Journal of Object Technology, 8(5):49-84.
  3. Buchmann, T. (2012). Valkyrie: A UML-based modeldriven environment for model-driven software engineering. In Hammoudi, S., van Sinderen, M., and Cordeiro, J., editors, Proceedings of the 7th International Conference on Software Paradigm Trends (ICSOFT 2012), pages 147-157. SCITEPRESS Science and Technology Publications, Portugal.
  4. Buchmann, T. and Schwägerl, F. (2012). FAMILE: tool support for evolving model-driven product lines. In Störrle, H., Botterweck, G., Bourdells, M., Kolovos, D., Paige, R., Roubtsova, E., Rubin, J., and Tolvanen, J.-P., editors, Joint Proceedings of co-located Events at the 8th European Conference on Modelling Foundations and Applications, CEUR WS, pages 59-62, Building 321, DK-2800 Kongens Lyngby. Technical University of Denmark (DTU).
  5. Chacon, S. (2009). Pro Git. Apress, Berkely, CA, USA, 1st edition.
  6. Clements, P. and Northrop, L. (2001). Software Product Lines: Practices and Patterns. Boston, MA.
  7. Collins-Sussman, B., Fitzpatrick, B. W., and Pilato, C. M. (2004). Version Control with Subversion. O'Reilly, Sebastopol, CA.
  8. Conradi, R. and Westfechtel, B. (1998). Version models for software configuration management. ACM Computing Surveys, 30(2):232-282.
  9. Czarnecki, K. and Kim, C. H. P. (2005). Cardinality-based feature modeling and constraints: a progress report. In International Workshop on Software Factories at OOPSLA'05, San Diego, California, USA. ACM.
  10. Gomaa, H. (2004). Designing Software Product Lines with UML: From Use Cases to Pattern-Based Software Architectures. Addison-Wesley, Boston, MA.
  11. Heidenreich, F., Kopcsek, J., and Wende, C. (2008). FeatureMapper: Mapping Features to Models. In Companion Proceedings of the 30th International Conference on Software Engineering (ICSE'08), pages 943- 944, New York, NY, USA. ACM.
  12. Kang, K. C., Cohen, S. G., Hess, J. A., Novak, W. E., and Peterson, A. S. (1990). Feature-oriented domain analysis (FODA) feasibility study. Technical Report CMU/SEI-90-TR-21, Carnegie-Mellon University, Software Engineering Institute.
  13. Lopez-Herrejon, R. E. and Batory, D. S. (2001). A standard problem for evaluating product-line methodologies. In Proceedings of the Third International Conference on Generative and Component-Based Software Engineering, GCSE 7801, pages 10-24, London, UK. Springer.
  14. Munch, B. P. (1993). Versioning in a Software Engineering Database - The Change Oriented Way. PhD thesis, Tekniske Høgskole Trondheim Norges.
  15. OMG (2011). UML Infrastructure. Object Management Group, Needham, MA, formal/2011-08-05 edition.
  16. Pohl, K., Böckle, G., and van der Linden, F. (2005). Software Product Line Engineering: Foundations, Principles and Techniques. Berlin, Germany.
  17. Reichenberger, C. (1995). VOODOO - a tool for orthogonal version management. In Estublier, J., editor, SCM, volume 1005 of Lecture Notes in Computer Science, pages 61-79. Springer.
  18. Rochkind, M. J. (1975). The source code control system. IEEE Transactions on Software Engineering, 1(4):364-370.
  19. Schwägerl, F., Uhrig, S., and Westfechtel, B. (2013). Model-based tool support for consistent three-way merging of EMF models. In Proceedings of the workshop on ACadeMics Tooling with Eclipse, ACME 7813, pages 2:1-2:10, New York, NY, USA. ACM.
  20. Steinberg, D., Budinsky, F., Paternostro, M., and Merks, E. (2009). EMF Eclipse Modeling Framework. The Eclipse Series. Addison-Wesley, Upper Saddle River, NJ, 2nd edition edition.
  21. Tichy, W. F. (1985). RCS - a system for version control. Journal of Software: Practice and Experience, 15(7):637-654.
  22. Völter, M., Stahl, T., Bettin, J., Haase, A., and Helsen, S. (2006). Model-Driven Software Development: Technology, Engineering, Management. John Wiley & Sons.
  23. Walkingshaw, E. and Ostermann, K. (2014). Projectional editing of variational software. In Generative Programming: Concepts and Experiences, GPCE'14, Vasteras, Sweden, September 15-16, 2014, pages 29- 38.
  24. Westfechtel, B., Munch, B. P., and Conradi, R. (2001). A layered architecture for uniform version management. IEEE Transactions on Software Engineering, 27(12):1111-1133.
  25. Zeller, A. and Snelting, G. (1997). Unified versioning through feature logic. ACM Transactions on Software Engineering and Methodology, 6(4):398-441.
Download


Paper Citation


in Harvard Style

Schwägerl F., Buchmann T. and Westfechtel B. (2015). SuperMod — A Model-Driven Tool that Combines Version Control and Software Product Line Engineering . In Proceedings of the 10th International Conference on Software Paradigm Trends - Volume 1: ICSOFT-PT, (ICSOFT 2015) ISBN 978-989-758-115-1, pages 5-18. DOI: 10.5220/0005506600050018


in Bibtex Style

@conference{icsoft-pt15,
author={Felix Schwägerl and Thomas Buchmann and Bernhard Westfechtel},
title={SuperMod — A Model-Driven Tool that Combines Version Control and Software Product Line Engineering},
booktitle={Proceedings of the 10th International Conference on Software Paradigm Trends - Volume 1: ICSOFT-PT, (ICSOFT 2015)},
year={2015},
pages={5-18},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0005506600050018},
isbn={978-989-758-115-1},
}


in EndNote Style

TY - CONF
JO - Proceedings of the 10th International Conference on Software Paradigm Trends - Volume 1: ICSOFT-PT, (ICSOFT 2015)
TI - SuperMod — A Model-Driven Tool that Combines Version Control and Software Product Line Engineering
SN - 978-989-758-115-1
AU - Schwägerl F.
AU - Buchmann T.
AU - Westfechtel B.
PY - 2015
SP - 5
EP - 18
DO - 10.5220/0005506600050018