The OMG model-driven architecture (MDA) [1] is a model-based approach for the development of software systems that aims at separating the platform-independent design of a software application from its implementation on a given platform. The main feature and benefits of MDA from the cloud perspective are the enablement of portability, interoperability, and reusability of (parts of) the system, as well as its easy maintenance, through human-readable and reusable specifications at various levels of abstraction. In the context of cloud computing, model-driven development allows developers to design software systems in a cloud-agnostic way, and to be supported by model transformation techniques into the process of instantiating the system into specific and multiple clouds. This approach, which is commonly summarized as "model once, generate anywhere", is particularly relevant when it comes to designing and managing applications across multiple clouds, as well as migrating them from one cloud to another. Combining model-driven application engineering and the cloud computing domain is currently the focus of several research groups and projects, among others, MODAClouds
MDA in MODACloudsMODAClouds-MOdel-Driven Approach for design and execution of applications on multiple Clouds [6] is an EC-funded research project that proposes a model-driven approach aimed at supporting system developers and operators in utilizing multiple clouds and in migrating parts of their systems from cloud to cloud as needed. The MODACloudML platform relies on a domain-specific language for the design and execution of applications on multiple clouds. The model-driven engineering approach adopted by the MODACloudML platform allows developers