# A Survey on Modeling Languages for Applications Hosted on Cloud-Edge Computing Environments
## 2 Review Methodology
### Data Sources and Search Strategy  
A decision was made to utilize the time window spanning from 2011 to 2023, as, from 2011 onward, cloud technologies appeared to be a prominent subject of interest in both the research and enterprise domains. This time window was near the release dates of TOSCA and CAMEL [1]. TOSCA was officially introduced in 2013 [6], but the first papers about TOSCA were already published in 2012. In 2016, the release of the TOSCA Simple YAML profile (a shift from XML to YAML) sparked fresh research interest. Concurrently, in the same year, CAMEL emerged as a promising alternative to TOSCA for describing application components and their behavior in cloud environments. The present survey includes older and newer publications that appeared to be relevant to the stated research questions. Finding the most relevant research works proved to be challenging due to the wide range of research topics related to cloud computing within the past decade. To locate suitable research papers for our study, electronic databases such as Scopus, SpingerLink, ACM Digital Library, and IEEE Xplore were utilized. In our research, the queries performed in each of these libraries include terms shown in Table 1.  
All the terms mentioned above have the potential to yield CMLs with syntax capable of describing the deployment and runtime adaptation of applications in the cloud-edge continuum. To identify CMLs that avoid cloud vendor lock-in issues, the keyword multi-cloud is included. It is crucial to emphasize the supported properties of CMLs that enable deployment and runtime adaptation; hence, additional keywords such as deployment, runtime adaptation, and orchestration are employed. One such keyword is workflows; there exist languages that can depict runtime adaptation through an abstract set of actions. Other CMLs can utilize geolocation constraints to assist orchestrators in selecting a desirable host from a global array. Another vital property of CMLs is their ability to express time constraints. This term is used to identify languages capable of describing constraints based on time, ensuring a higher quality of service. For the same reason, the term time-critical cloud application is used in queries to maximize understanding of the use of time constraints. The syntax used to express runtime adaptation is also significant; there are languages capable of expressing cloud service life cycle or metric-based conditions under which adaptation actions should be applied. CMLs that support conditions in general fall under elasticity specifications. In the context of runtime adaptation, interest also lies in self-adaptive systems that apply CML descriptions to their infrastructure, following a model-driven engineering approach. In a cloud-continuum ecosystem, infrastructure can be located in cloud computing, edge computing, or even fog computing. There are specialized CMLs specifically designed to describe internet of things applications in the cloud-edge continuum. These CMLs are intriguing as they offer different description capabilities than traditional CMLs. Detailed queries can be found in Tables 1 and 2. A substantial number of findings were collected from diverse sources, including 140 research papers from IEEE Xplore, 408 research papers from the ACM Digital Library, 1655 research papers from Scopus, and 3014 research papers from SpringerLink. This resulted in a total of 5217 findings related to the field of Computer Science. However, because of the varying relevance to the scope of our survey, it became necessary to perform manual filtering. To curate the final set of papers, a manual study selection process was executed, following a systematic literature review approach inspired by [PERSON]'s systematic literature review [2]. This process encompassed the establishment of inclusion and exclusion criteria to identify studies with similar objectives. It involved multiple pruning stages, such as removing duplicates, employing whitelist keywords to refine the results, and reviewing the titles and abstracts of the papers.