## 2 Related Work  
The development of simulation tools for Fog computing is still in its infancy. Roughly speaking, the major part of the current contributions constitute the follow up of some (quite recent) toolkits designed for the simulation of the (somewhat more consolidated) environment of Cloud computing and, then, account for a limited number of specific aspects of the Fog computing paradigm. Under this perspective, an overview of the current open literature leads to the conclusion that the development of simulation tools for Cloud-Fog computing platforms has proceeded along three main research lines. The first (somewhat more traditional) research line leads to the development of toolboxes for the software simulation of networked large-scale Cloud data centers [8; 9; 10]. In this regard, CloudSim [8] is a broad simulation toolkit that allows modeling and simulation of applications on a remote Cloud platform according to the Infrastructure-as-a-Service provisioning model. It allows the user to setup a customized modeling of the major building blocks of conventional Cloud infrastructures, like Virtual Machines (VMs), resource provisioning policies, resource consolidation policies, and VM migration policies. As a consequence, at the present time, CloudSim seems to be the most popular simulator for Cloud computing scenarios. However, although the Fog and Cloud computing paradigms share some virtualization features that, in principle, enable the re-use of some Cloud solutions even for Fog computing (see Table 1), the Fog environment mainly targets the support of delay-sensitive (possibly mobile) applications. From this point of view, the CloudSim toolkit presents three main deficiencies. First, it does not allow the customized setup of network-related parameters, like the per-link wireless access bandwidths and the round-trip-times of Transport-layer TCP/IP connections. Second, it relies on VM-based virtualization and does not allow the modeling of emerging CNT-based virtualization. Third, the implemented resource allocation policies are of the static-type, and no support for dynamic resource tracking is provided. GreenCloud [9] is a follow up of the NS2 network simulator. Its main focus is on the modeling and simulation of the energy profiles of some main computing and network components of the Cloud ecosystem. Being an extension of the NS2 toolkit, GreenCloud allows the customized setting and simulation of the full TCP/IP protocol stacks equipping the switches of the intra-cloud network. However, it does not account for the Mobile-to-Cloud wireless access links and does not allow the characterization of the submitted application as DAGs. The main goal of iCanCloud [10] is the simulation of Cloud-supported large ecosystems with thousands of served devices through a suitable extension of the native OMNeT++ platform. Hence, scalability being the main concern of this toolkit, it does not support dynamic resource tracking and per-device performance optimization. A second more recent research line attempts to address the (aforementioned) deficiencies of Cloud-oriented toolkits by explicitly accounting for the specific features of real Fog platforms for the support of IoT-based sensor applications [11; 12; 13]. Under this perspective, SimIOT [11] equips the (previously-developed) SimIC [14] simulator by including a bottom IoT layer, in order to allow the user to model the request of Cloud resources of a settable number of sensor/actuator devices. This is obtained by including a communication broker module atop the native SimIC platform, in order to gather the sensed data and redirect them to the SimIC Cloud agents. As a consequence, SimIOT explicitly lacks support of an intermediate Fog layer. IOTSim [12] is implemented as an extension of (aforementioned) CloudSim. It is targeted to the simulation of Fog computing environments in which sensor-acquired big data streams have to be quickly processed.