# A Survey on Modeling Languages for Applications Hosted on Cloud-Edge Computing Environments
## 2 Review Methodology
### Relevant Surveys  
This section explores several surveys providing valuable insights into the analysis of CMLs. The selected surveys cover the features, benefits, and classification of these languages, providing a comprehensive overview of their status and impact. [PERSON] et al. [2] perform a systematic review, categorizing CMLs based on their language scope, characteristics, modeling capabilities, and tool support. The authors emphasize the importance of CMLs being able to describe both the cloud environment and application components, including their deployment into cloud services. Furthermore, the article explores the use of translators or mechanisms that interpret these languages and convert descriptions into a model that facilitates the provisioning of application components. Similarly, in [4], [PERSON] et al. investigate Fog modeling languages, which are designed to model Fog systems and their distinct features. The authors evaluate the effectiveness of current Fog modeling languages by checking whether they align with the key attributes outlined in their feature model, covering general characteristics and supported tools. According to the feature model, a Fog modeling language can be defined by its scope and several characteristics such as dimension, layer, architecture type, control type, resources, properties, and genericity. For example, the dimension can represent the structure, behavior, or both of a Fog system, while the architecture type can target different kinds of Fog system architectures, such as distinct layers or complementary views. Additionally, a language can focus on significant properties of Fog systems, such as privacy/security, health, performance, or energy. Furthermore, the feature model highlights that a Fog modeling language can be characterized by its definitions, including abstract syntax, concrete syntax, and semantics. It may also have an extension mechanism to refine or expand the language when necessary. Finally, a Fog modeling language is characterized by its support, which encompasses implementation, capabilities, interoperability, exploitation, validation, and documentation. Another study [5] classifies service description languages based on domain, delivery model, coverage, objectives, representation, and semantics. The research work categorizes service description languages into four categories:  
1. Deployment and provisioning languages: These languages focus on describing the deployment of cloud applications and installation of required libraries on virtual host machines. The domain for these languages is exclusively the cloud. 2. Modeling and composition languages: These languages focus on describing features and composition of services that can be used in cloud environments, SOA (Service-Oriented Architectures), or SWS (Semantic Web Services). 3. Discovery and selection languages: These languages focus on matching user requirements with descriptions of available services. Similar to modeling and composition languages, discovery and selection languages work in the domains of cloud, SOA, or SWS, targeting IaaS (Infrastructure as a Service), PaaS (Plaform as a Service), SaaS (Service as a Service), and SaaS (Anything as a Service) infrastructures. * SLA (Service level agreement) languages: These languages focus on describing the functionalities and QoS (Quality of Service) that a cloud provider offers to a customer. This type of language works exclusively at the XaaS layer, targeting the cloud and SOA domains. For each of the above languages, the authors categorize whether the scope is technical, business, or supports both. A systematic literature review on the TOSCA open standard [6] reveals that TOSCA is widely considered as the most important specification for describing the deployment and lifecycle of cloud applications. The review categorizes works and papers based on TOSCA utilization in the following ways:  
* Tools capable of modeling components using TOSCA and deploying applications based on TOSCA models.