# A Survey on Modeling Languages for Applications Hosted on Cloud-Edge Computing Environments
## 3 Results
### Description of QoS and QoE
The utilization of AMPL (A Mathematical Programming Language) within the SMADA-Fog framework [12] allows for the generation of optimization models. AMPL employs expressions that closely resemble traditional algebraic notation while also incorporating extensions to support the definition of network flow constraints and piecewise linearities, thus catering to optimization problems. AMPL is chosen due to its ability to combine and extend the expressive capabilities of similar algebraic modeling languages, making it more versatile while still being user-friendly. However, it is important to note that AMPL itself does not serve as a solver, but rather provides an interface to other programs responsible for solving. In this case, the CPLEX (Concert Platform for Mathematical Programming) ([[https://www.ibm.com/analytics/cplex-optimizer](https://www.ibm.com/analytics/cplex-optimizer)]([https://www.ibm.com/analytics/cplex-optimizer](https://www.ibm.com/analytics/cplex-optimizer))) (accessed on 13 October 2023) is employed as the linear programming solver, utilizing the simplex method for deployment and traffic optimization. SMADA-Fog has the capability to conduct optimization tasks focused on network optimization, minimizing latency, and maximizing execution speed. In Aeolus Blender [33], one of the inputs that Zephyrus reads is a high-level specification of the desired system. In this specification, developers can include objective functions as optimization rules. For example, an optimization rule could be to minimize the number of virtual machines used for deployment, along with consideration of the system cost. Similarly, [PERSON] et al. in their study [20] utilize the optimization_variables section within the fragment entity. This section allows for them to assign weights to factors such as distance, cost, and friendliness when evaluating a provider. The distance factor indicates the geographical proximity between a host of a cloud provider from the centroid edge devices, the cost factor represents the monetary expenses involved, and the friendliness factor denotes the latency experienced when accessing the services of a cloud provider. The optimization weights obtained from the optimization_variables section are leveraged by an optimization solver to apply related policies. In addition, the same research work enables the specification of optimization constraints at the application level, such as allocating a budget of 1000 euros to be utilized over a span of 720 h on a cloud provider, with the objective of minimizing the overall cost. As evident from the findings in Aeolus Blender [33], SYBL is not the only CML that incorporates cost-related metrics. In SYBL [34], users can define thresholds for monitoring metrics while also having the ability to specify QoS goals, similar to how optimization rules are defined in CAMEL [1] and Aeolus Blender [33]. These QoS goals allow for components or applications to express their requirements and optimize costs, showcasing the versatility of these CMLs in addressing various aspects of cloud computing. On the other hand, GENTL [9] approaches the definition of QoS criteria/goals in a different manner. GENTL semantically models these criteria/goals as capabilities or requirements for discovery purposes, encompassing a wide range of functional interface descriptions. This highlights the flexibility and versatility of GENTL in representing QoS criteria/goals in various forms.