Maintaining Workspace Consistency in Filtered Editing of Dynamically Evolving Model-driven Software Product Lines

Felix Schwägerl, Bernhard Westfechtel

Abstract

Model-driven software product line engineering is complicated: In addition to defining a variability model, developers must deal with a multi-variant domain model. To reduce complexity, filtered editing, inspired by version control, was recently transferred to software product line engineering. On check-out, a single-variant model is derived based on a configuration of its features. On commit, the representatively applied change is scoped with the features to which it is relevant. The here considered dynamic editing model involves different kinds of evolution: The variability model and the domain model are edited concurrently. Features, which define the workspace contents or the scope of the change, may be introduced or deleted. Furthermore, the scope of a change may be revised until commit. The dynamism of this filtered editing model raises consistency problems concerning the evolving relationships between the variability model, the specified configuration, and the scope of the change. This paper formalizes these constraints and presents consistency-preserving algorithms for the workspace operations check-out, commit, as well as a new operation, migrate. This way, the evolution of model-driven software product lines is managed automatically, non-disruptively, and consistently.

References

  1. Batory, D. (2005). Feature models, grammars, and propositional formulas. In Proceedings of the 9th International Conference on Software Product Lines, SPLC'05, pages 7-20, Berlin, Heidelberg. Springer.
  2. Berre, D. L. and Parrain, A. (2010). The Sat4j library, release 2.2. JSAT, 7(2-3):59-6.
  3. Chacon, S. (2009). Pro Git. Apress, Berkely, CA, USA, 1st edition.
  4. Collins-Sussman, B., Fitzpatrick, B. W., and Pilato, C. M. (2004). Version Control with Subversion. O'Reilly, Sebastopol, CA.
  5. Conradi, R. and Westfechtel, B. (1998). Version models for software configuration management.ACM Computing Surveys, 30(2):232-282.
  6. Czarnecki, K., Helsen, S., and Eisenecker, U. (2004). Staged configuration using feature models. In Nord, R., editor, Software Product Lines, volume 3154 of Lecture Notes in Computer Science, pages 266-283. Springer Berlin Heidelberg.
  7. Estublier, J. and Casallas, R. (1995). Three dimensional versioning. In Estublier, J., editor, Software Configuration Management: Selected Papers SCM-4 and SCM5, volume 1005 of Lecture Notes in Computer Science, pages 118-135, Seattle, WA. Springer-Verlag.
  8. Fielding, R. T. (2000). REST: Architectural Styles and the Design of Network-based Software Architectures. Doctoral dissertation, University of California, Irvine.
  9. Gomaa, H. (2004). Designing Software Product Lines with UML: From Use Cases to Pattern-Based Software Architectures. Addison-Wesley, Boston, MA.
  10. 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.
  11. 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.
  12. 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.
  13. Linsbauer, L., Egyed, A., and Lopez-Herrejon, R. E. (2016). A variability aware configuration management and revision control platform. In Proceedings of the 38th International Conference on Software Engineering Companion, ICSE 7816, pages 803-806, New York, NY, USA. ACM.
  14. 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.
  15. Mitschke, R. and Eichberg, M. (2008). Supporting the evolution of software product lines. In Oldevik, J., Olsen, G. K., Neple, T., and Paige, R., editors, ECMDA Traceability Workshop Proceedings 2008, pages 87- 96, Berlin, Germany.
  16. Montalvillo, L. and Díaz, O. (2015). Tuning GitHub for SPL development: branching models & repository operations for product engineers. In Proceedings of the 19th International Conference on Software Product Line, SPLC 2015, Nashville, TN, USA, July 20-24, 2015, pages 111-120.
  17. Munch, B. P. (1993). Versioning in a Software Engineering Database - The Change Oriented Way . PhD thesis, Tekniske Høgskole Trondheim Norges.
  18. OMG (2011a). OMG MOF 2 XMI Mapping Specification, Version 2.4.1. Object Management Group.
  19. OMG (2011b). OMG Unified Modeling Language (OMG UML), Superstructure, Version 2.4.1.
  20. Pohl, K., Böckle, G., and van der Linden, F. (2005). Software Product Line Engineering: Foundations, Principles and Techniques. Springer, Berlin, Germany.
  21. 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.
  22. 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.
  23. 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, pages 5-18, Angers, France. SCITEPRESS.
  24. Schwägerl, F., Buchmann, T., Uhrig, S., and Westfechtel, B. (2016a). Realizing a conceptual framework to integrate model-driven engineering, software product line engineering, and software configuration management. In Desfray, P., Filipe, J., Hammoudi, S., and Ferreira Pires, L., editors, Model-Driven Engineering and Software Development, volume 580 of Communications in Computer and Information Science (CCIS), chapter 2, pages 21-44. Springer.
  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 Proceedings of the 10th International Conference on Software Paradigm Trends, pages 5-18, Colmar, Alsace, France. SCITEPRESS.
  26. Schwägerl, F., Buchmann, T., and Westfechtel, B. (2016b). Filtered model-driven product line engineering with SuperMod: The home automation case. In Lorenz, P., Cardoso, J., Maciaszek, L. A., and van Sinderen, M., editors, Software Technologies, volume 586 of Communications in Computer and Information Science (CCIS), chapter 2, pages 19 - 41. Springer.
  27. Schwägerl, F. and Westfechtel, B. (2016). Collaborative and distributed management of versioned software product lines. In Proceedings of the 11th International Conference on Software Paradigm Trends, pages 83- 94, Lisbon, Portugal. SCITEPRESS.
  28. Seidl, C., Schaefer, I., and Aßmann, U. (2014). Integrated management of variability in space and time in software families. In Proceedings of the 18th International Software Product Line Conference - Volume 1, SPLC 7814, pages 22-31, 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.
  30. Sta?nciulescu, S¸ ., Berger, T., Walkingshaw, E., and Wa¸sowski, A. (2016). Concepts, operations and feasibility of a projection-based variation control systems. In Proceedings of the 32nd International Conference on Software Maintenance and Evolution, ICSME'16.
  31. Thüm, T., Apel, S., Kästner, C., Schaefer, I., and Saake, G. (2014). A classification and survey of analysis strategies for software product lines. ACM Computing Surveys, 47(1):6:1-6:45.
  32. Völter, M., Stahl, T., Bettin, J., Haase, A., and Helsen, S. (2006). Model-Driven Software Development: Technology, Engineering, Management. John Wiley & Sons.
  33. 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.
  34. 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.
  35. Zeller, A. and Snelting, G. (1997). Unified versioning through feature logic. ACM Transactions on Software Engineering and Methodology, 6(4):398-441.
  36. Zschaler, S., Sánchez, P., Santos, J., Alférez, M., Rashid, A., Fuentes, L., Moreira, A., Araújo, J., and Kulesza, U. (2010). VML* - a family of languages for variability management in software product lines. In van den Brand, M., Gas?evic, D., and Gray, J., editors, Software Language Engineering, volume 5969 of Lecture Notes in Computer Science, pages 82-102. Springer Berlin / Heidelberg, Denver, CO, USA.
