Skip to main content

Re-Engineering Microservice Applications into Delta-Oriented Software Product Lines

  • Chapter
  • First Online:
Handbook of Re-Engineering Software Intensive Systems into Software Product Lines

Abstract

Software with microservice architecture consists of a collection of small and independent services. Those services can be combined and modified to serve various purposes, which leads to an increase in requirement variability. The variability needs to be documented to track any changes and optimize the reusability. The issues are related to variability management, which is one of the main concerns in software product line engineering (SPLE). We propose an approach to re-engineer microservice applications into SPLE. The process comprises variability modeling, architectural design, and product line implementation. To model the variability in microservices, we use a multi-level feature diagram. The feature diagram is combined with the UML class diagram from existing systems to design a product line architecture. We utilize the UML-DOP profile that provides an extension to represent delta-oriented concepts in the UML notation. UML diagrams with UML-DOP profile are used to capture several levels of abstractions in the architectural models. These models enable traceability from requirements to endpoints implementation. The proposed approach is shown by performing a re-engineering for existing microservice-based webshop systems. The result is a microservices-based product line that can be generated into various applications.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 149.00
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 199.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 279.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    https://github.com/jacobkrueger/SPLC2020-Microservices-Challenge.

  2. 2.

    https://github.com/microservices-demo.

  3. 3.

    https://developers.google.com/protocol-buffers/.

  4. 4.

    The current version of ABS does not support multi-feature models yet. Therefore, constraints for each feature model are defined separately.

  5. 5.

    For focusing on the microservice variability, the front end interface is not yet provided.The services can be consumed using tools such as Postman.

  6. 6.

    A running application using ABS microservices, called AISCO (https://aisco.splelive.id/), can automatically generate charity organization web applications.

  7. 7.

    https://github.com/Netflix/zuul/wiki.

  8. 8.

    https://github.com/Netflix/eureka/wiki.

  9. 9.

    https://graphql.org/.

References

  1. Apel, S., Batory, D.S., Kästner, C., Saake, G.: Feature-Oriented Software Product Lines - Concepts and Implementation. Springer (2013)

    Google Scholar 

  2. Assunção, W.K.G., Krüger, J., Mendonça, W.D.F.: Variability management meets microservices: six challenges of re-engineering microservice-based webshops. In: R.E. Lopez-Herrejon (ed.) SPLC ’20: 24th ACM International Systems and Software Product Line Conference, Montreal, Quebec, Canada, October 19–23, 2020, Volume A, pp. 22:1–22:6. ACM (2020)

    Google Scholar 

  3. Assunção, W.K.G., Vergilio, S.R., Lopez-Herrejon, R.E.: Automatic extraction of product line architecture and feature models from UML class diagram variants. Inf. Softw. Technol. 117 (2020)

    Google Scholar 

  4. Classen, A., Boucher, Q., Heymans, P.: A text-based approach to feature modelling: Syntax and semantics of TVL. Sci. Comput. Program. 76(12), 1130–1143 (2011)

    Article  Google Scholar 

  5. Clements, P., Northrop, L.M.: Software product lines - practices and patterns. SEI series in software engineering. Addison-Wesley (2002)

    Google Scholar 

  6. Czarnecki, K., Helsen, S., Eisenecker, U.W.: Staged configuration through specialization and multilevel configuration of feature models. Softw. Process. Improv. Pract. 10(2), 143–169 (2005)

    Article  Google Scholar 

  7. Damiani, F., Hähnle, R., Kamburjan, E., Lienhardt, M.: Same same but different: Interoperability of software product line variants. In: P. Müller, I. Schaefer (eds.) Principled Software Development - Essays Dedicated to Arnd Poetzsch-Heffter on the Occasion of his 60th Birthday, pp. 99–117. Springer (2018)

    Google Scholar 

  8. Groher, I., Völter, M.: Aspect-oriented model-driven software product line engineering. LNCS Trans. Aspect Oriented Softw. Dev. 6, 111–152 (2009)

    Article  Google Scholar 

  9. Hähnle, R.: The abstract behavioral specification language: A tutorial introduction. In: E. Giachino, R. Hähnle, F.S. de Boer, M.M. Bonsangue (eds.) Formal Methods for Components and Objects - 11th International Symposium, FMCO 2012, Bertinoro, Italy, September 24–28, 2012, Revised Lectures, Lecture Notes in Computer Science, vol. 7866, pp. 1–37. Springer (2012)

    Google Scholar 

  10. Holl, G., Grünbacher, P., Rabiser, R.: A systematic review and an expert survey on capabilities supporting multi product lines. Inf. Softw. Technol. 54(8), 828–852 (2012)

    Article  Google Scholar 

  11. Johnsen, E.B., Hähnle, R., Schäfer, J., Schlatte, R., Steffen, M.: ABS: A core language for abstract behavioral specification. In: B.K. Aichernig, F.S. de Boer, M.M. Bonsangue (eds.) Formal Methods for Components and Objects - 9th International Symposium, FMCO 2010, Graz, Austria, November 29 - December 1, 2010. Revised Papers, Lecture Notes in Computer Science, vol. 6957, pp. 142–164. Springer (2010)

    Google Scholar 

  12. Krüger, J., Berger, T.: Activities and costs of re-engineering cloned variants into an integrated platform. In: M. Cordy, M. Acher, D. Beuche, G. Saake (eds.) VaMoS ’20: 14th International Working Conference on Variability Modelling of Software-Intensive Systems, Magdeburg Germany, February 5–7, 2020, pp. 21:1–21:10. ACM (2020)

    Google Scholar 

  13. Mendonça, W.D.F., Assunção, W.K.G., Estanislau, L.V., Vergilio, S.R., Garcia, A.: Towards a microservices-based product line with multi-objective evolutionary algorithms. In: IEEE Congress on Evolutionary Computation, CEC 2020, Glasgow, United Kingdom, July 19–24, 2020, pp. 1–8. IEEE (2020)

    Google Scholar 

  14. Naily, M.A., Setyautami, M.R.A., Muschevici, R., Azurat, A.: A framework for modelling variable microservices as software product lines. In: A. Cerone, M. Roveri (eds.) Software Engineering and Formal Methods - SEFM 2017 Collocated Workshops: DataMod, FAACS, MSE, CoSim-CPS, and FOCLASA, Trento, Italy, September 4–5, 2017, Revised Selected Papers, Lecture Notes in Computer Science, vol. 10729, pp. 246–261. Springer (2017)

    Google Scholar 

  15. Nesic, D., Krüger, J., Stanciulescu, S., Berger, T.: Principles of feature modeling. In: M. Dumas, D. Pfahl, S. Apel, A. Russo (eds.) Proceedings of the ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering, ESEC/SIGSOFT FSE 2019, Tallinn, Estonia, August 26–30, 2019, pp. 62–73. ACM (2019)

    Google Scholar 

  16. Newman, S.: Building microservices - designing fine-grained systems, 1st Edition. O’Reilly (2015). URL https://www.worldcat.org/oclc/904463848

  17. Pohl, K., Böckle, G., van der Linden, F.: Software Product Line Engineering - Foundations, Principles, and Techniques. Springer (2005)

    Google Scholar 

  18. Rabiser, D., Prähofer, H., Grünbacher, P., Petruzelka, M., Eder, K., Angerer, F., Kromoser, M., Grimmer, A.: Multi-purpose, multi-level feature modeling of large-scale industrial software systems. Softw. Syst. Model. 17(3), 913–938 (2018)

    Article  Google Scholar 

  19. Reiser, M., Weber, M.: Managing highly complex product families with multi-level feature trees. In: 14th IEEE International Conference on Requirements Engineering (RE 2006), 11–15 September 2006, Minneapolis/St.Paul, Minnesota, USA, pp. 146–155. IEEE Computer Society (2006)

    Google Scholar 

  20. 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)

    Google Scholar 

  21. Setyautami, M.R.A., Adianto, D., Azurat, A.: Modeling multi software product lines using UML. In: T. Berger, P. Borba, G. Botterweck, T. Männistö, D. Benavides, S. Nadi, T. Kehrer, R. Rabiser, C. Elsner, M. Mukelabai (eds.) Proceeedings of the 22nd International Systems and Software Product Line Conference - Volume 1, SPLC 2018, Gothenburg, Sweden, September 10–14, 2018, pp. 274–278. ACM (2018)

    Google Scholar 

  22. Setyautami, M.R.A., Fadhlillah, H.S., Adianto, D., Affan, I., Azurat, A.: Solution artifacts on re-engineering microservices-based webshops challenge (2020)

    Google Scholar 

  23. Setyautami, M.R.A., Hähnle, R., Muschevici, R., Azurat, A.: A UML profile for delta-oriented programming to support software product line engineering. In: H. Mei (ed.) Proceedings of the 20th International Systems and Software Product Line Conference, SPLC 2016, Beijing, China, September 16–23, 2016, pp. 45–49. ACM (2016)

    Google Scholar 

  24. Setyautami, M.R.A., Rubiantoro, R.R., Azurat, A.: Model-driven engineering for delta-oriented software product lines. In: 26th Asia-Pacific Software Engineering Conference, APSEC 2019, Putrajaya, Malaysia, December 2–5, 2019, pp. 371–377. IEEE (2019)

    Google Scholar 

  25. Thüm, T., Kästner, C., Benduhn, F., Meinicke, J., Saake, G., Leich, T.: FeatureIDE: An extensible framework for feature-oriented software development. Sci. Comput. Program. 79, 70–85 (2014)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Maya R. A. Setyautami .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2023 Springer Nature Switzerland AG

About this chapter

Check for updates. Verify currency and authenticity via CrossMark

Cite this chapter

Setyautami, M.R.A., Fadhlillah, H.S., Adianto, D., Affan, I., Azurat, A. (2023). Re-Engineering Microservice Applications into Delta-Oriented Software Product Lines. 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_11

Download citation

  • DOI: https://doi.org/10.1007/978-3-031-11686-5_11

  • 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)

Publish with us

Policies and ethics