# A Survey on Modeling Languages for Applications Hosted on Cloud-Edge Computing Environments
## 3 Results
### Repositories and Images  
Modern CMLs aim to delineate the deployment of application components in both cloud and edge computing environments. Additionally, they should facilitate the declaration of an image repository, specifying the source from which cloud platforms retrieve images to generate the application components.  
In TOSCA, images are defined in the artifacts section, allowing for developers to specify the name, type, and image repository for each image. TOSCA also supports the description of repositories, including external repositories that may contain plain code or virtual machine and/or Docker images. This feature can be particularly helpful during the orchestration phase, where an orchestrator, with the assistance of a reasoner, can read the TOSCA specification and pull the necessary code or image from the specified repositories as needed. [PERSON] et al. [7] explain that the artifact entity is a part of the EDDM syntax. Its role is to fetch a Docker image either from a designated repository or to construct it using a Dockerfile.  
In their work [21], [PERSON] et al. discuss the inclusion of the related Docker image repository within the Application entity. This approach is reasonable in terms of semantics, as deploying an application component as a container typically requires the orchestrator toretrieve the corresponding Docker image from a repository. The same approach seems to be applied by Velo DSL [11], where the Docker image is described by the image property in the container entity. Within the SMADA-Fog's deployment model introduced by [PERSON] et al. [12], there is also a provision for describing the repository and image name within the Task entity, which represents a containerized application component. In their work, [PERSON] et al. [20] present the inclusion of two sections, namely docker_cloud and docker_edge, within the fragment entity. These sections allow for the description of images and image repositories that a platform can utilize to deploy an application component either on the cloud or at the edge.  
Uni4 Cloud [13] uses extra files that include details about ISO and disk images for virtual machines, along with information about their image repositories. These files are used in combination with the OVF description for deployment. Typically, the description of image repositories is placed within the Reference tag, while virtual disks are usually located under the Disk tag.  
There are languages available that can describe images for both containers and virtual machines. [PERSON] et al. [17] propose a TOSCA extension that introduces a custom entity specifically for describing containers, which incorporates the image property. This property requires the inclusion of the Docker image's name, version, and repository prefix indicating its affiliation, following the conventions established by TOSCA for repository descriptions. Additionally, the CML supports entities for describing virtual machines from various cloud providers. These entities include properties such as image_id, instance_type or flavor_name for specifying virtual machine images. It is worth noting that the instance_type and flavor_name properties refer to the size of the running instance for virtual machines, and they are used within different entities corresponding to specific cloud providers.  
However, other CMLs are only capable of describing the image for virtual machines. For instance, in Wrangler [25], the deployment files allow for users to define virtual machine images by specifying the name of the images and the type of instance, which represents the storage size of the virtual machine instance and the target cloud platform. Similarly, in HOT, virtual machine images can be described using the name property to define the desired image name, and the flavor property to define the storage size of the virtual machine instance. Both of these properties are part of the server instance description within the resources section.