The ongoing digital transformation of our economy and society poses significant challenges towards modern software systems. Application areas like Smart Cities and Industry 4.0 set high requirements on software quality attributes like scalability and reliability. At the same time, IT companies face an ever-growing demand in flexibility and continuous improvements of delivery cycles. Microservice Architecture (MSA) is a novel approach to the realization of software architectures that aims to foster their scalability, maintainability, and robustness. To this end, it proposes architecture decomposition into microservices, which are software components that (i) provide distinct capabilities; (ii) are as independent as possible from other components; and (iii) are solely responsible for their interactions with other components. Despite its anticipated benefits, MSA introduces significant complexity to the design, development, and operation of software architectures, and even impacts the underlying development organization. This dissertation explores the potential of Model-driven Engineering (MDE) to tame this complexity for stakeholders in MSA engineering. More precisely, we investigate the abstraction facilities of MDE for (i) the construction of models to describe microservice architectures from stakeholder-oriented viewpoints; (ii) the combination of models to support architecture comprehension; and (iii) the processing of models in the development and analysis of microservice architectures. The major contributions of the dissertation are fivefold and together they form the proposed MDE-based Language Ecosystem for Modeling Microservice Architecture (LEMMA):
- We specify architecture viewpoints and model kinds including well-formedness constraints to reify stakeholders' concerns in MSA engineering.
- We formalize the model kinds towards metamodels for the five modeling languages of LEMMA, balancing conceptual rigor in the modeling of service-based software architectures with the needs of practitioners in MSA engineering. Furthermore, we provide each metamodel with a textual concrete syntax and context conditions.
- We define intermediate representations for an optimized processing of LEMMA models and specify an algorithm for intermediate model transformation. In addition, we design and implement a model processing framework to facilitate the development of operations on LEMMA models by stakeholders in MSA engineering.
- We show LEMMA's applicability in greenfield MSA engineering and the resulting increase in microservice development efficiency.
- We show LEMMA's applicability in brownfield MSA engineering for the reconstruction of microservice architectures and the automated assessment of their quality by means of static model analysis.
@phdthesis{doi:10.17170/kobra-202209306919, author ={Rademacher, Florian}, title ={A Language Ecosystem for Modeling Microservice Architecture}, keywords ={004 and Softwarearchitektur and Serviceorientierte Architektur and Mikroservice and Software Engineering and Codegenerierung and Cloud Computing and Qualität}, copyright ={https://rightsstatements.org/page/InC/1.0/}, language ={en}, school={Kassel, Universität Kassel, Fachbereich Elektrotechnik / Informatik}, year ={2022} }