Model Transformation Approach to Automated Model Driven Development - Viet Cuong Nguyen (My University, 2015)
One of the contemporary challenges of software evolution is to adapt a software system to the changing of requirements and demands from users and environments. An ultimate goal is to encapsulate these requirements into a high-level abstraction, giving the ability to achieve large-scale adaptation of the underlying software implementation. Model-Driven Engineering (MDE) is one of the enabling techniques that supports this objective. In MDE, the e ective creation of models and their transformation are core activities to enable the conversion of source models to target models in order to change model structures or translate models to other software artifacts. The main goal is to provide automation and enable the automated development of a system from its corresponding models. There are several approaches on this matter from high level. However, there is still absence of clear methodology and results on how to apply MDE for a speci c domain with speci c requirements such as the web domain. This research brings contribution toward the solution to automated model development by providing an overview of existing approaches and introducing a novel approach in the emerging eld of web applications and services. To cope with current trend in the growing of complexity of web services as programmatic backbones of modern distributed and cloud architecture, we present an approach using domain speci c language for modeling of web services as the solution to the challenge in scalability of web service modeling and development. We analyze the current state of the problem domain and implement a domain speci c language called Simple Web Service Modeling to support automated model-driven development of such web services. This approach is the solution to the problem in web service development of software-as-service systems that require the support for tenant-speci c architecture. In the domain of web application quality assurance, we build a modeling language for model driven testing of web application that focuses on automation and regression testing. Our techniques are based on building abstractions of web pages and modeling state-machinebased test behavior using Web Testing Modeling Language - a domain speci c language that we developed for web page modeling. This methodology and techniques aim at helping software developers as well as testers to become more productive and reduce the time-tomarket, while maintaining high standards of web application. The proposing techniques is the answer to the lack of concrete methods and toolset in applying model driven development to speci c areas such as web application testing and services. The results of this work can be applied to practical purposes with the methodological support to integrate into existing software development practices.