# A Survey on Modeling Languages for Applications Hosted on Cloud-Edge Computing Environments
## 3 Results
### Description of QoS and QoE
Furthermore, events can also be associated with metrics related to end devices, such as connection speed, signal strength, and various service-related aspects including QoS metrics like latency, framerate, and bitrate, as well as the number of devices utilizing the service. These metrics can subsequently impact the application's QoS by influencing CPU and memory consumption. The adaptation strategy model encompasses a range of actions, including scaling (up/down) rules, re-deployment, latency minimization, traffic filtering, prioritization, and conditioned service creation/shutdown. To incorporate QoS metrics into constraints and conditions, a platform requires robust monitoring systems. In their research [22], [PERSON] et al. employ Prometheus ([[https://prometheus.io/](https://prometheus.io/)]([https://prometheus.io/](https://prometheus.io/))) (accessed on 12 October 2023), along with a node exporter ([[https://github.com/prometheus/node_exporter](https://github.com/prometheus/node_exporter)]([https://github.com/prometheus/node_exporter](https://github.com/prometheus/node_exporter))) (accessed on 12 October 2023) and kube-state-metrics ([[https://github.com/kubernetes/kube-state-metrics](https://github.com/kubernetes/kube-state-metrics)]([https://github.com/kubernetes/kube-state-metrics](https://github.com/kubernetes/kube-state-metrics))) (accessed on 12 October 2023), for collecting infrastructure and pod metrics. Moreover, Prometheus effectively gathers data from the system's MQTT broker topics, such as temperature, humidity, gas levels, and various other sensor data types. These metric collections play a critical role in detecting both QoS events and sensor events. The authors utilize these metrics to define alerts triggering the platform's initiation of the runtime adaptation phase based on the specified QoS conditions/events described in the related model. There are even CMLs that use conditions/constraints to perform different scopes of actions in cloud and edge environments. For instance, the SYBL language [34] provides the ability to write conditions/constraints related to cost, quality, and resources. A developer can utilize a strategy in SYBL by indicating response time as a condition/constraint. For example, the developer could declare that response time should be less than 4 ms when the number of users is less than 1000, and when this rule is violated, the application must scale out. A cloud customer could use SYBL to specify conditions/constraints related to the cost. For example, if the total cost is higher than 800 Euro, a scale-in action is performed to keep costs in acceptable limits. On the other hand, a cloud provider could use SYBL to specify conditions/constraints associated with a pricing schema or a price computation policies. For instance, if the availability is higher than 99 percent, the cost should be increased by 10 percent. This demonstrates how CMLs, like SYBL, enable the specification of conditions/constraints for different stakeholders to manage various aspects of cloud and edge environments. As mentioned previously, CAMEL supports the declaration of optimization objectives. However, CAMEL [1] is not the only CML that supports optimization objectives/rules. In many CMLs, optimization objectives/rules are typically written in the form of key-value pairs, rather than following a threshold-based approach. In CAMEL [1], optimization rules are considered as requirements, allowing for users to specify monitoring metrics in requirements package, specifically in the optimization requirement section, which can be minimized. CAMEL also supports the inclusion of QoS constraints in the cloud provider-independent model, where developers can describe virtual machine application components, virtual machine locations, and service-level objectives for these components. This demonstrates how CAMEL provides flexibility in defining requirements and constraints for cloud applications in a provider-independent manner.