The architecture of software systems plays a significant role in the different stages of the software lifecycle, including, for example, evolution, maintenance and re-use. Software architecture represents the high-level design of a software system, consisting of software elements and the relationships that allow the architecture to properly function. During the last decade, changes in the software development industry have led in the direction of developing software in a new architectural style called microservice architecture. This thesis presents research in support of this. Software developed using microservice architecture is complex and distributed, and involves several technologies and components. Reverse engineering, and specifically architecture recovery, can aid in the understanding and maintenance of microservice systems. This thesis presents a Microservice Architecture Recovery (MiSAR) approach, based on the paradigm of Model-Driven Engineering (MDE), that recovers the architecture of microservice systems statically. MiSAR aims to comprehend the complexities of microservice architecture by developing a bottom-up reverse engineering process. The process of reverse engineering starts from the code to a Platform-Specific Model (PSM) that supports the technology of the implemented microservice system, leading to a Platform-Independent Model (PIM) at the architectural level. MiSAR follows an MDE approach and includes two key components: a metamodel, which abstracts the concepts of a particular microservice architecture in a technology independent manner, and mapping rules, which map an implemented microservice-based system into an architectural model which instantiates the metamodel. To design and develop MiSAR, two empirical studies were conducted which analyse existing software systems that employ the microservice architectural style. Based on the results of these studies, MiSAR can produce effective and expressive architectural models of implemented microservice systems, which are crucial for developers.
|Date of Award||May 2020|
|Supervisor||Nour Ali (Supervisor) & Roger Evans (Supervisor)|