## 2 WSN Simulators  
Many researchers have proposed several simulators to predict the behavior and performance of WSNs. There are the Network Simulator-3 (NS-3) [18], the Objective Modular Network Testbed in C++ (OMNET++) [19], TinyOS simulator (TOSSIM) [16], probabilistic wireless network simulator (Prowler) [27; 28], simple NEST application simulator (Siesta) [29], Ashut [30], routing modeling application simulation environment (Rmase) [30], a sensor, environment and network simulator (SENS) [31], Fine-Grained Sensor Network Simulator (ATEMU) [32] and Avrora [17]. NS-3 and OMNET ++ use the IEEE 802.15.4 standard [33] to evaluate protocols and algorithms based on a general-purpose network simulator. The other simulators are widely used as hybrid simulations that connect directly to physical sensors on a hardware platform. In addition, the recently proposed CupCarbon [34; 35] is a new platform for designing and simulating a smart city and Internet of things based on WSNs. NS-3 supplements the disadvantages of unnecessary coupling, complex structure, and low flexibility from NS-2 [36]. The NS-3 provides a user-friendly environment for choosing between C++ and Python languages. In addition, this simulator is an open-source network simulator that operates in a discrete, event-based simulation. The simulator uses various modules that modeled network topology and communication methods such as Zigbee, WiFi, and LTE. The simulator monitors network traffic using several tools such as FlowMonitor [37] and Wireshark [38]. Although the NS-3 is widely used for network simulations, it is not enough to study specific libraries (routing protocols, security protocols etc.) for a sensor network compared to regular network simulators [39]. OMNET++ is a modular discrete event network simulation framework used primarily for building network simulators. The OMNeT++ offers a low complexity compared to the NS-2 and the NS-3 by mandating the communication between modules using predefined connections. This framework is regarded as an extensible, modular and component-based C++ simulation library framework for building wireless network simulations. Basically, the OMNeT++ is not a simulator but it provides frameworks and tools for writing simulation scenarios. The OMNeT++ is not enough to perform simulations with large sensor nodes like the NS-3. TOSSIM, Prowler, Siesta, and Rmase were developed in the network embedded software technology (NEST) project. The TOSSIM verifies the behavior of TinyOS and applications on sensor nodes, and Prowler evaluates the algorithms of wireless networks. Siesta is a middleware simulator that validates NEST applications and middleware functionality, and Rmase evaluates network topology and routing protocol functionality based on Prowler. TinyOS Scalable Simulation Framework (TOSSF), PowerTOSSIM, and Tython have been proposed to resolve these problems, but still depend on specific software [40; 41]. SENS provides a simulation environment that organizes applications, network communications, and the physical environment into modules. This simulator also depends on specific libraries. ATEMU simulates sequentially at the system clock interval of the sensor, while Avrora runs one thread per node; those threads synchronize only when necessary. Al though these simulators can predict resource usage, it is difficult to simulate a large number of sensors due to the long simulation time according to the high simulation precision. CupCarbon is a Smart City and Internet of Things Wireless Sensor Network (SCIWSN) simulator based on multi-agent and discrete event simulation. This simulator can model and simulate sensor networks on a digital geographic interface of OpenStreetMap. The simulator's objective is to design, visualize, debug, and validate distributed algorithms for monitoring, environmental data collection, etc. In addition, the simulator creates environmental scenarios such as fires, gas, mobiles. It supports scientists in testing their wireless topologies and protocols.