# A Survey on Modeling Languages for Applications Hosted on Cloud-Edge Computing Environments
## 3 Results
### Description of Application Components
The same terminology is utilized in their subsequent research, where they propose the SMADA-Fog framework [12] which presents a deployment model capable of describing the tasks that require deployment on devices. In their proposed TOSCA extension, [PERSON] et al. [20] utilize the term fragments to refer to application components. In contrast, researchers [PERSON] et al. [21; 22] utilize the term Application to denote a container-associated application. Within the Application entity, developers can specify the application's name, port, the Kubernetes port to be utilized, the image repository associated with it, and the minimum memory and CPU requirements for each application component. Meanwhile, developers can define the CPU and memory usage limits within the Container entity. In the Velo DSL [11], application components are represented as containers that need to be deployed on hosts. The container entity within the Velo DSL encompasses various properties such as the Docker image, labels, resources, network ports, protocols, and a logical volume for data access and persistence. While it is common for languages to have the resource property under a host entity, as described in Section 3.6, some languages without host entities describe resources within the application component entities. Furthermore, the Velo DSL introduces the virtual bag entity, which defines a cohesive unit capable of containing one or more containers. This concept shares similarities with the concept of a pod in Kubernetes. Additionally, the Velo DSL distinguishes between two types of virtual bags: svbag, which can accommodate a single container, and mvbag, designed to host multiple containers. The Velo DSL also provides support for defining properties in the metadata of virtual bags. These metadata include the identifier of the virtual bag, the number of instances, the network endpoints accessible to them, the users with authentication privileges, and the version number. It is worth noting that virtual bags serve as the parent entity of containers within the Velo DSL. TOSCA includes the tosca.nodes.SoftwareComponent node type for generic application component representation and the tosca.nodes.Container.Application.Docker node type for Docker container descriptions. Despite TOSCA already providing a means to describe containers, researchers continue to explore ways to simplify the syntax for container descriptions. For instance, [PERSON] et al. [32] extend TOSCA in order to establish a specification standard for container orchestration. This TOSCA extension aims to introduce a more dynamic and expressive description of containers compared to the original TOSCA, incorporating QoS and QoE attributes, as well as relationships, dependencies, and time constraints. Similarly, [PERSON] et al. [18] extend Cloudify's TOSCA to include syntax capable of describing not only container entities but also entities that describe the programming languages and libraries required by a container to run. This approach splits the container's software requirements into three different entities, making it useful for container orchestration in serverless platforms where vessel containers need to be configured at runtime. On the contrary, there are several modeling languages that could be utilized for the representation of application components as pre-installed services on virtual machines. TOSCA, for instance, has the capability to describe application components as virtual machines by extending tosca.nodes.SoftwareComponent. HOT [10] can also describe the deployment of virtual machines on available resources for a declared cloud provider Uni4 Cloud [13], which utilizes OVF, is capable to model and deploy virtual machines with pre-installed services as well. [PERSON] et al. [28] introduce a UML extension that models IaaS, PaaS, and SaaS layers. In the PaaS layer, virtual machines are described in the instance level deployment diagram, as they are instances of physical devices.