Abstract
Software engineering is a highly integrative computer science discipline, combining a plethora of different techniques to increase the quality of software development as well as the resulting software. The three sub-disciplines Model-Driven Software Engineering (MDSE), Software Product Line Engineering (SPLE) and Software Configuration Management (SCM) are well-explored, but literature still lacks an integrated solution. In this paper, we present the realization of a conceptual framework that integrates those three sub-disciplines uniformly based on a filtered editing model. The framework combines the check-out/modify/commit workflow known from SCM with the formalism of feature models and feature configurations known from SPLE. The implementation is model-driven and extensible with respect to different product and version space models. Important design decisions are formalized by means of Ecore metamodels. Furthermore, we propose several optimizations that increase the scalability of the conceptual framework.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
References
Altmanninger, K., Seidl, M., Wimmer, M.: A survey on model versioning approaches. Int. J. Web Inf. Syst. (IJWIS) 5(3), 271–304 (2009)
Chacon, S.: Pro Git, 1st edn. Apress, Berkely (2009)
Collins-Sussman, B., Fitzpatrick, B.W., Pilato, C.M.: Version Control with Subversion. O’Reilly, Sebastopol (2004)
Conradi, R., Westfechtel, B.: Version models for software configuration management. ACM Comput. Surv. 30(2), 232–282 (1998)
Estublier, J., Casallas, R.: The Adele configuration manager. In: Tichy, W.F. (ed.) Configuration Management, Trends in Software, vol. 2, pp. 99–134. Wiley, Chichester (1994)
Gomaa, H.: Designing Software Product Lines with UML: From Use Cases to Pattern-Based Software Architectures. Addison-Wesley, Boston (2004)
Heidenreich, F., Kopcsek, J., Wende, C.: FeatureMapper: mapping features to models. In: Companion Proceedings of the 30th International Conference on Software Engineering (ICSE 2008), pp. 943–944. ACM, New York, May 2008
Kang, K.C., Cohen, S.G., Hess, J.A., Novak, W.E., Peterson, A.S.: Feature-oriented domain analysis (FODA) feasibility study. Technical report CMU/SEI-90-TR-21, Carnegie-Mellon University, Software Engineering Institute, November 1990
Kästner, C., Trujillo, S., Apel, S.: Visualizing software product line variabilities in source code. In: Proceedings of the 2nd International SPLC Workshop on Visualisation in Software Product Line Engineering (ViSPLE), pp. 303–313, September 2008
Kernighan, B.W.: The C Programming Language, 2nd edn. Prentice Hall Professional Technical Reference, Upper Saddle River (1988)
Laguna, M.A., Crespo, Y.: A systematic mapping study on software product line evolution: from legacy system reengineering to product line refactoring. Sci. Comput. Program. 78(8), 1010–1034 (2013). http://dx.doi.org/10.1016/j.scico.2012.05.003
Munch, B.P.: Versioning in a Software Engineering Database – The Change Oriented Way. Ph.D. thesis, Tekniske Høgskole Trondheim Norges (1993)
Pohl, K., Böckle, G., van der Linden, F.: Software Product Line Engineering: Foundations Principles and Techniques. Springer, Berlin (2005)
Reichenberger, C.: VooDoo a tool for orthogonal version management. In: Estublier, J. (ed.) ICSE-WS/SCM 1993/1995. LNCS, vol. 1005, pp. 61–79. Springer, Heidelberg (1995)
Rochkind, M.J.: The source code control system. IEEE Trans. Software Eng. 1(4), 364–370 (1975)
Sarnak, N., Bernstein, R.L., Kruskal, V.: Creation and maintenance of multiple versions. In: Winkler, J.F.H. (ed.) SCM. Berichte des German Chapter of the ACM, vol. 30, pp. 264–275. Teubner (1988)
Schwägerl, F., Buchmann, T., Uhrig, S., Westfechtel, B.: Towards the integration of model-driven engineering, software product line engineering, and software configuration management. In: Hammoudi, S., Pires, L.F., Desfray, P., Filipe, J. (eds.) Proceedings of the 3rd International Conference on Model-Driven Engineering and Software Development (MODELSWARD 2015), pp. 5–18. SCITEPRESS Science and Technology Publications, Portugal (2015)
Schwägerl, F., Buchmann, T., Westfechtel, B.: 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 (ICSOFT-PT). SCITEPRESS Science and Technology Publications, Portugal, Colmar, France (2015, to be published, accepted for publication)
Schwägerl, F., Uhrig, S., Westfechtel, B.: Model-based tool support for consistent three-way merging of EMF models. In: Proceedings of the workshop on ACadeMics Tooling with Eclipse, ACME 2013, pp. 2:1–2:10. ACM, New York (2013)
Schwägerl, F., Uhrig, S., Westfechtel, B.: A graph-based algorithm for three-way merging of ordered collections in EMF models. Science of Computer Programming (2015, in press, accepted manuscript). http://www.sciencedirect.com/science/article/pii/S0167642315000532
Steinberg, D., Budinsky, F., Paternostro, M., Merks, E.: EMF Eclipse Modeling Framework. The Eclipse Series, 2nd edn. Addison-Wesley, Upper Saddle River (2009)
Vanbrabant, R.: Google Guice: Agile Lightweight Dependency Injection Framework (Firstpress). APress, New York (2008)
Vesperman, J.: Essential CVS. O’Reilly, Sebastopol (2006)
Völter, M., Groher, I.: Product line implementation using aspect-oriented and model-driven software development. In: Proceedings of the 11th International Software Product Line Conference, SPLC 2007, pp. 233–242. IEEE Computer Society, Washington, DC (2007). http://dx.doi.org/10.1109/SPLC.2007.28
Völter, M., Stahl, T., Bettin, J., Haase, A., Helsen, S.: Model-Driven Software Development: Technology, Engineering, Management. Wiley, Chichester (2006)
Walkingshaw, E., Ostermann, K.: Projectional editing of variational software. In: Generative Programming: Concepts and Experiences, GPCE 2014, Vasteras, Sweden, 15–16 September 2014, pp. 29–38 (2014). http://doi.acm.org/10.1145/2658761.2658766
Westfechtel, B., Munch, B.P., Conradi, R.: A layered architecture for uniform version management. IEEE Trans. Softw. Eng. 27(12), 1111–1133 (2001)
Zeller, A., Snelting, G.: Unified versioning through feature logic. ACM Trans. Softw. Eng. Methodol. 6(4), 398–441 (1997)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2015 Springer International Publishing Switzerland
About this paper
Cite this paper
Schwägerl, F., Buchmann, T., Uhrig, S., Westfechtel, B. (2015). Realizing a Conceptual Framework to Integrate Model-Driven Engineering, Software Product Line Engineering, and Software Configuration Management. In: Desfray, P., Filipe, J., Hammoudi, S., Pires, L. (eds) Model-Driven Engineering and Software Development. MODELSWARD 2015. Communications in Computer and Information Science, vol 580. Springer, Cham. https://doi.org/10.1007/978-3-319-27869-8_2
Download citation
DOI: https://doi.org/10.1007/978-3-319-27869-8_2
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-27868-1
Online ISBN: 978-3-319-27869-8
eBook Packages: Computer ScienceComputer Science (R0)