# Modeling and Simulation Tools for Fog Computing--A Comprehensive Survey from a Cost Perspective
## 5 Simulation Tools
### Discussion
to build a specific simulation tools for each specific application area, we are lacking tools that enable generic application simulation. Next we underline the main limitations of fog computing simulation tools. These limitations also represent challenging issues for possible future work. * _Efficiency_: An indicative measure for simulation efficiency is lacking; this could be the execution time, the CPU utilization, the memory consumption, and so forth, but there are only few and limited works with study this issues. An experimental comparison [20] shows that iFogSim has some scalability issues and has higher memory demands than YAFS. * _Cost modeling_: As mentioned previously the presence of a cost model is quite limited in simulators. The cost is a way to quantify how the various parameters affect the operation of a fog computing system and it can be an indispensable tool for operators, developers or users in this area. * _Network infrastructure/configuration:_ In most cases, network models are limited and not suited for experiments aimed at evaluating the network entities and network connections. specifically, they do not usually provide the possibility to define the physical topology, the link characteristics, or the capabilities of networked devices. * _Security consideration:_ Security and privacy protection are among the key technologies of fog computing systems [6]. A wide range of issues including identity management, resource access control, encryption, decryption, authentication and authorization and malicious attacks need to be dealt with. Simulation tools could be particularly helpful, but they currently lack such functionality. The only exception is FogBus which provides an authentication and encryption mechanism. * _Applications integration_: A key question for researchers and developers is related to the needs and requirements of an application to be executed in a fog computing environment. As already mentioned, current tools lack the functionality to simulate most aspects of an application and its activities. * _Extendibility:_ Fog computing is a new paradigm and researchers strive to propose solutions (architectures, applications, models) that have to deal with heterogeneity, mobility, security, scalability, and other related issues. The ability to use a simulator that would allow them to easily integrate a new idea rather than build it from scratch would be very useful. Unfortunately, only a few of the existing simulators (namely FogNetSim++, iFogSim and YAFS) provide some hooks for such functionality. We have also identified some non-technical albeit equally important limitations of contemporary fog simulation tools:  
* _Documentation quality_: In general, there do not exist sufficient documentation materials and detailed tutorials. Typically, there only exist some basic documents related to installation and running the simulator; even this information is missing in a good percentage of the available simulations tools. IFogSim maintains a social media presence with instructional videos, but it comes mainly from the user community, not from the creators themselves. * _Learning curve_: There is not a clear indication about the learning curve of each tool. For example YAFS seems to have a smaller learning curve than iFogSim [20]. While the learning curve also depends on the documentation quality/quantity, a systematic comparison among all tools is lacking. * _Maintenance:_ Although the simulators have been developed relatively recently, some of them seem to be already inactive, as they have not been updated for a quite a few months.