Responsive Image

Mehdi Eidi

Thesis Title: 

Model-Driven Methodology for Developing Serverless Software Systems

Thesis Abstract:

In recent years, serverless computing has emerged as one of the effective approaches to building cloud-based software systems. In this paradigm, infrastructure management tasks are delegated to cloud service providers, allowing software developers to focus more on business logic. This characteristic can reduce operational complexity, accelerate time-to-market, and lower costs. Due to these and other advantages, the adoption of serverless architectures has grown significantly in recent years, and their applications are continually expanding.
As the complexity of serverless systems increases and their use in industrial-scale contexts expands, the need for a systematic and structured approach to developing such systems becomes more evident. Software development methodologies play a key role in providing structure, organizing activities, defining tasks, and ensuring product quality. Over the past few decades, methodologies have been designed and applied for various paradigms such as object-oriented, service-oriented, and microservices-based architectures. Furthermore, the model-driven development approach can facilitate the creation of complex software systems. By leveraging modeling languages such as UML and BPMN, defining abstraction levels, and enabling automated model transformations, it can offer an effective method for developing serverless software systems.
A review of the literature and prior research reveals that although some methods have been proposed for building serverless systems (e.g., RADON), they face several limitations. These include incomplete coverage of the lifecycle and required deliverables, weak analysis models, strong coupling on specific tools and technologies, lack of proper abstraction levels and layering in models, and insufficient support for umbrella activities. These limitations, along with the unique challenges and requirements of serverless architectures, highlight the necessity of designing a more advanced approach.
Accordingly, the aim of this thesis is to design a comprehensive model-driven approach for developing serverless software systems. This approach will leverage the strengths of existing methods while overcoming their limitations, guiding the development process from requirements analysis to deployment in a structured and systematic manner. In this context, the potential of artificial intelligence will also be utilized, for example, in model transformation. To achieve this goal, a systematic review of the literature on service-oriented, microservices, cloud computing, and serverless architectures will first be conducted to identify and evaluate existing methodologies. Subsequently, drawing on effective elements of these methods and considering the specific characteristics of serverless architecture, modeling levels and transformation rules will be defined. Finally, the proposed model-driven methodology will be evaluated through a criteria-based approach as well as a case study in an industrial environment.
Keywords: Methodology Engineering, Serverless Computing, Model-Driven Development, Cloud Computing, Model Transformation, Automatic Code Generation, Cloud-Native Development