The Cloud Application Modelling and Execution Language (CAMEL) is a multi-domain-specific language (DSL) allowing users to specify multiple aspects/domains related to multi-/cross-cloud applications, such as the domains of deployment, requirement, metric, scalability, security, organisation and execution. It was initially constructed in the context of the PaaSage European project. Since then it has evolved to a full-fledge cloud (application) modelling language thanks to its adoption in other European projects, including CloudSocket and Melodic. Such an evolution has been mainly supported by a vibrant community of DSL and cloud computing experts.
CAMEL supports the models@run-time paradigm, which provides an abstract representation of the underlying running system, whereby a modification to the model is enacted on-demand in the system, and a change in the system is automatically reflected in the model. By exploiting models at both design- and run-time, and by allowing both direct and programmatic manipulation of models, CAMEL enables self-adaptive cross-cloud applications, i.e., cross-cloud applications that automatically adapt to changes in the environment, requirements, and usage.
CAMEL is akin to the Topology and Orchestration Specification for Cloud Applications (TOSCA), which allows users to specify the components comprising the topology of cloud-based applications along with the processes for their orchestration. However, while TOSCA supports the specification of types and templates only, CAMEL supports the specification of types, templates, and instances. Therefore, in its current form, TOSCA can only be used at design-time, while CAMEL can be used at both design-time and run-time. The TOSCA Instance Model Ad Hoc group is investigating how TOSCA could be extended to support the models@run-time approach, taking also into account the experience made with CAMEL. As such, it has produced an Instance Model for TOSCA draft specification which has not yet evolved into a final, complete specification to be thus incorporated into the TOSCA standard.