# Modeling and Simulation Tools for Fog Computing--A Comprehensive Survey from a Cost Perspective
## 5 Simulation Tools
### Discussion  
In Table 4 we try to draw a technical comparison of the simulators, based on their capabilities. As can be seen, the existing simulators provide only partial coverage of the requirements for simulation in fog computing. Almost all of them support different devices or other equipment to build the fog system (column \"Infrastructure\"), but they differ in terms of the attributes they support, or in terms of their connections. For example, FogNetSim++ provides a flexible network model and YAFS supports a multitude of network topologies, but Edge-Fog provides only tree topologies. Also, most of them include a resource management module to support application execution. Some are distinguished for a unique feature. For example, FogWorkFlowSim is an easy to use simulator, as it provides a web API for online execution. FogBus introduces a tool to analyze Sleep Apnea. Although it is not practical \begin{table}
\begin{tabular}{p{56.9 pt} p{56.9 pt} p{56.9 pt} p{56.9 pt} p{56.9 pt}} \hline \hline
**Year** & **Simulator** &
\begin{tabular}{c} **Implementation** \\ **Technologies** \\ \end{tabular} & **Metrics** & **Objective** & **Citations** \\ \hline
2016 & Edge-Fog [23] & Python & &
\begin{tabular}{c} Distribute task \\ processing on \\ the participating \\ cloud resources \\ \end{tabular} & 73 \\ \hline
2017 & FogTorch [64] & Java & \
\begin{tabular}{c} QoS, reliability of links \\ and nodes, power \\ consumption, security, \\ monetary costs \\ \end{tabular} &
\begin{tabular}{c} Find eligible \\ deployments of \\ an application over \\ a fog infrastructure \\ \end{tabular} & 173 \\ \hline
2017 & FogTorchII [65] & \begin{tabular}{c} Extension of \\ FogTorch \\ \end{tabular} & \
\begin{tabular}{c} Resource utilization \\ and QoS accuracy \\ \end{tabular} &
\begin{tabular}{c} Same as FogTorch \\ and many QoS \\ profile according to \\ a probability distribution \\ \end{tabular} & 51 \\ \hline
2017 & iFogSim [35] & \begin{tabular}{c} Extension of CloudSim, \\ Java, JSON \\ \end{tabular} & \
\begin{tabular}{c} Energy consumption, \\ network congestion, \\ and operational costs \\ \end{tabular} &
\begin{tabular}{c} Performance of resource \\ management policies \\ \end{tabular} & 509 \\ \hline
2017 & MyiFogSim [34] & Extension of iFogSim & Latency & Resource allocation & 38 \\ \hline
2018 & FogDirSim [70] & RESTful API, Python & \
\begin{tabular}{c} Performance in terms \\ of uptime, energy \\ consumption, \\ resource usage \\ \end{tabular} &
\begin{tabular}{c} Compare application \\ management and \\ infrastructure \\ management policies \\ \end{tabular} & 4 \\ \hline
2018 & FogNetSim++ [63] & based on OMNeT++ & \
\begin{tabular}{c} Energy module, \\ scheduling algorithms, \\ pricing model \\ \end{tabular} &
\begin{tabular}{c} General simulation of \\ fog environments \\ \end{tabular} & 25 \\ \hline
2019 & FogWorkFlowSim [72] & Java & \
\begin{tabular}{c} Performance \\ (time, energy and \\ processing cost) \\ \end{tabular} &
\begin{tabular}{c} Evaluate resource \\ and task \\ management strategies \\ \end{tabular} & \\ \hline
2019 & OPNET [73] & \
\begin{tabular}{c} Visual studio, based \\ on OPNET \\ \end{tabular} & Processing time &
\begin{tabular}{c} Cope with the \\ massive amount \\ of confidential and \\ security-sensitive data \\ \end{tabular} & 3 \\ \hline
2019 & YAFS [68] & Python, JSON & \
\begin{tabular}{c} Energy models, \\ network utilization, \\ response time, \\ network delay \\ \end{tabular} &
\begin{tabular}{c} Analyze the design \\ and deployment of \\ applications \\ \end{tabular} & 7 \\ \hline
2019 & FogDirMime [69] & Python &
\begin{tabular}{c} Support \\ FogDirector [77] \\ \end{tabular} & 9 \\ \hline
2019 & Fogbus [71] & \
\begin{tabular}{c} Latency, energy, \\ network and CPU \\ usage \\ \end{tabular} &
\begin{tabular}{c} \\ 27 \\ \end{tabular} \\ \hline
2020 & MobFogSim [5] & Extends iFogSim & Same as iFogSim &
\begin{tabular}{c} Evaluate application \\ behaviour and \\ performance \\ \end{tabular} & 0 \\ \hline \hline \end{tabular}
\end{table} 
Table 3: Simulator tools for fog computing.