# Simulating Fog and Edge Computing Scenarios: An Overview and Research Challenges
## 3 Fog and Edge Modelling and Simulation Tools
Furthermore, _EmuFog_ does not support hierarchical fog infrastructures. _Fogbed_[69] is another emulator which extends the network emulator _Mininet_[70] framework to allow the use of Docker containers as virtual nodes. It provides capabilities to build cloud and fog testbeds. The _Fogbed_ API enables adding, connecting and removing containers dynamically from the network topology. These features allow for the emulation of real-world cloud and fog infrastructures in which compute instances can be started and terminated at any point in time. Also, it is possible to change the run-time resource limitations for a container, such as CPU time and memory available. However, _Fogbed_ does not yet support key aspects of fog computing including security, fault tolerance, scalability and reliability management. Table 1 summarises the above simulator tools against six key qualitative attributes: (i) computing paradigm (target system), (ii) infrastructure-level modelling, (iii) application-level modelling, (iv) resource management modelling, (v) mobility, and (vi) scalability. \begin{table}
\begin{tabular}{l l l l l l l l} \hline
**Attributes** & **FogNetSim++** & **irgeSim** & **FogTorchH** & **EdgeCloudSim** & **IOTSim** & **EmmFog** & **Fogbed** \\ \hline Computing paradigm & Fog computing & Fog computing & Fog computing & Edge computing & Edge computing & Fog computing & Fog computing & Fog computing \\ (target system) & (general) & (general) & (general) & (GnT) & (IoT) & (general) & (general) \\ \hline \multirow{4}{*}{\begin{tabular}{} \end{tabular} } & Distributed data centres & Cloud data centres & & & & \\  & Sensors & Sensors & Cloud data centres & & & & \\  & Fog nodes & Actuators & & & & & \\  & Refer & Fog devices & Latency & Network links & Cloud data centre & Network links & Virtual nodes \\  & Network links & Network links & Bandwidth & Edge servers & Latency & Fog nodes & Insurance API \\  & Delay & Delay & & WLAN and LAN delay & Bandwidth & & \\  & Handovers & Network usage & Bandwidth & & & \\  & Bandwidth & Energy consumption & & & & \\ \hline Application level & \multirow{2}{*}{\begin{tabular}{} \end{tabular} } & Data stream processing & Fog applications & Mobile edge & IoT & Fog & Fog network \\  & & Stream-processing & & & & & & \\ \hline \multirow{4}{*}{\
\begin{tabular}{} \end{tabular} } & Resource management & Resource consumption & Resource consumption & Resource consumption & & Resource consumption & & & \\  & (RAM and CPU) & Power consumption & (RAM and storage) & (RAM and CPU) & (RAM, CPU and storage) & Workload & Bandwidth \\  & & Allocation policies & & Failure due to mobility & & & & \\  & & & & & & & \\ \hline Mobility & Yes & No & No & Yes & No & No & \\ \hline \multirow{4}{*}{
\begin{tabular}{} \end{tabular} } & Yes & No & No & No & Yes & & \\  & & No & No & No & & & \\ \hline \end{tabular}
\end{table} 
Table 1: Fog and Edge Simulator Tools: Comparative Study. In summary, despite an increase interest on fog and edge computing, research on suitable simulation frameworks to support the requirements of this domain is lagging (see Table 1). Most of the existing simulation tools, albeit a small number, place a greater emphasis on fog computing. They have significant limitations in scalability and mobility support. All the existing simulators use DES at their core and the dependence on _CloudSim_ for three of the simulators places an additional limitation to them particularly in terms of scalability. Therefore, there is an urgent need for simulation tools with greater coverage of characteristics of fog and edge computing. [PERSON] et al. (2017) argue that purely simulated environments and real testbeds are not sufficiently representative of real world scenarios and/or are unacceptably expensive. As such, they suggest that a hybrid _pseudo-dynamic testing_ approach may increase verisimilitude by simulating a portion of the experimental scenario, while either emulating the edge and fog nodes under test or executing them in a real environment.