# A Survey on Modeling Languages for Applications Hosted on Cloud-Edge Computing Environments
## 1 Introduction  
Cloud modeling languages (CMLs) are utilized to generate application models that articulate the software components and the application logic, with the aim of enabling their deployment and execution in a cloud and edge computing infrastructure. This concept is especially relevant when migrating applications to the cloud. Research indicates that modern CMLs can help with deploying applications, as well as setting up auto-scaling and self-healing features for applications transitioning to the cloud. The cloud-based concepts introduced and supported by CMLs may vary depending on their specific objectives and syntax. Typical CML examples such as OASIS TOSCA (Topology and Orchestration Specification for Cloud Applications) ([[https://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.3/os/TOSCA-Simple-Profile-YAML-v1.3-os.html](https://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.3/os/TOSCA-Simple-Profile-YAML-v1.3-os.html)]([https://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.3/os/TOSCA-Simple-Profile-YAML-v1.3-os.html](https://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.3/os/TOSCA-Simple-Profile-YAML-v1.3-os.html)), accessed on 10 October 2023) or CAMEL (Cloud Application Modelling and Execution Language) [1] provide effective templates for abstracting the application topology, component descriptions, and requirements. However, these CMLs have not yet been widely adopted by the market. Many production systems still heavily rely on commercial and tailor-made solutions, which may result in lock-in conditions and hinder portability. The rise of the cloud-edge continuum, enabling next-generation applications, has sparked renewed efforts to find a suitable way to describe applications. One crucialrequirement that has been introduced in this context is the minimization of the effort involved in transitioning from traditional platforms to these type of infrastructures. In such situations, a CML with appropriate abstractions and high-level syntax might make a seamless lift-and-shift migration possible. However, the question remains: what exactly are the 'appropriate abstractions' that will facilitate these novel requirements? As per [PERSON] et al. [2], the precise elements of an application that a language ought to delineate, and even the suitable language to employ for a particular issue, remain undefined. They suggest that CMLs could be viewed as domain-specific languages within the domain of cloud computing. A comprehensive definition of CMLs might entail their usage in describing a collection of standalone software components into which an application is broken down. These languages are used to define the requirements of the application components in terms of resources, with the goal of ensuring that the quality level of the end product, such as QoE (Quality of Experience), meets the expectations of end users. Furthermore, to the best of our knowledge, there is an important aspect that existing CMLs do not adequately address, i.e., the challenge of runtime adaptation in the context of auto-scaling and self-healing. Such a feature would allow applications the leverage of the full potential of cloud computing and modern continuous integration and deployment techniques. In the context of our review paper, runtime adaptation refers to the ability of the underlying infrastructure to dynamically adapt to changes in the application's lifecycle state. This adaptation is accomplished through the invocation of infrastructure-level operations, such as auto-scaling and self-healing actions, for instance, by scaling application components across various clusters and devices within the cloud-edge continuum. To enable this, we are searching for CMLs capable of aiding in the specification of lifecycle events and the corresponding infrastructure-level mitigation actions. Our research is basically a review that examines various CMLs to determine which ones exhibit the desired characteristics and perform a classification analysis on them.