Towards the Integration of Model-Driven Engineering, Software Product Line Engineering, and Software Configuration Management

Felix Schwägerl, Thomas Buchmann, Sabrina Uhrig, Bernhard Westfechtel

Abstract

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.

References

  1. Altmanninger, K., Schwinger, W., and Kotsis, G. (2010). Semantics for accurate conflict detection in smover: Specification, detection and presentation by example. International Journal of Enterprise Information Systems, 6(1):68-84.
  2. 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.
  3. Brun, C. and Pierantonio, A. (2008). Model differences in the eclipse modelling framework. UPGRADE, IX(2):29-34.
  4. Buchmann, T. and Schwägerl, F. (2012). Ensuring wellformedness of configured domain models in modeldriven product lines based on negative variability. In Proceedings of the 4th International Workshop on Feature-Oriented Software Development, FOSD 2012, pages 37-44, New York, NY, USA. ACM.
  5. 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).
  6. Buchmann, T. and Westfechtel, B. (2012). Mapping feature models onto domain models: ensuring consistency of configured domain models. Software and Systems Modeling.
  7. Chacon, S. (2009). Pro Git. Apress, Berkely, CA, USA, 1st edition.
  8. Collins-Sussman, B., Fitzpatrick, B. W., and Pilato, C. M. (2004). Version Control with Subversion. O'Reilly, Sebastopol, CA.
  9. Conradi, R. and Westfechtel, B. (1998). Version models for software configuration management. ACM Computing Surveys, 30(2):232-282.
  10. 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.
  11. 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.
  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, Leipzig, Germany.
  14. Heider, W., Rabiser, R., and Grünbacher, P. (2012). Facilitating the evolution of products in product line engineering by capturing and replaying configuration decisions. International Journal on Software Tools for Technology Transfer, 14(5):613-630.
  15. Jayaraman, P. K., Whittle, J., Elkhodary, A. M., and Gomaa, H. (2007). Model composition in product lines and feature interaction detection using critical pair analysis. In Proceedings of the 10th International Conference on Model Driven Engineering Languages and Systems (MoDELS), pages 151-165, Nashville, USA.
  16. 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.
  17. Kästner, C., Apel, S., Trujillo, S., Kuhlemann, M., and Batory, D. S. (2009). Guaranteeing syntactic correctness for all product line variants: A language-independent approach. In TOOLS (47), pages 175-194.
  18. Koegel, M., Hermannsdoerfer, M., von Wesendonk, O., and Helming, J. (2010). Operation-based conflict detection. In di Ruscio, D. and Kolovos, D. S., editors, Proceedings of the 1st International Workshop on Model Comparison in Practice (IWMCP 2010), pages 21-30, Malaga, Spain.
  19. Koshima, A. and Englebert, V. (2014). Collaborative editing of EMF / Ecore meta-models and models: Conflict detection, reconciliation, and merging in DiCoMEF. In Pires, L. F., Hammoudi, S., Filipe, J., and das Neves, R. C., editors, Proceedings of the 2nd International Conference on Model-Driven Engineering and Software Development (MODELSWARD 2014), pages 55-66, Lisbon, Portugal. SCITEPRESS Science and Technology Publications, Portugal.
  20. 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.
  21. Munch, B. P. (1993). Versioning in a Software Engineering Database - The Change Oriented Way. PhD thesis, Tekniske Høgskole Trondheim Norges.
  22. Oliveira, H. L. R., Murta, L. G. P., and Werner, C. (2005). Odyssey-VCS: a flexible version control system for UML model elements. In SCM, pages 1-16. ACM.
  23. Pohl, K., Böckle, G., and van der Linden, F. (2005). Software Product Line Engineering: Foundations, Principles and Techniques. Berlin, Germany.
  24. 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.
  25. Rochkind, M. J. (1975). The source code control system. IEEE Transactions on Software Engineering, 1(4):364-370.
  26. 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.
  27. Schneider, C., Zündorf, A., and Niere, J. (2004). CoObRA - a small step for development tools to collaborative environments. In Workshop on Directions in Software Engineering Environments in 26th international conference on software engineering, Edinburgh, Scotland, UK.
  28. 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.
  29. 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.
  30. Taentzer, G., Ermel, C., Langer, P., and Wimmer, M. (2014). A fundamental approach to model versioning based on graph modifications: From theory to implementation. Software & Systems Modeling, 13(1):239- 272.
  31. Vesperman, J. (2006). Essential CVS. O'Reilly, Sebastopol, CA.
  32. Völter, M. and Groher, I. (2007). Product line implementation using aspect-oriented and model-driven software development. In Proceedings of the 11th International Software Product Line Conference, SPLC 7807, pages 233-242, Washington, DC, USA. IEEE Computer Society.
  33. Völter, M., Stahl, T., Bettin, J., Haase, A., and Helsen, S. (2006). Model-Driven Software Development: Technology, Engineering, Management. John Wiley & Sons.
  34. Westfechtel, B. (2014). mal foundations. 13(2):757-788.
  35. Westfechtel, B. and Conradi, R. (2009). Multi-variant modeling - concepts, issues and challenges. In Mezini, M., Beuche, D., and Moreira, A., editors, Proceedings 1st International Workshop on Model-Driven Product Line Engineering (MDPLE 2009), pages 57-67. CTIT Proceedings.
  36. 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.
  37. Zeller, A. and Snelting, G. (1997). Unified versioning through feature logic. ACM Trans. Softw. Eng. Methodol., 6(4):398-441.
  38. Ziadi, T. and Jézéquel, J.-M. (2007). PLiBS: an Eclipsebased tool for software product line behavior engineering. In Proc. of 3rd Workshop on Managing Variability for Software Product Lines, SPLC 2007, Kyoto, Japan.
Download


Paper Citation


in Harvard Style

Schwägerl F., Buchmann T., Uhrig S. and Westfechtel B. (2015). Towards the Integration of Model-Driven Engineering, Software Product Line Engineering, and Software Configuration Management . In Proceedings of the 3rd International Conference on Model-Driven Engineering and Software Development - Volume 1: MODELSWARD, ISBN 978-989-758-083-3, pages 5-18. DOI: 10.5220/0005195000050018


in Bibtex Style

@conference{modelsward15,
author={Felix Schwägerl and Thomas Buchmann and Sabrina Uhrig and Bernhard Westfechtel},
title={Towards the Integration of Model-Driven Engineering, Software Product Line Engineering, and Software Configuration Management},
booktitle={Proceedings of the 3rd International Conference on Model-Driven Engineering and Software Development - Volume 1: MODELSWARD,},
year={2015},
pages={5-18},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0005195000050018},
isbn={978-989-758-083-3},
}


in EndNote Style

TY - CONF
JO - Proceedings of the 3rd International Conference on Model-Driven Engineering and Software Development - Volume 1: MODELSWARD,
TI - Towards the Integration of Model-Driven Engineering, Software Product Line Engineering, and Software Configuration Management
SN - 978-989-758-083-3
AU - Schwägerl F.
AU - Buchmann T.
AU - Uhrig S.
AU - Westfechtel B.
PY - 2015
SP - 5
EP - 18
DO - 10.5220/0005195000050018