Modeling Language and Editor for Defining Target Specifications
Several approaches towards a cloud modeling language have been proposed. They address a diversity of cloud environments and, hence, it is not surprising that these modeling languages support different scenarios. In this document, the Cloud Application Modeling Language (CAML) is presented, which aims to unify current approaches for cloud modeling and exploit at the same time well established standards for software modeling.
We report on the UML-based Cloud Deployment Modeling Library (CDML), which is considered as a main foundation of CAML. This library allows representing cloud-based deployment models independent from particular cloud providers. To keep the cloud consumer concerns on such cloud providers separate from the modeling library, UML Profiles are utilized. These UML Profiles are essential to allow cloud consumers specifying concrete deployments for a selected cloud environment offered by a cloud provider. Thus, they complement the CDML. In fact, in the first version of CAML, UML Profiles that address functional cloud consumer concerns, such as instance types, storage solutions and service offerings, as well as non-functional ones, such pricing, performance and service levels, were developed. This set of UML Profiles is considered as part of CAML.
The main focus of this document is on the representational capabilities of CAML to express cloud-based deployments in terms of software models. Since UML is used as a host language for CAML, such deployment models can be seamlessly related with UML models typically used in software modeling. Still, in this document, models that are expected in the forward-engineering phase for code generation to reach the target cloud environments are investigated and expresses. Thus, a bottom-up approach for the development of CAML is applied. In the next steps, this approach needs to be complemented by a top-down approach starting from the requirements. The gap between the requirements and the final models representing a cloud-based solution needs to be bridged by model transformations developed in the context of WP9.