# Fuzzy Multi-Criteria Based Trust Management in Heterogeneous Federated Future Internet Testbeds
## 3 Proposed Fuzzy VIKOR Reputation System
### User's Credibility  
The modified fuzzy VIKOR considers the credibility of the user for computing the reputation score in order to prevent malicious users from giving misleading evaluations. The QoE KPIs are excluded from our credibility mechanism, since they are subjective opinions of the experimenter and cannot be compared with any real measurement. On the contrary, the QoS KPIs can be compared with objective SLA and monitoring data, which consist of the ground truth of every experiment. Some reputation mechanisms, i.e., FTUE [8], define different categories of experimenters based on the comparison between their past evaluations and monitoring data, and their credibility varies accordingly. In our case, we do not assume any category of user's behavior. Our proposed mechanism leverages SLA and monitoring data to infer and update the credibility of experimenters in the federated environment. Algorithm 1, presented below, shows how the user's credibility is calculated for a testbed of the experiment. If the experiment used more than one testbed, the credibility value was sequentially calculated for every testbed. The inputs of the credibility algorithm are the user opinion vector \({U}O=[{U}O_{i}]^{\top},\;i=1,\ldots,k\) containing the evaluations of the \(k\) QoS KPIs of the testbed, the SLA data vector \(SD=[{S}{D}_{i}]^{\top},\;i=1,\ldots,k\) and the monitoring data vector \(MD=[{M}{D}_{i}]^{\top},\;i=1,\ldots,k\), which contain the respective SLA and monitoring values for these KPIs. The output of the algorithm is the updated user's credibility \(CR\) and the modified user opinion vector \(\widehat{U}O=[\widehat{U}{O}_{i}]^{\top},\;i=1,\ldots,k\) (Lines 1-2). For all KPIs of an involved testbed, four possible cases are identified (Lines 4-7). In the first case, named \(CASE1\), the user's opinion and the monitoring value for a specific KPI are smaller than the SLA value, while in the second case, CASE2, both user's opinion and monitoring data satisfy the SLA. In CASE3 and CASE4, there is a significant deviation between the user's opinion and the monitoring data with respect to the predetermined SLA value. These cases correspond to suspicious ratings. More specifically, in CASE3, the user's opinion is lower than the SLA value, while the monitoring data show that the SLA is satisfied. In CASE4, the monitoring data are lower than the SLA value, while the user's rating is higher than the SLA value. Then, the relative errors of the monitoring and opinion values and the relative distance between the user's opinion and the actual monitoring value regarding the SLA are defined (Lines 8-9). The elements of the correction vector, \(C=[c_{i}]^{\top},\;i=1,\ldots,k\), are actually the credibility value of each KPI. The values of the elements of \(C\) depend on which of the above cases is satisfied. The user's credibility for an experiment is calculated as the average value of the correction vector. Then, the overall user's credibility is updated (Lines 11-20). Furthermore, the user' opinion is updated according to the previously-defined cases (Lines 21-35). The modified opinions \(\widehat{U}O\) are used in Step 4 of the fuzzy VIKOR.