Project deliverables

D2.1.2 v2-CloudML Implementation Documentation

Deliverable D2.1.2

Cloud computing provides a ubiquitous networked access to a shared and virtualised pool of computing capabilities that can be provisioned with minimal management effort. Cloud-based applications are applications that are deployed on cloud infrastructures and platforms, and delivered as services. PaaSage aims to facilitate the specification and execution of cloud-based applications by leveraging upon model-driven engineering (MDE) techniques and methods, and by exploiting multiple cloud infrastructures and platforms...


MDE is a branch of software engineering that aims at improving the productivity, quality, and cost-effectiveness of software development by shifting the paradigm from code-centric to model-centric. Models enable the abstraction from the implementation details of heterogeneous cloud services, while model transformations facilitate the automatic generation of the source code that exploits these services. This approach, which is commonly summarised as “model once, generate anywhere”, is particularly relevant when it comes to the specification and execution of multi-cloud applications (i.e., applications deployed across multiple cloud infrastructures and platforms), which allow exploiting the peculiarities of each cloud service and hence optimising performance, availability, and cost of the applications. Models are frequently specified using domain-specific languages (DSLs), which are tailored to a specific domain of concern. In order to cover the necessary aspects of the specification and execution of multi-cloud applications, PaaSage encompasses a family of DSLs called Cloud Application Modelling and Execution Language (CAMEL). These DSLs, namely Cloud Modelling Language (CLOUDML), Saloon, WS-Agreement, and Scalability Rules Language (SRL), provide support for modelling multiple concerns of multi-cloud applications, such as provisioning, deployment, requirements, goals, SLAs, and execution. In this deliverable, we provide the initial version of the technical documentation of the DSLs adopted in PaaSage. In particular, we describe the modelling concepts, their attributes and their relationships, as well as the rules for combining these concepts to specify valid models. Moreover, we exemplify how to specify models through a tree-based editor as well as how to programmatically manipulate and persist them through Java APIs. Please note that these DSLs are under development and will evolve throughout the course of the PaaSage project. Hence, the capabilities offered by these DSLs and presented in this deliverable reflect our understanding of the requirements of PaaSage at month 18. The final version of the technical documentation of the DSLs adopted in PaaSage will be provided in D2.1.3 [23] at month 36.

logo PaaSage