Microservice architecture is considered a dominant architectural style in current software systems. It views a software system as a collection of small and independent services called microservices. In the highly dynamic enterprise domain, new features have to be introduced regularly and the microservice architectural style achieves quick time-to-market. However, software engineers (e.g., developers or architects) often face the challenge of not having a holistic software architectural view of the system they are working with. This is specifically emphasized in the nature of the microservice architecture, as microservices are small, distributed and the dependencies and interactions between them are high. In our previous work, we demonstrated the requirements for building a Model Driven Architecture (MDA) approach called Microservice Architecture Recovery (MiSAR). This paper starts by reporting on an empirical study conducted on nine microservice systems with the aim of defining the MDA artefacts to semi-automatically recover architectural models of microservice systems. The study resulted in defining a set of: 1) requirements to be present in a metamodel for recovering microservice architecture, which we have implemented incrementally to obtain a MiSAR metamodel and 2) mapping rules to transform the Platform Specific Model to a Platform Independent one. Then, the Model-Driven artefacts (metamodels and transformations) are implemented to support the semi-automatic recovery of microservice architecture. Finally, we evaluated MiSAR in 3 case studies by semi-automatically recovering the architectural models of 3 systems and compared the recovered architectural models with their actual implemented architectures and with their documented ones. We demonstrate that MiSAR artefacts can produce effective and expressive architectural models of implemented microservice systems.