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.
|Title of host publication||Handbook of Re-Engineering Software Intensive Systems into Software Product Lines|
|Publisher||Springer International Publishing AG|
|Number of pages||18|
|Publication status||Published - 22 Nov 2022|