Abstract-Rece ntly, several proposals towards a cloud model· ing language have erneq;;cd. As they ad dress the diversity of cloud envimnments, il is not surprising that these modeling languages support different S(. 'Cfllll·ios. Using a by-example approach based on the sce nario of softw:uc migration, we demonstrate their represe ntational Cllpabilitics :md review them according to d!aracteristics common lo all modeling languages as weiJ as specific to the cloud computing donmin. We repor t on our findings an d present research guidelines for future efforts towards a better alignment of the different cloud modeling languages.
I. I NTRODUCTIONCloud computing bas recently emerged as a new possibility how software can be made available to clients as a service. Hereby, software is hosted on a cloud environment [5] and consumable over the network by different clients. For software vendors, th. is is appealing because of low upfroot costs compared to a traditional on-premise solution as well as operational costs that scale with the provisioning and releasing of cloud resources, which are in turn offered as a service by cloud providers. Cloud service offerings range from low-level infrastructure elements, such as raw computing nodes, over higher level platforms, such as a Java execution environment on top of a cloud infrastructure, to ready-to-use software deployed on a cloud platform. Furthermore, software vendors are no longer forced to plan far ahead for resource provisioning [3] because the large-scale datacenters of today's cloud providers ensure that requested resources are available through their cloud environments. The risk of under-and over-provisioning of such resources is reduced by cloud environments due to their capabilities for elastic scalability on demand. Therefore, resources are not only provisioned as their demand increases but also released once their demand decreases (e.g. , number of user requests exceeds or falls below a defined threshold).Since cloud environments offer novel optimization opportunities (e.g., advanced scalable data persistence solutions), taking full advantage of the cloud requires that the software is prepared for such an environment However, in order to leverage the possibilities of a cloud environment, the software often needs to comply with certain restrictions that might hinder its functioning (e.g., statefuJ components in a highly scalable cloud environment). Several previous and ongoing European projects, notably REMICS [41] For each selected approach, we provide a brief description and then categorize it according to both modeling language characteristics and cloud computing characteristics. We do not claim that this set of cloud modeling language is complete and leave a systematic li terature review for future work. Rather, we foc us on the ex tensional perspective of the modeling languages by demonstrating the approaches in the setting of a cloud migration scenario. We have selected this scenario since it covers the wide spectrum of the software lifecycle. Finally, we c...