Abstract
This chapter introduces SuperMod, an approach and tool to support the evolution of software product lines (SPLs) by means of a filtered editing model, which is inspired by the checkout-modify-commit workflow established in version control systems. Rather than forcing the developers into editing multi-variant artifacts of an SPL, SuperMod allows them to perform modifications successively in single-variant workspaces and to integrate the changes by indicating the logical scope, i.e., the affected variants, of the change performed. The SPL itself is managed automatically in a transparent repository by the system. As a consequence, developers may re-use the same engineering tools they also used for the development of the product variants prior to the re-engineering process. SuperMod furthermore orchestrates collaborative development and provides dedicated support for (without restricting developers to) model-driven approaches to SPL engineering. We illustrate SuperMod’s capabilities by the well-known graph SPL example and discuss the practical benefits of the suggested solution to SPL evolution as well as its relation to SPL re-engineering.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Altmanninger, K., Seidl, M., Wimmer, M.: A survey on model versioning approaches. IJWIS 5(3), 271–304 (2009)
Apel, S., Kästner, C., Lengauer, C.: Language-independent and automated software composition: The FeatureHouse experience. IEEE Trans. Software Eng. 39(1), 63–79 (2013)
Beck, K., Beedle, M., van Bennekum, A., Cockburn, A., Cunningham, W., Fowler, M., Grenning, J., Highsmith, J., Hunt, A., Jeffries, R., Kern, J., Marick, B., Martin, R.C., Mellor, S., Schwaber, K., Sutherland, J., Thomas, D.: Manifesto for agile software development (2001). URL http://www.agilemanifesto.org/
Buchmann, T., Schwägerl, F.: Ensuring well-formedness of configured domain models in model-driven product lines based on negative variability. In: I. Schaefer, T. Thüm (eds.) 4th International Workshop on Feature-Oriented Software Development, FOSD ’12, Dresden, Germany - September 24 - 25, 2012, pp. 37–44. ACM (2012)
Chacon, S., Straub, B.: Pro Git, 2nd edn. Apress, Berkely, CA, USA (2014)
Czarnecki, K., Antkiewicz, M., Kim, C.H.P., Lau, S., Pietroszek, K.: Model-driven software product lines. In: R.E. Johnson, R.P. Gabriel (eds.) Companion to the 20th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA 2005, October 16-20, 2005, San Diego, CA, USA, pp. 126–127. ACM (2005)
Kang, K.C., Cohen, S.G., Hess, J.A., Novak, W.E., Peterson, A.S.: Feature-oriented domain analysis (FODA) feasibility study. Tech. Rep. CMU/SEI-90-TR-21, Software Engineering Institute, Carnegie Mellon University (1990)
Krueger, C.W.: Easing the transition to software mass customization. In: F. van der Linden (ed.) Software Product-Family Engineering, 4th International Workshop, PFE 2001, Bilbao, Spain, October 3–5, 2001, Revised Papers, Lecture Notes in Computer Science, vol. 2290, pp. 282–293. Springer (2001)
Lopez-Herrejon, R.E., Batory, D.S.: A standard problem for evaluating product-line methodologies. In: J. Bosch (ed.) Generative and Component-Based Software Engineering, Third International Conference, GCSE 2001, Erfurt, Germany, September 9–13, 2001, Proceedings, Lecture Notes in Computer Science, vol. 2186, pp. 10–24. Springer (2001)
Montalvillo, L., Díaz, O.: Tuning github for SPL development: branching models & repository operations for product engineers. In: D.C. Schmidt (ed.) Proceedings of the 19th International Conference on Software Product Line, SPLC 2015, Nashville, TN, USA, July 20–24, 2015, pp. 111–120. ACM (2015)
Pfofe, T., Thüm, T., Schulze, S., Fenske, W., Schaefer, I.: Synchronizing software variants with variantsync. In: H. Mei (ed.) Proceedings of the 20th International Systems and Software Product Line Conference, SPLC 2016, Beijing, China, September 16–23, 2016, pp. 329–332. ACM (2016)
Pohl, K., Böckle, G., van der Linden, F.: Software Product Line Engineering - Foundations, Principles, and Techniques. Springer (2005)
Sarnak, N., Bernstein, R.L., Kruskal, V.: Creation and maintenance of multiple versions. In: J.F.H. Winkler (ed.) Proceedings of the International Workshop on Software Version and Configuration Control, January 27–29, 1988, Grassau, Germany, Berichte des German Chapter of the ACM, vol. 30, pp. 264–275. Teubner (1988)
Schaefer, I., Bettini, L., Bono, V., Damiani, F., Tanzarella, N.: Delta-oriented programming of software product lines. In: J. Bosch, J. Lee (eds.) Software Product Lines: Going Beyond - 14th International Conference, SPLC 2010, Jeju Island, South Korea, September 13–17, 2010. Proceedings, Lecture Notes in Computer Science, vol. 6287, pp. 77–91. Springer (2010)
Schwägerl, F.: Version control and product lines in model-driven software engineering. Ph.D. thesis, University of Bayreuth, Germany (2018). URL urn:nbn:de:bvb:703-epub-3554-3
Schwägerl, F., Westfechtel, B.: Integrated revision and variation control for evolving model-driven software product lines. Software & Systems Modeling 18(6), 3373–3420 (2019)
da Silva, I.F., da Mota Silveira Neto, P.A., O’Leary, P., de Almeida, E.S., de Lemos Meira, S.R.: Agile software product lines: a systematic mapping study. Softw., Pract. Exper. 41(8), 899–920 (2011)
Stahl, T., Völter, M., Bettin, J., Haase, A., Helsen, S.: Model-driven software development - technology, engineering, management. Pitman (2006)
Stanciulescu, S., Berger, T., Walkingshaw, E., Wasowski, A.: Concepts, operations, and feasibility of a projection-based variation control system. In: 2016 IEEE International Conference on Software Maintenance and Evolution, ICSME 2016, Raleigh, NC, USA, October 2–7, 2016, pp. 323–333. IEEE Computer Society (2016)
Steinberg, D., Budinsky, F., Paternostro, M., Merks, E.: EMF: Eclipse Modeling Framework 2.0, 2nd edn. Addison-Wesley Professional (2009)
Westfechtel, B.: Merging of EMF models - formal foundations. Software and Systems Modeling 13(2), 757–788 (2014)
Westfechtel, B., Munch, B.P., Conradi, R.: A layered architecture for uniform version management. IEEE Trans. Software 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
© 2023 Springer Nature Switzerland AG
About this chapter
Cite this chapter
Schwägerl, F., Westfechtel, B. (2023). Managing Software Product Line Evolution by Filtered Editing: The SuperMod Approach. In: Lopez-Herrejon, R.E., Martinez, J., Guez Assunção, W.K., Ziadi, T., Acher, M., Vergilio, S. (eds) Handbook of Re-Engineering Software Intensive Systems into Software Product Lines. Springer, Cham. https://doi.org/10.1007/978-3-031-11686-5_17
Download citation
DOI: https://doi.org/10.1007/978-3-031-11686-5_17
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-11685-8
Online ISBN: 978-3-031-11686-5
eBook Packages: Computer ScienceComputer Science (R0)