The digital transformation poses major challenges for modern software systems. Smart cities and Industry 4.0 require high scalability, among other things. At the same time, IT companies must be increasingly flexible and continuously adapt products. Microservice Architecture (MSA) is a new approach to realizing scalable and maintainable software systems. MSA structures software architectures into so-called microservices, each of which implements a dedicated function, can run as independently as possible and is responsible for its own interactions with other components. Despite its many advantages, the use of MSA significantly increases the complexity of architecture design, implementation and operation.
The doctorate investigated the potential of model-driven engineering (MDE) to deal with this complexity through (I) model construction to describe microservice architectures from stakeholder-specific viewpoints; (II) model composition to improve architecture understanding; and (III) model processing for architecture development and analysis. The main result of the doctorate is the Language Ecosystem for Modeling Microservice Architecture (LEMMA). LEMMA considers four MSA viewpoints with stakeholder-specific modeling languages (Fig. 1). LEMMA's Domain View-point addresses domain experts, microservice developers and software architects; its Domain Data Modeling Language (DDML) enables the capture of relevant domain concepts. The Technology Viewpoint with the Technology Modeling Language (TML) focuses on the documentation of technology decisions. The languages of the Service Viewpoint support the specification of microservice interfaces both conceptually (Service Modeling Language; SML) and technologically (Service Technology Mapping Modeling Language). The Operation Viewpoint and its Operation Modeling Language address the operation of microservice architectures. Figure 2 shows three LEMMA models of the PuLS project (see p. 52). The domain model in LEMMA's DDML defines domain concepts to represent parking lots. The technology model in LEMMA's TML captures the existence of HTTP and defines aspects for HTTP-based microservice operations. Aspects enable the semantic refinement of LEMMA models beyond built-in modeling concepts. The service model in LEMMA's SML specifies a microservice with an interface and an operation to create parking lots. LEMMA integrates an import mechanism for model composition so that the service model can reference an imported domain concept to typify the operation parameter. The service model also imports the technology model to configure service endpoints and the HTTP-based invocation of the operation. LEMMA models can be processed, for example to generate microservice code or for quality analysis. Optimized intermediate representations and corresponding transformations for LEMMA models have been implemented to increase processing efficiency. Figure 3 illustrates the processing of service models. The doctorate showed that code generation from LEMMA models has a positive influence on the development efficiency of Java microservices. It was also found that LEMMA models allow the calculation of 20 quality metrics for service maintainability at design time. LEMMA therefore offers an excellent basis for the efficient realization of complex microservice architectures using MDE.
In 2015, Florian Rademacher completed his studies in computer science at Fachhochschule Dortmund with a Master of Science. From 2016 to 2022, he completed his doctorate (Dr. rer. nat.) at the University of Kassel. From January 2014 to February 2023, Dr. Rademacher was a research assistant at IDiAL. Since March 2023, he has been a postdoc at the Chair of Software Engineering at RWTH Aachen University. Dr. Rademacher is the author of 35 peer-reviewed scientific publications. He was or is also chair of four and member of 14 program committees of international conferences and workshops. Since 2018, Dr. Rademacher has also served as a reviewer for renowned journals such as ACM Computing Surveys, IEEE Transactions on Software Engineering and Journal of Systems and Software.
Appraiser
- Prof. Dr. Albert Zündorf, (University of Kassel)
- Prof. Dr. Sabine Sachweh, (IDiAL, Fachhochschule Dortmund)
- Prof. Dr. Bernhard Rumpe, (Rheinisch-Westfälische Technische Hochschule (RWTH) Aachen)