MohammadReza Sabeghi

Thesis Title: Improvement of scalability in model-driven engineering using microservice architecture                  


Model-Driven Engineering (MDE) methodologies play an important role in developing software systems. The main focus in MDE methodologies is on constructing and refining the models of the system based on meta-models of specific domains. MDE methodologies' proliferation in the software industry has been mainly due to their capabilities in automatic generation of code and other artifacts throughout the development process. This removes the need for constructing extra structures and repetitively performing certain practices during the development process. MDE methodologies also enable software solutions to be implemented based on various platforms and technologies. Moreover, they offer improvements as to complexity management, reusability, maintainability, adaptability and interoperability.
In spite of the advantages, there are certain challenges to proper exploitation of MDE. Scalability is a major challenge that comprises several dimensions: constructing large models in a systematic manner, enabling large teams of modelers to construct and refine large models in a collaborative manner, advancing the state of the art in model querying and transformation tools so that they can cope with large models, and providing an infrastructure for efficient storage, indexing and retrieval of large models.
The Microservice Architecture (MSA) has become increasingly popular among software developers. Since a microservice is an independently deployable unit, a software system can be built as a collection of these single-purpose technology-independent elements. MSA's capabilities and prominent patterns can be utilized to address the challenges in developing and evolving large models and hence, improve scalability in MDE methodologies.
The goal of this project is to utilize the capabilities and patterns of MSA to improve scalability in MDE. To this aim, MDE and MSA will first be investigated in order to obtain a more accurate understanding of the scalability challenges in MDE, and MSA's potential capabilities in resolving them. Based on the findings of this stage, an MSA-based MDE methodology will then be developed that provides improved support for scalability as compared to existing methodologies. The proposed methodology will be evaluated by applying specific methodology-evaluation criteria, and also through conducting a case study.

(Progress Chart)

Contact Information

   Email: msabeghi[at]ce[dot]sharif[dot]edu