# Trust-Aware Fog-Based IoT Environments: Artificial Reasoning Approach
## 6 Results and Discussion  
### Agility of the Trust Model  
Figure 5 shows the trust evolution when all recommenders are honest. In these experiments, \(FC_{17}\) predicts the trust level of \(FC_{27}\). During these sets of experiments, we also varied the value of \(\lambda\) and the percentages of malicious (i.e., untrustworthy) nodes. It should be noted that GT-Normal means all nodes are trustworthy and GT-Malicious means all node are malicious (i.e., untrustworthy). Since there are zero dishonest recommenders, it can be observed that combining direct trust and reputation (i.e., when \(\lambda\
eq 0\)) outperforms trust prediction when \(\lambda=0\). Because all recommenders are honest, reputation reinforces direct trust, and therefore combining these two components yields a higher trust level prediction than relying on only one of them. For example, when \(\lambda=0.5\) and \(0.7\), the trust level converges much faster than when \(\lambda=0\). It should be noted that this fact holds true for all percentages of malicious (i.e., untrustworthy) nodes. Since we are relying on honest recommenders (i.e., recommenders that \begin{table}
\begin{tabular}{c c c} \hline \hline
**Symbol** & **Definition** & **Design Parameter Values** \\ \hline \(FCD_{num}\) & Number of FCDs & 3 \\ \(Nodes_{num}\) & \# of members & 16 \\ \(B\) & Belief & 0.5 \\ \(D\) & Disbelief & 0.5 \\ \(U\) & Uncertainty & 0.5 \\ \(A\) & Atomicity & 1 \\ \(\lambda\) & Direct trust weight & \([0.0,0.5,0.7,0.9]\) \\ \(Dis_{num}\) & \# of dishonest nodes & \([0\%,10\%,30\%,50\%]\) \\ \(Unt_{num}\) & \# of untrustworthy nodes & \([0\%,10\%,30\%,50\%]\) \\ \hline \hline \end{tabular}
\end{table} 
Table 7: Design parameters used in the simulation. Figure 5: For zero dishonest nodes, evolution of trust where \(\lambda\) value is: (**a**) 1, (**b**) 0, (**c**) 0.5 and (**d**) 0.7.  
do not lie), reputation reports are not false and therefore the trust level computation is not polluted. Ideally, trust models wants to hinder dishonest recommenders from contributing to trust level calculation. As such, the impact of \(\lambda\) is almost negligible on predicting the trust level. This is inline with our expectation since the environment under study consists of honest recommenders. In the next set of experiments (i.e., Figure 6), we investigate the impact of dishonest recommenders that attempt to contaminate the IoT environment by intentionally providing fake recommendations. We measure such impact while varying the value of \(\lambda\). In these experiments, we evaluated the Global (i.e., combining direct trust and reputation), Direct (i.e., only using the direct trust component), and Reputation (i.e., only using the reputation component). This is basically the evaluation of Algorithm 1 line #9. The reason for this is to evaluate the effect of the two components (i.e., direct trust and reputation) on the prediction of the trust level (Global). Fog 6 is configured as a dishonest recommender, and all member nodes of \(FCD_{27}\) are malicious (i.e., untrustworthy). From the obtained results, increasing \(\lambda\) reduces the effect of dishonest recommenders as shown in Figure 6d. On the other hand, when \(\lambda=0.1\) (shown in Figure 6a), the predicted trust level of \(FCD_{27}\) is above 0.75 meaning that \(FCD_{27}\) is trustworthy while all of \(FCD_{27}\) members are untrustworthy. This wrong prediction is caused by giving more weight to the reputation component in calculating \(FCD_{27}\) trust level. Therefore, we can conclude that relying on direct trust converges to an acceptable predicted trust level. Relying on direct trust, however, does not exploit cooperation which is a main goal of IoT systems. On the other hand, a reputation-based model can converge to a high success rate but as the number of dishonest recommenders increases, the trust model becomes sensitive to these dishonest recommenders. Figure 6: Evolution of trust when there are dishonest recommenders where \(\lambda\) value is: (**a**) 0.1, (**b**) 0.3, (**c**) 0.5 and (**d**) 0.9.