Download


Paper Citation


in Harvard Style

Schwägerl F. and Westfechtel B. (2017). Maintaining Workspace Consistency in Filtered Editing of Dynamically Evolving Model-driven Software Product Lines . In Proceedings of the 5th International Conference on Model-Driven Engineering and Software Development - Volume 1: MODELSWARD, ISBN 978-989-758-210-3, pages 15-28. DOI: 10.5220/0006071800150028


in Bibtex Style

@conference{modelsward17,
author={Felix Schwägerl and Bernhard Westfechtel},
title={Maintaining Workspace Consistency in Filtered Editing of Dynamically Evolving Model-driven Software Product Lines},
booktitle={Proceedings of the 5th International Conference on Model-Driven Engineering and Software Development - Volume 1: MODELSWARD,},
year={2017},
pages={15-28},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0006071800150028},
isbn={978-989-758-210-3},
}


in EndNote Style

TY - CONF
JO - Proceedings of the 5th International Conference on Model-Driven Engineering and Software Development - Volume 1: MODELSWARD,
TI - Maintaining Workspace Consistency in Filtered Editing of Dynamically Evolving Model-driven Software Product Lines
SN - 978-989-758-210-3
AU - Schwägerl F.
AU - Westfechtel B.
PY - 2017
SP - 15
EP - 28
DO - 10.5220/0006071800150028