Collaborative and Distributed Management of Versioned Model-driven Software Product Lines

Felix Schwägerl, Bernhard Westfechtel

Abstract

Software Product Line Engineering promises a significant gain in productivity, yet with the addition of new challenges one of which is the increased complexity of collaborative development. This paper presents an approach to distributed and collaborative product line engineering based on a filtered editing framework that has been extended by multi-user support. Using filtered editing, the product line is developed in a single-version view in a local workspace and transparently organized in a local repository. The contributed conceptual extension orchestrates the evolution and synchronization of different copies of the repository. This way, local transactions realized by check-out and commit are complemented by remote transactions using the operations pull and push. The proposed approach has been implemented as an extension to the model-driven tool Super- Mod backed by a REST-based web service, evolving the toolset to a distributed product line version control system. We discuss relevant design decisions and illustrate our contributions by several examples.

References

  1. Apel, S. and Kästner, C. (2009). An overview of featureoriented software development. Journal of Object Technology, 8(5):49-84.
  2. Chacon, S. (2009). Pro Git. Apress, Berkely, CA, USA, 1st edition.
  3. Collins-Sussman, B., Fitzpatrick, B. W., and Pilato, C. M. (2004). Version Control with Subversion. O'Reilly, Sebastopol, CA.
  4. Conradi, R. and Malm, C. C. (1991). Cooperating transactions and workspaces in EPOS: Design and preliminary implementation. In Proceedings of the 3rd In-
  5. 3http://btn1x4.inf.uni-bayreuth.de/supermod/update
  6. 4http://btn1x4.inf.uni-bayreuth.de/supermod/
  7. 5http://btn1x4.inf.uni-bayreuth.de/supermod/screencast
  8. ple) ternational Conference on Advanced Information Systems Engineering (CAiSE'91), pages 375-392.
  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. Estublier, J. and Casallas, R. (1994). The Adele configuration manager. In Tichy, W. F., editor, Configuration Management, volume 2 of Trends in Software, pages 99-134. John Wiley & Sons, Chichester, UK.
  11. Fielding, R. T. (2000). REST: Architectural Styles and the Design of Network-based Software Architectures. Doctoral dissertation, University of California, Irvine.
  12. Gomaa, H. (2004). Designing Software Product Lines with UML: From Use Cases to Pattern-Based Software Architectures. Addison-Wesley, Boston, MA.
  13. 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.
  14. 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.
  15. Kästner, C., Trujillo, S., and Apel, S. (2008). Visualizing software product line variabilities in source code. In Proceedings of the 2nd International SPLC Workshop on Visualisation in Software Product Line Engineering (ViSPLE), pages 303-313.
  16. Krueger, C. W. (2002). Variation management for software production lines. In Proceedings of the Second International Conference on Software Product Lines, SPLC 2, pages 37-48, London, UK, UK. SpringerVerlag.
  17. Laguna, M. A. and Crespo, Y. (2013). A systematic mapping study on software product line evolution: From legacy system reengineering to product line refactoring. Sci. Comput. Program., 78(8):1010-1034.
  18. Munch, B. P. (1993). Versioning in a Software Engineering Database - The Change Oriented Way . PhD thesis, Tekniske Høgskole Trondheim Norges.
  19. OMG (2011a). OMG MOF 2 XMI Mapping Specification, Version 2.4.1. Object Management Group.
  20. OMG (2011b). UML Infrastructure. Object Management Group, Needham, MA, formal/2011-08-05 edition.
  21. Pohl, K., Böckle, G., and van der Linden, F. (2005). Software Product Line Engineering: Foundations, Principles and Techniques. Springer, Berlin, Germany.
  22. Rochkind, M. J. (1975). The source code control system. IEEE Transactions on Software Engineering, 1(4):364-370.
  23. Sarnak, N., Bernstein, R. L., and Kruskal, V. (1988). Creation and maintenance of multiple versions. In Winkler, J. F. H., editor, SCM, volume 30 of Berichte des German Chapter of the ACM, pages 264-275. Teubner.
  24. Schwägerl, F., Buchmann, T., Uhrig, S., and Westfechtel, B. (2015a). Towards the integration of modeldriven engineering, software product line engineering, and software configuration management. In Hammoudi, S., Pires, L. F., Desfray, P., and Filipe, J., editors, Proceedings of the 3rd International Conference on Model-Driven Engineering and Software Development (MODELSWARD 2015), pages 5-18, Angers, France. SCITEPRESS.
  25. Schwägerl, F., Buchmann, T., and Westfechtel, B. (2015b). SuperMod - A model-driven tool that combines version control and software product line engineering. In ICSOFT-PT 2015 - Proceedings of the 10th International Conference on Software Paradigm Trends, pages 5-18, Colmar, Alsace, France. SCITEPRESS.
  26. Schwägerl, F., Uhrig, S., and Westfechtel, B. (2015c). A graph-based algorithm for three-way merging of ordered collections in EMF models. Science of Computer Programming, 113, Part 1:51 - 81. Selected and Revised Papers from MODELSWARD 2014.
  27. 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.
  28. Thao, C. (2012). Managing evolution of software product line. In Glinz, M., Murphy, G. C., and Pezzè, M., editors, 34th International Conference on Software Engineering, ICSE 2012, June 2-9, 2012, Zurich, Switzerland, pages 1619-1621. IEEE.
  29. Tichy, W. F. (1985). RCS - a system for version control. Journal of Software: Practice and Experience, 15(7):637-654.
  30. Völter, M., Stahl, T., Bettin, J., Haase, A., and Helsen, S. (2006). Model-Driven Software Development: Technology, Engineering, Management. John Wiley & Sons.
  31. 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.
  32. Westfechtel, B. (2014). Merging of EMF models - formal foundations. Software & Systems Modeling, 13(2):757-788.
  33. 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.
Download


Paper Citation


in Harvard Style

Schwägerl F. and Westfechtel B. (2016). Collaborative and Distributed Management of Versioned Model-driven Software Product Lines . In Proceedings of the 11th International Joint Conference on Software Technologies - Volume 2: ICSOFT-PT, (ICSOFT 2016) ISBN 978-989-758-194-6, pages 83-94. DOI: 10.5220/0005971300830094


in Bibtex Style

@conference{icsoft-pt16,
author={Felix Schwägerl and Bernhard Westfechtel},
title={Collaborative and Distributed Management of Versioned Model-driven Software Product Lines},
booktitle={Proceedings of the 11th International Joint Conference on Software Technologies - Volume 2: ICSOFT-PT, (ICSOFT 2016)},
year={2016},
pages={83-94},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0005971300830094},
isbn={978-989-758-194-6},
}


in EndNote Style

TY - CONF
JO - Proceedings of the 11th International Joint Conference on Software Technologies - Volume 2: ICSOFT-PT, (ICSOFT 2016)
TI - Collaborative and Distributed Management of Versioned Model-driven Software Product Lines
SN - 978-989-758-194-6
AU - Schwägerl F.
AU - Westfechtel B.
PY - 2016
SP - 83
EP - 94
DO - 10.5220/0005971300830094